On Thu, Oct 13, 2011 at 11:51 PM, Paolo Bonzini <bonz...@gnu.org> wrote:
> On 10/13/2011 10:07 PM, H.J. Lu wrote:
>>
>> On Thu, Oct 13, 2011 at 11:15 AM, Richard Kenner
>> <ken...@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?
>

There is a testcase at

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50696

It passes with my patch.

-- 
H.J.

Reply via email to