This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/32593] Missed optimization of 'y = constant - x' operation
- From: "bonzini at gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 Nov 2009 09:35:38 -0000
- Subject: [Bug target/32593] Missed optimization of 'y = constant - x' operation
- References: <bug-32593-10175@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from bonzini at gnu dot org 2009-11-07 09:35 -------
Confirmed, the code for -O2 -funroll-loops includes things such as
movzwl 2(%eax), %esi
movl $1, -44(%ebp)
subl %ecx, -44(%ebp)
movl -44(%ebp), %edi
movzbl (%edx,%edi), %ebx
addl %ebx, %esi
movl %esi, %ebx
movb %bl, 1(%edx)
...
movl -44(%ebp), %ebx
movzwl 2(%esi), %edi
movzbl (%edx,%ebx), %ebx
addl %ebx, %edi
movl %edi, %ebx
movb %bl, 1(%edx)
The unrolling is done on the tree level, so it's CSE who'd need to know this.
--
bonzini at gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |ra
Known to work| |4.5.0
Last reconfirmed|0000-00-00 00:00:00 |2009-11-07 09:35:37
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32593