This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
No worries. The fragment did fit into the padding :)On 2011/8/23 11:38, Xinliang David Li wrote:my bad -- I did copy& paste without making it precise.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.
File bugs --- the isolated examples like this one would be very helpful in the bug report.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?
Done:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50182Regards, Oleg.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |