https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65214
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED Target Milestone|--- |6.0 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- In GCC 9+ we get: ``` _test: mov.l r12,@-r15 mova .L8,r0 mov.l .L8,r12 mov #1,r2 add r0,r12 mov.l .L9,r0 mov.l @(r0,r12),r1 tst r1,r1 bt .L2 mov r1,r2 .L2: mov.l .L10,r0 mov.l @(r0,r12),r3 mov.l @r15+,r12 mulu.w r1,r3 sts macl,r1 extu.b r1,r1 tst r2,r1 movt r0 rts nop ``` There is only one extend now after the multiply. Which was fixed by r6-2159-g9844173510418b then.