https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124019
--- Comment #9 from Jeffrey A. Law <law at gcc dot gnu.org> --- So after further investigation I think we need to hold off trying to canonicalize this in match.pd. I strongly suspect the canonicalization suggested is going to regress various targets -- we already have evidence of that on cris and riscv. Those regressions can be seen if the int8_t is replaced with a short, int or long type in the testcase. So I think we're back to a risc-v specific pattern. Sadly it's a 4->3 combination, so it has to be a define_insn_and_split.
