re PR target/54700 (Optimize away x<0 as mask argument of a blend.)
authorJakub Jelinek <jakub@redhat.com>
Thu, 29 Nov 2018 14:33:27 +0000 (15:33 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 29 Nov 2018 14:33:27 +0000 (15:33 +0100)
commitfe907c1fd2f32ce3bd62faf1bd83c36f80fa6414
tree351830f5adba5d433867f9262397b5cef2762e66
parentf06e47d7b644b4598a85f89eb76c13298e6e5d9f
re PR target/54700 (Optimize away x<0 as mask argument of a blend.)

PR target/54700
* config/i386/sse.md (ssebytemode): Add V16SI, V8SI and V4SI entries.
(ssefltmodesuffix, ssefltvecmode): New define_mode_attrs.
(*<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>_lt,
*<sse4_1>_blendv<ssefltmodesuffix><avxsizesuffix>_ltint,
*<sse4_1_avx2>_pblendvb_lt): New define_insns.

* g++.target/i386/sse4_1-pr54700-1.C: New test.
* g++.target/i386/sse4_1-pr54700-2.C: New test.
* g++.target/i386/avx-pr54700-1.C: New test.
* g++.target/i386/avx-pr54700-2.C: New test.
* g++.target/i386/avx2-pr54700-1.C: New test.
* g++.target/i386/avx2-pr54700-2.C: New test.
* g++.target/i386/sse4_1-check.h: New file.
* g++.target/i386/avx-check.h: New file.
* g++.target/i386/avx2-check.h: New file.
* g++.target/i386/m128-check.h: New file.
* g++.target/i386/m256-check.h: New file.
* g++.target/i386/avx-os-support.h: New file.

From-SVN: r266621
15 files changed:
gcc/ChangeLog
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/g++.target/i386/avx-check.h [new file with mode: 0644]
gcc/testsuite/g++.target/i386/avx-os-support.h [new file with mode: 0644]
gcc/testsuite/g++.target/i386/avx-pr54700-1.C [new file with mode: 0644]
gcc/testsuite/g++.target/i386/avx-pr54700-2.C [new file with mode: 0644]
gcc/testsuite/g++.target/i386/avx2-check.h [new file with mode: 0644]
gcc/testsuite/g++.target/i386/avx2-pr54700-1.C [new file with mode: 0644]
gcc/testsuite/g++.target/i386/avx2-pr54700-2.C [new file with mode: 0644]
gcc/testsuite/g++.target/i386/m128-check.h [new file with mode: 0644]
gcc/testsuite/g++.target/i386/m256-check.h [new file with mode: 0644]
gcc/testsuite/g++.target/i386/sse4_1-check.h [new file with mode: 0644]
gcc/testsuite/g++.target/i386/sse4_1-pr54700-1.C [new file with mode: 0644]
gcc/testsuite/g++.target/i386/sse4_1-pr54700-2.C [new file with mode: 0644]