[Bug rtl-optimization/42575] arm-eabi-gcc 64-bit multiply weirdness
ramana at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Jan 4 10:54:00 GMT 2010
------- Comment #2 from ramana at gcc dot gnu dot org 2010-01-04 10:54 -------
Confirmed with trunk I get
longfunc:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
mul r1, r2, r1
mla r1, r0, r3, r1
stmfd sp!, {r4, r5}
umull r4, r5, r2, r0
add r1, r1, r5
mov r0, r4
mov r5, r1
ldmfd sp!, {r4, r5}
bx lr
r4 and r5 need not be used here - you could do with just r2 and r3 instead of
r4 and r5 here
i.e.
mul r1, r2, r1
mla r1, r0, r3, r1
umull r2, r3, r2, r0
add r1, r1, r3
mov r0, r2
bx lr
--
ramana at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Component|target |rtl-optimization
Ever Confirmed|0 |1
Keywords| |missed-optimization, ra
Last reconfirmed|0000-00-00 00:00:00 |2010-01-04 10:54:28
date| |
Summary|arm-eabi-gcc 4.2.1 64-bit |arm-eabi-gcc 64-bit multiply
|multiply weirdness |weirdness
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42575
More information about the Gcc-bugs
mailing list