aboutsummaryrefslogtreecommitdiff
path: root/gcc/simplify-rtx.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@nextmovesoftware.com>2020-07-23 18:48:54 +0100
committerRoger Sayle <roger@nextmovesoftware.com>2020-07-23 18:48:54 +0100
commitd4b3ea941b1a15cadb79e7ff8a36891131f8804b (patch)
tree7e59367812ceecf84f0a9b48f9a80d818c076ff2 /gcc/simplify-rtx.c
parent914966e499dfe0861127447bc72c9071e80a4a9b (diff)
downloadgcc-d4b3ea941b1a15cadb79e7ff8a36891131f8804b.zip
gcc-d4b3ea941b1a15cadb79e7ff8a36891131f8804b.tar.gz
gcc-d4b3ea941b1a15cadb79e7ff8a36891131f8804b.tar.bz2
Resolve regression rtl-optimization/96298. Sorry for the breakage.
2020-07-23 Roger Sayle <roger@nextmovesoftware.com> gcc/ChangeLog PR rtl-optimization/96298 * simplify-rtx.c (simplify_binary_operation_1) [XOR]: Xor doesn't distribute over xor, so (a^b)^(c^b) is not the same as (a^c)^b.
Diffstat (limited to 'gcc/simplify-rtx.c')
-rw-r--r--gcc/simplify-rtx.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index e631da4..d221168 100644
--- a/gcc/simplify-rtx.c
+++ b/gcc/simplify-rtx.c
@@ -3372,7 +3372,6 @@ simplify_binary_operation_1 (enum rtx_code code, machine_mode mode,
/* Convert (xor (and A C) (and B C)) into (and (xor A B) C). */
if (GET_CODE (op0) == GET_CODE (op1)
&& (GET_CODE (op0) == AND
- || GET_CODE (op0) == XOR
|| GET_CODE (op0) == LSHIFTRT
|| GET_CODE (op0) == ASHIFTRT
|| GET_CODE (op0) == ASHIFT