Thanks.

Can you make the test case a standalone preprocessed file (using -E)?

David

On Wed, Aug 24, 2011 at 2:26 PM, Oleg Smolsky <oleg.smol...@riverbed.com> wrote:
> On 2011/8/24 13:02, Xinliang David Li wrote:
>>>
>>> On 2011/8/23 11:38, Xinliang David Li wrote:
>>>>
>>>> Partial register stall happens when there is a 32bit register read
>>>> followed by a partial register write. In your case, the stall probably
>>>> happens in the next iteration when 'add eax, 0Ah' executes, so your
>>>> manual patch does not work.  Try change
>>>>
>>>> add al, [dx] into two instructions (assuming esi is available here)
>>>>
>>>> movzx esi, ds:data8[dx]
>>>> add  eax, esi
>>>>
>>> I patched the code to use  "movzx edi" but the result is a little clumsy
>>> as
>>> the loop is based on the virtual address rather than index.
>>
>> my bad -- I did copy&  paste without making it precise.
>
> No worries. The fragment did fit into the padding :)
>
>>> So, this is one test out of the suite. Many of them degraded... Are you
>>> guys
>>> interested in looking at other ones? Or is there something to be fixed in
>>> the register allocation logic?
>>
>> File bugs --- the isolated examples like this one would be very helpful in
>> the bug report.
>
> Done:
>    http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50182
>
> Regards,
> Oleg.
>

Reply via email to