https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109676

--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---

102: (value/u:V1TI 24:24 @0x49b13d8/0x49a15f0) is at (mem/c:V1TI (value/u:DI
13:4290 @0x49b1328/0x49a1438) [0 p+0 S16 A128])
102: (reg:V1TI 20 xmm0 [orig:91 p ] [91]) evaluates to (value/u/f:V1TI 24:24
@0x49b13d8/0x49a15f0)


It is this which is causing the ICE:
(insn 102 110 106 6 (set (reg:V1TI 20 xmm0 [orig:91 p ] [91])
        (mem/c:V1TI (plus:DI (reg/f:DI 7 sp)
                (const_int 32 [0x20])) [0 p+0 S16 A128]))
"/app/example.cpp":26:12 1838 {movv1ti_internal}
     (nil))
(debug_insn 106 102 107 6 (var_location:QI D#3 (mem/c:QI (plus:DI (reg/f:DI 7
sp)
            (const_int 48 [0x30])) [0 p.mIsSome+0 S1 A128]))
"/app/example.cpp":26:12 -1
     (nil))
(debug_insn 107 106 108 6 (var_location:QI tmp$mIsSome (debug_expr:QI D#3))
"/app/example.cpp":26:12 -1
     (nil))

I suspect it is doing a subreg for QI mode of a V1TI reg and simplify_subreg is
ICEing out.

Reply via email to