summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-20 17:47:03 +0000
committerdnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-20 17:47:03 +0000
commit90e23c1b4b92b490139d1e4524d24306685f767e (patch)
tree80b132f48254c998cfcc24e34efdde11c02cd987
parentfad8575f6045085a11d2414a231f9ec9e96ac4eb (diff)
downloadppe42-gcc-90e23c1b4b92b490139d1e4524d24306685f767e.tar.gz
ppe42-gcc-90e23c1b4b92b490139d1e4524d24306685f767e.zip
* combine.c (combine_simplify_rtx): Generate a new shift operation
when simplifying the first operand of a (neg (ashift)) expression. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44202 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/combine.c5
2 files changed, 6 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bfa00fa5d82..768715ea0e4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-07-20 Diego Novillo <dnovillo@redhat.com>
+
+ * combine.c (combine_simplify_rtx): Generate a new shift operation
+ when simplifying the first operand of a (neg (ashift)) expression.
+
2001-07-20 Roman Lechtchinsky <rl@cs.tu-berlin.de>
* regclass.c (N_REG_INTS): Use only 32 bits per element.
diff --git a/gcc/combine.c b/gcc/combine.c
index 8658aadbddb..724e9ef1397 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -3921,10 +3921,7 @@ combine_simplify_rtx (x, op0_mode, last, in_dest)
temp = simplify_unary_operation (NEG, mode,
XEXP (XEXP (x, 0), 0), mode);
if (temp)
- {
- SUBST (XEXP (XEXP (x, 0), 0), temp);
- return XEXP (x, 0);
- }
+ return gen_binary (ASHIFT, mode, temp, XEXP (XEXP (x, 0), 1));
}
temp = expand_compound_operation (XEXP (x, 0));
OpenPOWER on IntegriCloud