From: Roger Sayle Date: Thu, 23 Jul 2020 17:48:54 +0000 (+0100) Subject: Resolve regression rtl-optimization/96298. Sorry for the breakage. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d4b3ea941b1a15cadb79e7ff8a36891131f8804b;p=gcc.git Resolve regression rtl-optimization/96298. Sorry for the breakage. 2020-07-23 Roger Sayle 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. --- diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index e631da48477..d2211686acc 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