https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118342
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Guess the first question is if we want to change this for GCC 15 or if that is too late for that. As you wrote, the DImode with SImode result pattern could be also using if_then_else, and then for the zext one we could just have a combine pattern which has the expected constant in the input instead of a register and split that later into UNSPEC or something like that.