https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60172
Bill Pringlemeir <bpringlemeir at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bpringlemeir at gmail dot com --- Comment #22 from Bill Pringlemeir <bpringlemeir at gmail dot com> --- The good ARM assembler uses the 'mla' instruction which is a 'multiply and accumulate'. Since this is not recognized, the multiply result needs a temporary register to do the add with and I think this cause the extra registers. I believe you should look to see why the 'mla' is not matched. I don't know if the x86 has an op-code like this.