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

--- Comment #6 from Hongtao.liu <crazylht at gmail dot com> ---
The difference of insn sequence is like
good one:
(insn 5 4 6 (clobber (reg/v:DF 153))
"/scratch/jmyers/glibc/many12/src/gcc/libgcc/libgcc2.c":1948:1 -1
     (nil))

(insn 6 5 7 (set (subreg:SI (reg/v:DF 153) 4)
        (mem/c:SI (plus:SI (reg/f:SI 103 virtual-incoming-args)
                (const_int 28 [0x1c])) [1 d+4 S4 A32]))
"/scratch/jmyers/glibc/many12/src/gcc/libgcc/libgcc2.c":1948:1 -1
     (nil))

(insn 7 6 0 (set (subreg:SI (reg/v:DF 153) 0)
        (mem/c:SI (plus:SI (reg/f:SI 103 virtual-incoming-args)
                (const_int 24 [0x18])) [1 d+0 S4 A32]))
"/scratch/jmyers/glibc/many12/src/gcc/libgcc/libgcc2.c":1948:1 -1
     (nil))

(reg/v:DF 153)

bad one:

(insn 5 4 6 (clobber (reg:DI 154))
"/scratch/jmyers/glibc/many12/src/gcc/libgcc/libgcc2.c":1948:1 -1
     (nil))

(insn 6 5 7 (set (subreg:SI (reg:DI 154) 4)
        (mem/c:SI (plus:SI (reg/f:SI 103 virtual-incoming-args)
                (const_int 28 [0x1c])) [1 d+4 S4 A32]))
"/scratch/jmyers/glibc/many12/src/gcc/libgcc/libgcc2.c":1948:1 -1
     (nil))

(insn 7 6 0 (set (subreg:SI (reg:DI 154) 0)
        (mem/c:SI (plus:SI (reg/f:SI 103 virtual-incoming-args)
                (const_int 24 [0x18])) [1 d+0 S4 A32]))
"/scratch/jmyers/glibc/many12/src/gcc/libgcc/libgcc2.c":1948:1 -1
     (nil))

(subreg:DF (reg:DI 154) 0)


and subreg hit gcc_assert in set_rtl.

Reply via email to