From: Diego Novillo Date: Fri, 20 Jul 2001 17:47:03 +0000 (+0000) Subject: combine.c (combine_simplify_rtx): Generate a new shift operation when simplifying... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9def18da54cfc452cf859502c56063ad0a904b35;p=gcc.git 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 --- 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 + + * 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 * 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));