[Bug rtl-optimization/17931] [4.0 Regresion] andl and testb are not combined
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Oct 11 14:12:00 GMT 2004
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-11 14:12 -------
This is a regression from 2.95.3:
movl 4(%esp),%eax
testb $1,(%eax)
jne .L3
movb (%eax),%al
shrb $1,%al
andl $1,%eax
ret
.p2align 4,,7
.L3:
movl $1,%eax
ret
And 3.0.4:
foo:
movl 4(%esp), %eax
testb $1, (%eax)
je .L2
movl $1, %eax
ret
.p2align 4,,7
.L2:
movzbl (%eax), %eax
shrb %al
andl $1, %eax
ret
And 3.2.3,3.3.3, and 3.4.0:
foo:
movl 4(%esp), %eax
movl $1, %edx
movzbl (%eax), %eax
testb $1, %al
jne .L1
shrb %al
movl %eax, %edx
andl $1, %edx
.L1:
movl %edx, %eax
ret
.size foo, .-foo
.section .note.GNU-stack,"",@progbits
.ident "GCC: (GNU) 3.4.0"
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|enhancement |minor
Known to fail| |4.0.0
Known to work| |3.3.3 3.0.4 2.95.3 3.4.0
Summary|andl and testb are not |[4.0 Regresion] andl and
|combined |testb are not combined
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17931
More information about the Gcc-bugs
mailing list