https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120400
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Iain Sandoe from comment #5) > > I must say it's also somewhat odd that the folder chooses the more expensive > condition to come first - but then if there's no short-circuiting then all > the ops will be done anyway. That comes from tree_swap_operands_p: /* Put variables last. */ if (DECL_P (arg1)) return false; if (DECL_P (arg0)) return true;