Comment 4 for bug 1353729

Revision history for this message
In , Palachev-ilya (palachev-ilya) wrote :

The compiler fails after function split_insns (generaged from md) fails with the following arguments:

pattern =

(parallel [
        (set (mem/v:SI (reg/f:DI 19 x19 [117]) [-1 S4 A32])
            (unspec_volatile:SI [
                    (ior:SI (mem/v:SI (reg/f:DI 19 x19 [117]) [-1 S4 A32])
                        (const_int 0 [0]))
                    (const_int 5 [0x5])
                ] UNSPECV_ATOMIC_OP))
        (clobber (reg:CC 66 cc))
        (clobber (reg:SI 1 x1 [143]))
        (clobber (reg:SI 2 x2 [144]))
    ])

insn =

(insn:TI 71 72 73 (parallel [
            (set (mem/v:SI (reg/f:DI 19 x19 [117]) [-1 S4 A32])
                (unspec_volatile:SI [
                        (ior:SI (mem/v:SI (reg/f:DI 19 x19 [117]) [-1 S4 A32])
                            (const_int 0 [0]))
                        (const_int 5 [0x5])
                    ] UNSPECV_ATOMIC_OP))
            (clobber (reg:CC 66 cc))
            (clobber (reg:SI 1 x1 [143]))
            (clobber (reg:SI 2 x2 [144]))
        ]) pfs_host.ii:32 2326 {atomic_orsi}
     (expr_list:REG_DEAD (reg/f:DI 19 x19 [117])
        (expr_list:REG_UNUSED (reg:CC 66 cc)
            (expr_list:REG_UNUSED (reg:SI 2 x2 [144])
                (expr_list:REG_UNUSED (reg:SI 1 x1 [143])
                    (nil))))))

(from gdb output of debug_rtx(pat) and debug_rtx(insn))