http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56999
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-04-18
16:42:34 UTC ---
BTW, of course much lower priority, this also shows another spot where I think
reload code is better.
In the same ebb as the wrong-code, reload has code like:
movl %eax, %ecx
shrb $3, %cl
andl $1, %ecx
...
movb %cl, 23(%esp)
while LRA generates:
movl %eax, %ecx
shrb $3, %cl
movb %cl, 31(%esp)
...
andb $1, 31(%esp)
I'd think anding the value while we still have it in a register ought to be
better, though I admit I haven't benchmarked it.