[Bug rtl-optimization/42575] arm-eabi-gcc 64-bit multiply weirdness
wilco at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Oct 11 14:49:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42575
Wilco <wilco at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution|--- |FIXED
--- Comment #21 from Wilco <wilco at gcc dot gnu.org> ---
Fixed by r276887 and other recent multiply improvements. The only CPU that can
still trigger stack pushes is cortex-a8 with -O2/O3 both for Arm and Thumb:
mov ip, r0
mul r3, ip, r3
mla r1, r2, r1, r3
push {lr}
umull r0, lr, r0, r2
add r1, r1, lr
ldr pc, [sp], #4
All other CPUs and optimization options generate the optimal:
muls r3, r0, r3
mla r1, r2, r1, r3
umull r0, r2, r0, r2
add r1, r1, r2
bx lr
So I consider this fixed.
More information about the Gcc-bugs
mailing list