Relax check against commuting XOR and ASHIFTRT in combine.c
authorAlan Lawrence <alan.lawrence@arm.com>
Tue, 23 Sep 2014 18:48:50 +0000 (18:48 +0000)
committerAlan Lawrence <alalaw01@gcc.gnu.org>
Tue, 23 Sep 2014 18:48:50 +0000 (18:48 +0000)
commited052e94aa6ed5dba5e0cdbcc6598e26c01a4155
tree47cef1bb0f85000c179234d0ef6b784b47d581b6
parent43b1b9edfcd5aeb8fe5ca012c81cdd8d4259de04
Relax check against commuting XOR and ASHIFTRT in combine.c

gcc/:
* combine.c (simplify_shift_const_1): Allow commuting (ashiftrt (xor))
when result_mode == shift_mode.

gcc/testsuite/:
* gcc.dg/combine_ashiftrt_1.c: New test.
* gcc.dg/combine_ashiftrt_2.c: Likewise.
* gcc.target/aarch64/singleton_intrinsics_1.c: Remove scan-assembler
workarounds for cmge.
* gcc.target/aarch64/simd/int_comparisons_1.c: Likewise; also check for
absence of mvn.

From-SVN: r215531
gcc/ChangeLog
gcc/combine.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/combine_ashiftrt_1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/combine_ashiftrt_2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/simd/int_comparisons_1.c
gcc/testsuite/gcc.target/aarch64/singleton_intrinsics_1.c