https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112935
--- Comment #16 from Xi Ruoyao <xry111 at gcc dot gnu.org> --- 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}.