https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65371
Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |missed-optimization
Status|UNCONFIRMED |NEW
Last reconfirmed| |2015-06-26
CC| |ramana at gcc dot gnu.org
Known to work| |6.0
Ever confirmed|0 |1
Known to fail| |5.1.0
--- Comment #3 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> ---
This smells of a dup of PR65768 ...
Trunk generates for example in comment #1.
func:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
ldr r3, .L6
ldr r2, [r3]
orr r2, r2, #65536
str r2, [r3]
.L2:
ldr r2, [r3]
lsls r2, r2, #14
bpl .L2
ldr r2, [r3]
orr r2, r2, #16777216
str r2, [r3]
bx lr
.L7:
.align 2
.L6:
.word 67112960
and for the last example
func:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
mov r3, #1073741824
mov r2, r3
ldr r1, [r3]
.L2:
ldr r3, [r2]
subs r3, r3, r1
uxth r3, r3
cmp r3, r0
bcc .L2
bx lr
May well be a dup of PR65768 ?