diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1994-07-21 15:06:05 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1994-07-21 15:06:05 -0700 |
commit | 787745f56c13fb51357a4fa580cc8c4b37aae924 (patch) | |
tree | 7a2864cfdc1e9734e5e43c8c559fac424e1ae0ca | |
parent | 6fc7c517d571f4c666b9b1a8764759ea4a2d3496 (diff) | |
download | gcc-787745f56c13fb51357a4fa580cc8c4b37aae924.zip gcc-787745f56c13fb51357a4fa580cc8c4b37aae924.tar.gz gcc-787745f56c13fb51357a4fa580cc8c4b37aae924.tar.bz2 |
(simplify_rtx): For (not (xor X C)) generate new rtx
instead of modifying old rtx.
From-SVN: r7788
-rw-r--r-- | gcc/combine.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 990fa4d..9307af2 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -3261,10 +3261,7 @@ simplify_rtx (x, op0_mode, last, in_dest) && (temp = simplify_unary_operation (NOT, mode, XEXP (XEXP (x, 0), 1), mode)) != 0) - { - SUBST (XEXP (XEXP (x, 0), 1), temp); - return XEXP (x, 0); - } + return gen_binary (XOR, mode, XEXP (XEXP (x, 0), 0), temp); /* (not (ashift 1 X)) is (rotate ~1 X). We used to do this for operands other than 1, but that is not valid. We could do a similar |