https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71294
--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> --- tree-dump of the problematic function: ;; Function void fn1() (_Z3fn1v, funcdef_no=6, decl_uid=2937, cgraph_uid=4, symbol_order=4) void fn1() () { struct A a; struct C D.3115; struct C D.3114; struct B e; long unsigned int _4; vector(2) long unsigned int vect_cst__5; long unsigned int _6; vector(2) long unsigned int vect_cst__20; <bb 2>: _6 = (long unsigned int) &e.val; vect_cst__20 = {_6, _6}; _4 = (long unsigned int) &MEM[(void *)&e + 128B]; vect_cst__5 = {_4, _4}; MEM[(struct &)&a] ={v} {CLOBBER}; a.rows = 4; a.cols = 4; MEM[(struct &)&a + 40] ={v} {CLOBBER}; MEM[(unsigned char * *)&a + 8B] = vect_cst__20; MEM[(unsigned char * *)&a + 24B] = vect_cst__5; C::C (&D.3114, a); F::compute (D.3115); D.3114 ={v} {CLOBBER}; a ={v} {CLOBBER}; e ={v} {CLOBBER}; return; } 236r.ira: (insn 13 29 33 2 (set (mem/c:V2DI (plus:DI (reg/f:DI 113 sfp) (reg:DI 166)) [5 MEM[(unsigned char * *)&a + 8B]+0 S16 A64]) (vec_select:V2DI (reg:V2DI 163) (parallel:V2DI [ (const_int 1 [0x1]) (const_int 0 [0]) ]))) /tmp/ice2.ii:29 841 {*vsx_stxvd2x2_le_v2di} (expr_list:REG_DEAD (reg:DI 166) (expr_list:REG_DEAD (reg:V2DI 163) (nil)))) 237r.reload: Reloads for insn # 13 Reload 0: reload_in (DI) = (plus:DI (reg/f:DI 1 1) (const_int 240 [0xf0])) BASE_REGS, RELOAD_FOR_OPERAND_ADDRESS (opnum = 0) reload_in_reg: (plus:DI (reg/f:DI 1 1) (const_int 240 [0xf0])) reload_reg_rtx: (reg:DI 10 10) Reload 1: BASE_REGS, RELOAD_FOR_OPERAND_ADDRESS (opnum = 0), optional, can't combine, secondary_reload_p Reload 2: GENERAL_REGS, RELOAD_FOR_OPERAND_ADDRESS (opnum = 0), optional, can't combine, secondary_reload_p secondary_out_reload = 1 secondary_out_icode = reload_v2di_di_store Reload 3: reload_out (V2DI) = (mem/c:V2DI (plus:DI (plus:DI (reg/f:DI 1 1) (const_int 240 [0xf0])) (reg:DI 9 9 [166])) [5 MEM[(unsigned char * *)&a + 8B]+0 S16 A64]) NO_REGS, RELOAD_FOR_OUTPUT (opnum = 0), optional reload_out_reg: (mem/c:V2DI (plus:DI (plus:DI (reg/f:DI 1 1) (const_int 240 [0xf0])) (reg:DI 9 9 [166])) [5 MEM[(unsigned char * *)&a + 8B] (crashes here)