https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87555
--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> --- I don't think there's a documented canonical form but if I were to write one I'd say the smaller (as in integer) merge mask should win? There might also be the argument that fma vs fms (or add vs sub in the addsub case) can be the tie-breaker. Note I'm not sure that doing fmaddsub as merge of fma and fms will be optimal since that most definitely will preclude combine from recognizing fmaddsub from (addsub (mul ..) x) which would be another goal to support (PR81904) I'm looking at merging the addsub patterns with the (const_int <mode-attr>) trick, but I'm struggling with alternatives - time to learn ;)