[Bug tree-optimization/15596] [3.5 Regression] Missed optimization with bitfields
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri May 28 07:11:00 GMT 2004
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-05-27 17:48 -------
It is much worse for x86.
(-O3 -fomit-frame-pointer)
After:
fun:
movl 4(%esp), %eax
movl 8(%esp), %ecx
movl (%eax), %edx
andl $1048575, %ecx
andl $-1048576, %edx
orl %ecx, %edx
movl %edx, (%eax)
movzbl 2(%eax), %edx
orb $16, %dl
andb $-33, %dl
movb %dl, 2(%eax)
movl 12(%esp), %ecx
movl (%eax), %edx
andl $1, %ecx
sall $22, %ecx
andl $-4194305, %edx
orl %ecx, %edx
movl %edx, (%eax)
ret $4
Before:
pushl %ebp
andl $-1048576, %ecx
movl %esp, %ebp
movl 12(%ebp), %edx
movl 8(%ebp), %eax
andl $1048575, %edx
orl %edx, %ecx
movl 16(%ebp), %edx
orl $1048576, %ecx
andl $-6291457, %ecx
andl $1, %edx
sall $22, %edx
orl %edx, %ecx
movl %ecx, (%eax)
popl %ebp
ret $4
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
GCC target triplet|powerpc-apple-darwin |
Last reconfirmed|0000-00-00 00:00:00 |2004-05-27 17:48:51
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15596
More information about the Gcc-bugs
mailing list