------- Comment #3 from bmei at broadcom dot com 2010-08-26 12:55 -------
I found I can reproduce the bug with ARM
ARM trunk -Os:
foo:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
mov r2, #1024
mov r3, #0
and r2, r2, r0
and r3, r3, r1
orrs r1, r2, r3
moveq r0, #0
movne r0, #1
mov pc, lr
.size foo, .-foo
Arm 4.40 -Os:
foo:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
mov r0, r0, lsr #10
and r0, r0, #1
bx lr
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45416