* config/i386/sse.md (reduc_umin_v8hi): New pattern.
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 Oct 2011 16:08:04 +0000 (16:08 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 Oct 2011 16:08:04 +0000 (16:08 +0000)
commite529f590ddf91264083fc20867cdbbff671d1240
tree4294158cd9016ef9a0d5e6b259c6ef0c407cd9a4
parente4fc8eb243493db741ae0e9f5072db8af93d60d9
* config/i386/sse.md (reduc_umin_v8hi): New pattern.
* config/i386/i386.c (ix86_build_const_vector): Handle
also V32QI, V16QI, V16HI and V8HI modes.
(emit_reduc_half): New function.
(ix86_expand_reduc): Use phminposuw insn for V8HImode UMIN.
Use emit_reduc_half helper function.

* gcc.target/i386/sse4_1-phminposuw-2.c: New test.
* gcc.target/i386/sse4_1-phminposuw-3.c: New test.
* gcc.target/i386/avx-vphminposuw-2.c: New test.
* gcc.target/i386/avx-vphminposuw-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179929 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx-vphminposuw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx-vphminposuw-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse4_1-phminposuw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse4_1-phminposuw-3.c [new file with mode: 0644]