------- 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