https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117253
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |13.4 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- aarch64 does NOT show a regression. But basically the issue: if ((i * j) > 20 && (i + j) < 15) { result += i * j; } is converted to result += (i * j) * ((i * j) > 20 && (i + j) < 15). And then selects the multiply due to code size and it just goes down hill from there. This is 100% a synthetic test so I am not sure we are worried about the code size increase here for x86_64; especially for x86_64.