Hi,
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
From 89922547118e716b41ddf6edefb274322193f25c Mon Sep 17 00:00:00 2001
From: Andre Simoes Dias Vieira <andsi...@arm.com>
Date: Thu, 15 Oct 2015 12:48:26 +0100
Subject: [PATCH] Fix for xor-and.c test
---
gcc/testsuite/gcc.target/arm/xor-and.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/testsuite/gcc.target/arm/xor-and.c b/gcc/testsuite/gcc.target/arm/xor-and.c
index 53dff85f8f780fb99a93bbcc24180a3d0d5d3be9..3715530cd7bf9ad8abb24cb21cd51ae3802079e8 100644
--- a/gcc/testsuite/gcc.target/arm/xor-and.c
+++ b/gcc/testsuite/gcc.target/arm/xor-and.c
@@ -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" } } */
--
1.9.1