https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71009
--- Comment #6 from Eric Gallager <egall at gwmail dot gwu.edu> --- I investigated more. What's happening at ../../gcc/emit-rtl.c:1025 is that the following assert is failing: gcc_assert (can_create_pseudo_p ()); This fails if and only if gen_reg_rtx is passed V2DImode as its mode parameter. I tried editing emit-rtl.c to make the assert conditional, like this: if (mode != V2DImode) gcc_assert (can_create_pseudo_p ()); ...but that only resulted in a different error: valarith.c: In function ‘value* value_binop(value*, value*, exp_opcode)’: valarith.c:1408:1: error: insn does not satisfy its constraints: (insn 3157 1585 3158 192 (set (reg:V2DI 1029) (vec_concat:V2DI (mem/c:DI (reg/f:SI 7 sp) [50 %sfp+-64 S8 A128]) (const_int 0 [0]))) valarith.c:1180 3653 {vec_concatv2di} (nil)) Breakpoint 1, internal_error (gmsgid=0x15ee807 "in %s, at %s:%d") at ../../gcc/diagnostic.c:1337 1337 va_start (ap, gmsgid); Any ideas what's going on?