On Sep 27, 2012, at 2:04 PM, Uros Bizjak wrote:

> 
> 
> 
>>>>> I agree (subreg:M (op:N A C) 0) to (op:M (subreg:N (A 0)) C) is
>>>>> a good transformation, but why do we need to handle as special
>>>>> the case where the subreg is itself the operand of a plus or minus?
>>>>> I think it should happen regardless of where the subreg occurs.
>>>> 
>>>> Don't we need to restrict this to the low part though?
>>> 
>>> ...
> 
> After some off-line discussion with Richard, attached is v2 of the patch.
> 
> 2012-09-27  Uros Bizjak  <ubiz...@gmail.com>
> 
>        PR rtl-optimization/54457
>        * simplify-rtx.c (simplify_subreg):
>       Simplify (subreg:SI (op:DI ((x:DI) (y:DI)), 0)
>       to (op:SI (subreg:SI (x:DI) 0) (subreg:SI (x:DI) 0)).
> ...

Is it just specific to DI -> SI, or is it for any large mode -> smaller mode, 
like SI -> HI?

        paul


Reply via email to