diff options
author | Diego Novillo <dnovillo@redhat.com> | 2001-07-20 17:47:03 +0000 |
---|---|---|
committer | Diego Novillo <dnovillo@gcc.gnu.org> | 2001-07-20 13:47:03 -0400 |
commit | 9def18da54cfc452cf859502c56063ad0a904b35 (patch) | |
tree | 80b132f48254c998cfcc24e34efdde11c02cd987 /gcc | |
parent | d4845339d7ba0920337a1ebe7ac8df36af8cada9 (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/combine.c | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bfa00fa..768715e 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 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)); |