aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@redhat.com>2001-07-20 17:47:03 +0000
committerDiego Novillo <dnovillo@gcc.gnu.org>2001-07-20 13:47:03 -0400
commit9def18da54cfc452cf859502c56063ad0a904b35 (patch)
tree80b132f48254c998cfcc24e34efdde11c02cd987 /gcc/combine.c
parentd4845339d7ba0920337a1ebe7ac8df36af8cada9 (diff)
downloadgcc-9def18da54cfc452cf859502c56063ad0a904b35.zip
gcc-9def18da54cfc452cf859502c56063ad0a904b35.tar.gz
gcc-9def18da54cfc452cf859502c56063ad0a904b35.tar.bz2
combine.c (combine_simplify_rtx): Generate a new shift operation when simplifying the first operand of a (neg...
* combine.c (combine_simplify_rtx): Generate a new shift operation when simplifying the first operand of a (neg (ashift)) expression. From-SVN: r44202
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 8658aad..724e9ef 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));