PATCH: PR rtl-optimization/50696: [x32] Unnecessary lea

Paolo Bonzini bonzini@gnu.org
Fri Oct 14 08:15:00 GMT 2011


On 10/13/2011 10:07 PM, H.J. Lu wrote:
> On Thu, Oct 13, 2011 at 11:15 AM, Richard Kenner
> <kenner@vlsi1.ultra.nyu.edu>  wrote:
>>> The answer to H.J.'s "Why do we do it for MEM then?" is simply
>>> "because no one ever thought about not doing it"
>>
>> No, that's false.  The same expand_compound_operation / make_compound_operation
>> pair is present in the MEM case as in the SET case.  It's just that
>> there's some bug here that's noticable in not making proper MEMs that
>> doesn't show up in the SET case because of the way the insns are structured.
>>
>
> When we have (and (OP) M) where
>
> (and (OP) M) == (and (OP) ((1<<  ceil_log2 (M)) - 1) ))
>
> (and (OP) M) is zero_extract bits 0 to ceil_log2 (M).
>
> Does it look OK?

Yes, it does.  How did you test it?

Paolo



More information about the Gcc-patches mailing list