https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112295
palmer at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2023-10-30 Ever confirmed|0 |1 CC| |palmer at gcc dot gnu.org Status|UNCONFIRMED |NEW --- Comment #1 from palmer at gcc dot gnu.org --- IIRC something along these lines came up when originally doing the SFB stuff. I don't remember if the SiFive 7-series can fuse the proposed code as there's an extra a0 read in there. I do remember missing some fusion opportunities but deciding they weren't worth worrying about at the time as the CMOV got most of the benefit. Even if SiFive can't fuse these, we'll probably end up with implementations that can at some point. So IMO it's a valid missed optimization.