https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96446
--- Comment #3 from Peter Bergner <bergner at gcc dot gnu.org> --- (In reply to Segher Boessenkool from comment #2) > *movpxi tries to not split xxsetaccz insns, but that one is only for > fpr_reg_operand as operands[0], while *movpxi uses something more > general. As we discussed offline, I have already moved xxsetaccz into the movpxi pattern and I changed the xxsetaccz pattern (needed for the builtin expansion) into a define_expand that just calls gen_movpxi. This fixes the ICE above. However, I've hit a somewhat related issue with both __vector_pair and __vector_quad vars being passed as a parameter to an unprototyped function leading to another ICE or infinite loop. I'm still digging into that.