http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56151
Bug #: 56151
Summary: Performance degradation after r194054 on x86 Atom.
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: [email protected]
ReportedBy: [email protected]
For simple test-case extracted from one important benchmark we see number
instrctions increasing after fix r194054. If we compile test-case with compiler
built before this revision we have only 6 instructions for store stmt:
movl %edx, %ebx
movl %edx, %ebp
sarl $5, %ebx
andl $31, %ebp
movl setmask(,%ebp,4), %ebp
orl %ebp, (%edi,%ebx,4)
but after this fix we got 9 instrctions for it:
movl %edx, %ebx
movl 56(%esp), %esi
sarl $5, %ebx
movl %edx, %ebp
andl $31, %ebp
leal (%esi,%ebx,4), %esi
movl (%esi), %ebx
orl setmask(,%ebp,4), %ebx
movl %ebx, (%esi)
To reproduce it is sufficient to compile with the following options:
-O2 -ffast-math -msse2 -mfpmath=sse -m32 -march=atom -mtune=atom