https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96305
ktkachov at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ktkachov at gcc dot gnu.org --- Comment #1 from ktkachov at gcc dot gnu.org --- This did get a bit better in GCC 10.1, which generates: compute: smull r0, r3, r0, r0 asrs r0, r1, #31 muls r0, r3, r0 asrs r2, r3, #31 mla r0, r1, r2, r0 umull r3, r1, r3, r1 add r0, r0, r1 bx lr