[PATCH][ARM] Fix for testcase after r228661
authorAndre Vieira <andre.simoesdiasvieira@arm.com>
Thu, 22 Oct 2015 05:12:32 +0000 (05:12 +0000)
committerRamana Radhakrishnan <ramana@gcc.gnu.org>
Thu, 22 Oct 2015 05:12:32 +0000 (05:12 +0000)
This patch addresses PR-67948 by changing the xor-and.c test,
initially written for a simplify-rtx pattern, to make it pass post
r228661 (see
https://gcc.gnu.org/ml/gcc-patches/2015-10/msg00676.html). This test
no longer triggered the simplify-rtx pattern it was written for prior
to r228661, though other optimizations did lead to the same assembly
the test checked for. The optimization added with r228661 matches the
pattern used in the test and optimizes it to a better and still valid
sequence. Being unable to easily change the test to trigger the
original simplify-rtx pattern, I chose to change it to pass with the
new produced assembly sequence.

This is correct because the transformation is valid and it yields a
more efficient pattern. However, as I pointed out before this test
doesn't test the optimization it originally was intended for.

Tested by running regression tests for armv6.

Is this OK to commit?

Thanks, Andre

2015-10-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>

PR testsuite/67948
* gcc.target/arm/xor-and.c: Adjust test to check for eor
instead of orr.

From-SVN: r229161

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/xor-and.c

index b952ac76bcda917a0f42af16f72f00c516550c09..3bcbe96c5f1d842360a9bd0c81edc7534a6afcd9 100644 (file)
@@ -1,3 +1,9 @@
+2015-10-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR testsuite/67948
+       * gcc.target/arm/xor-and.c: Adjust test to check for eor
+       instead of orr.
+
 2015-10-22  Jiong Wang  <jiong.wang@arm.com>
            Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
 
index 53dff85f8f780fb99a93bbcc24180a3d0d5d3be9..3715530cd7bf9ad8abb24cb21cd51ae3802079e8 100644 (file)
@@ -10,6 +10,6 @@ unsigned short foo (unsigned short x)
   return x;
 }
 
-/* { dg-final { scan-assembler "orr" } } */
+/* { dg-final { scan-assembler "eor" } } */
 /* { dg-final { scan-assembler-not "mvn" } } */
 /* { dg-final { scan-assembler-not "uxth" } } */