https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94790
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2020-04-27 Status|UNCONFIRMED |NEW Component|tree-optimization |rtl-optimization Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- The r2 form should be faster because the dependence chain is one instruction shorter. On GIMPLE the first form is cheaper because it's one instruction less since we do not model a ANDN instruction on GIMPLE. The andn form might need one more register though (dependent on surrounding code). Confirmed. Either RTL expansion or combine/fwprop would need to recognize the opportunity. A PRE-RTL GIMPLE "logical reassoc + insn selection" pass might be another option. The final reassoc pass could for example do this.