https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112935
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=111126 --- Comment #18 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Xi Ruoyao from comment #16) > BTW is it possible to get the value range info of (x) and combine (and y, > (neg x)) back to maskeqz in LoongArch backend? It will further improve the > performance. Or maybe expr.cc should invoke a target hook to see if (mul x, > y) should be expanded to (if_then_else x, y, 0) instead when x is in {0, 1}. That would be PR 111126 because RISCV backend has the same issue. I will be fixing that but most likely for GCC 15 as I am going to fix the regression here.