https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992
Jeffrey A. Law <law at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rzinsly at ventanamicro dot com --- Comment #13 from Jeffrey A. Law <law at gcc dot gnu.org> --- So like the other bug involving multiplies against objects with a known range [0,1], we should very seriously consider turning the multiply into a conditional move. ie x * b where b is known to have the range [0,1] we can turn that into dest = b ? x : 0 Some processors that don't have generalized conditional moves do have conditional zero instructions. ie, zicond on RISC-V.