[Bug rtl-optimization/57564] New: regmove switched operands?

ncahill_alt at yahoo dot com gcc-bugzilla@gcc.gnu.org
Fri Jun 7 23:07:00 GMT 2013


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

            Bug ID: 57564
           Summary: regmove switched operands?
           Product: gcc
           Version: 4.8.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ncahill_alt at yahoo dot com

Created attachment 30278
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30278&action=edit
Testcase

With x86 GCC 4.8.1 (32-bit), bzip2 built with -O1 decompresses files more
quickly than with -O2.  I found that -O2 -fno-regmove restores the performance.

Looking at the output, I saw the following.  I have attached a reduced testcase
to generate a similar pattern:

  movl    %eax, 40(%esp)
  shrl    %cl, 40(%esp)
  andl    $7, 40(%esp)
  movl    40(%esp), %eax

The command: gcc -S -O2 -pipe -c reduceme.c -o decompress.s

Thanks.
Neil Cahill.



More information about the Gcc-bugs mailing list