This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/15596] [3.5 Regression] Missed optimization with bitfields
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 May 2004 17:48:52 -0000
- Subject: [Bug tree-optimization/15596] [3.5 Regression] Missed optimization with bitfields
- References: <20040522223754.15596.pinskia@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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