[PATCH] Cleanup expand_shift
Eric Botcazou
ebotcazou@adacore.com
Wed May 4 15:34:00 GMT 2011
> 2011-05-03 Richard Guenther <rguenther@suse.de>
>
> * expmed.c (expand_variable_shift): Rename to ...
> (expand_shift_1): ... this. Take an expanded shift amount.
> For rotates recurse directly not building trees for the shift amount.
> (expand_variable_shift): Wrap around expand_shift_1.
> (expand_shift): Adjust.
Looks OK on principle, but...
> --- 2140,2161 ----
> code below. */
>
> rtx subtarget = target == shifted ? 0 : target;
> ! rtx new_amount, other_amount;
> rtx temp1;
> !
> ! new_amount = amount;
> other_amount
> ! = simplify_gen_binary (MINUS, GET_MODE (amount),
> ! GEN_INT (GET_MODE_BITSIZE (mode)),
> ! amount);
... why going back to AMOUNT? The old code uses OP1, which can be different
from AMOUNT if SHIFT_COUNT_TRUNCATED is nonzero.
--
Eric Botcazou
More information about the Gcc-patches
mailing list