https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98872
--- Comment #2 from Peter Bergner <bergner at gcc dot gnu.org> --- The problem is caused by using an uninitialized __vector_quad (or __vector_pair) variable. In those cases, initialize_uninitialized_regs() detects that and emits an initialization via: emit_move_insn (reg, CONST0_RTX (GET_MODE (reg))); The problem is we don't have CONST0_RTX(mode) defined for opaque modes, so it returns NULL which leads to the ICE. I have a patch I'm testing to add that support.