https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106415
--- Comment #7 from Undefined Opcode <undefinedopcode2 at gmail dot com> --- (In reply to Undefined Opcode from comment #6) A little more context: Group 1: cand cost compl. inv.expr. inv.vars 0 0 0 NIL; NIL; 1 0 0 NIL; NIL; 2 0 0 NIL; NIL; 3 0 0 NIL; NIL; 4 0 0 NIL; NIL; 5 0 0 NIL; NIL; 6 -1 0 NIL; NIL; 7 0 0 NIL; NIL; 8 0 0 NIL; NIL; I'm not sure what a negative cost means, but it's also odd to me that the other candidates all have the same cost. The candidates requiring 32-bit operations should be strictly more expensive than those operating on 16-bit data, and indeed they do during the initial candidate costs.