simplify-rtx.c (simplify_binary_operation_1): Handle VEC_MERGE.
authorMarc Glisse <marc.glisse@inria.fr>
Wed, 3 Apr 2013 09:44:28 +0000 (11:44 +0200)
committerMarc Glisse <glisse@gcc.gnu.org>
Wed, 3 Apr 2013 09:44:28 +0000 (09:44 +0000)
commitda694a7701bc6c2defe09cc590166de096dd26da
treeece4f79c1b1627fac4524994f1ce7a3179e31280
parent4e7d7b3d5d5cefd5e19a736a83c3077f7c95baad
simplify-rtx.c (simplify_binary_operation_1): Handle VEC_MERGE.

2013-04-03  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
Handle VEC_MERGE.
(simplify_ternary_operation) <VEC_MERGE>: Use unsigned HOST_WIDE_INT
for masks. Test for side effects. Handle nested VEC_MERGE. Handle
equal arguments.

gcc/testsuite/
* gcc.target/i386/merge-1.c: New testcase.
* gcc.target/i386/avx2-vpblendd128-1.c: Make it non-trivial.

From-SVN: r197394
gcc/ChangeLog
gcc/simplify-rtx.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx2-vpblendd128-1.c
gcc/testsuite/gcc.target/i386/merge-1.c [new file with mode: 0644]