[Bug middle-end/23954] FAIL: gcc.c-torture/execute/20040709-1.c execution, -Os

danglin at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sun Sep 18 18:59:00 GMT 2005


------- Additional Comments From danglin at gcc dot gnu dot org  2005-09-18 18:59 -------
Seems to occur in gcse1.  We have the following rtl after
cse1:

(note 185 10 11 1 NOTE_INSN_LOOP_BEG)

;; Start of basic block 1, registers live: (nil)
(code_label 11 185 12 1 318 "" [1 uses])

(note 12 11 13 1 [bb 1] NOTE_INSN_BASIC_BLOCK)

(call_insn 13 12 14 1 (parallel [
            (set (reg:SI 28 %r28)
                (call (mem:SI (symbol_ref/v:SI ("@myrnd") [flags 0x83] <function
_decl 7af8ca00 myrnd>) [0 S4 A32])
                    (const_int 16 [0x10])))
            (clobber (reg:SI 1 %r1))
            (clobber (reg:SI 2 %r2))
            (use (const_int 0 [0x0]))
        ]) 204 {call_val_symref} (nil)
    (expr_list:REG_EH_REGION (const_int 0 [0x0])
        (nil))
    (nil))

(insn 14 13 15 1 (set (reg:SI 109 [ D.1432 ])
        (reg:SI 28 %r28)) 37 {*pa.md:2291} (nil)
    (nil))

(insn 15 14 16 1 (set (mem:QI (reg/v/f:SI 98 [ p___4463 ]) [0 S1 A8])
        (subreg:QI (reg:SI 109 [ D.1432 ]) 3)) 57 {*pa.md:3028} (nil)
    (nil))

(insn 16 15 17 1 (set (reg/v/f:SI 98 [ p___4463 ])
        (plus:SI (reg/v/f:SI 98 [ p___4463 ])
            (const_int 1 [0x1]))) 108 {addsi3} (nil)
    (nil))

(insn 17 16 18 1 (set (reg/f:SI 111)
        (plus:SI (reg/v/f:SI 105 [ p ])
            (const_int 8 [0x8]))) 108 {addsi3} (nil)
    (nil))

(jump_insn 18 17 186 1 (set (pc)
        (if_then_else (ne (reg/v/f:SI 98 [ p___4463 ])
                (reg/f:SI 111))
            (label_ref 11)
            (pc))) 25 {*pa.md:1700} (nil)
    (expr_list:REG_BR_PROB (const_int 8750 [0x222e])
        (nil)))
;; End of basic block 1, registers live:
 (nil)

(note 186 18 20 1 NOTE_INSN_LOOP_END)

;; Start of basic block 2, registers live: (nil)
(note 20 186 21 2 [bb 2] NOTE_INSN_BASIC_BLOCK)

(insn 21 20 22 2 (set (reg/f:SI 113)
        (high:SI (symbol_ref:SI ("sB") [flags 0x80] <var_decl 7af9bbb0 sB>))) 48
 {*pa.md:2737} (nil)
    (nil))

(insn 22 21 23 2 (set (reg/f:SI 112)
        (lo_sum:SI (reg/f:SI 113)
            (symbol_ref:SI ("sB") [flags 0x80] <var_decl 7af9bbb0 sB>))) 51 {*pa
.md:2817} (nil)
    (expr_list:REG_EQUAL (symbol_ref:SI ("sB") [flags 0x80] <var_decl 7af9bbb0 s
B>)
        (nil)))

(insn 23 22 24 2 (set (reg:SI 114)
        (mem/s/j/c:SI (lo_sum:SI (reg/f:SI 113)
                (symbol_ref:SI ("sB") [flags 0x80] <var_decl 7af9bbb0 sB>)) [0+0
 S4 A32])) 37 {*pa.md:2291} (nil)
    (nil))

(insn 24 23 25 2 (set (reg:SI 115)
        (const_int 32767 [0x7fff])) 37 {*pa.md:2291} (nil)
    (nil))

After gcse1, we have:

(note 185 10 11 1 NOTE_INSN_LOOP_BEG)

;; Start of basic block 1, registers live: (nil)
(code_label 11 185 12 1 318 "" [1 uses])

(note 12 11 13 1 [bb 1] NOTE_INSN_BASIC_BLOCK)

(call_insn 13 12 14 1 (parallel [
            (set (reg:SI 28 %r28)
                (call (mem:SI (symbol_ref/v:SI ("@myrnd") [flags 0x83] <function
_decl 7af8ca00 myrnd>) [0 S4 A32])
                    (const_int 16 [0x10])))
            (clobber (reg:SI 1 %r1))
            (clobber (reg:SI 2 %r2))
            (use (const_int 0 [0x0]))
        ]) 204 {call_val_symref} (nil)
    (expr_list:REG_EH_REGION (const_int 0 [0x0])
        (nil))
    (nil))

(insn 14 13 15 1 (set (reg:SI 109 [ D.1432 ])
        (reg:SI 28 %r28)) 37 {*pa.md:2291} (nil)
    (nil))

(insn 15 14 16 1 (set (mem:QI (reg/v/f:SI 98 [ p___4463 ]) [0 S1 A8])
        (subreg:QI (reg:SI 109 [ D.1432 ]) 3)) 57 {*pa.md:3028} (nil)
    (nil))

(insn 16 15 17 1 (set (reg/v/f:SI 98 [ p___4463 ])
        (plus:SI (reg/v/f:SI 98 [ p___4463 ])
            (const_int 1 [0x1]))) 108 {addsi3} (nil)
    (nil))

(insn 17 16 18 1 (set (reg/f:SI 111)
        (plus:SI (reg/v/f:SI 105 [ p ])
            (const_int 8 [0x8]))) 108 {addsi3} (nil)
    (expr_list:REG_EQUAL (const:SI (plus:SI (symbol_ref:SI ("sB") [flags 0x80] <
var_decl 7af9bbb0 sB>)
                (const_int 8 [0x8])))
        (nil)))

(jump_insn 18 17 186 1 (set (pc)
        (if_then_else (ne (reg/v/f:SI 98 [ p___4463 ])
                (reg/f:SI 111))
            (label_ref 11)
            (pc))) 25 {*pa.md:1700} (nil)
    (expr_list:REG_BR_PROB (const_int 8750 [0x222e])
        (nil)))
;; End of basic block 1, registers live:
 (nil)

(note 186 18 20 1 NOTE_INSN_LOOP_END)

;; Start of basic block 2, registers live: (nil)
(note 20 186 21 2 [bb 2] NOTE_INSN_BASIC_BLOCK)

(insn 21 20 22 2 (set (reg/f:SI 113)
        (high:SI (symbol_ref:SI ("sB") [flags 0x80] <var_decl 7af9bbb0 sB>))) 48
 {*pa.md:2737} (nil)
    (nil))

(insn 22 21 23 2 (set (reg/f:SI 112)
        (plus:SI (reg/v/f:SI 98 [ p___4463 ])
            (const_int -8 [0xfffffff8]))) 108 {addsi3} (nil)
    (expr_list:REG_EQUAL (symbol_ref:SI ("sB") [flags 0x80] <var_decl 7af9bbb0 s
B>)
        (nil)))

(insn 23 22 25 2 (set (reg:SI 114)
        (mem/s/j/c:SI (plus:SI (reg/v/f:SI 98 [ p___4463 ])
                (const_int -8 [0xfffffff8])) [0+0 S4 A32])) 37 {*pa.md:2291} (ni
l)
    (expr_list:REG_EQUAL (mem/s/j/c:SI (plus:SI (reg/v/f:SI 98 [ p___4463 ])
                (const_int -8 [0xfffffff8])) [0+0 S4 A32])
        (nil)))


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23954



More information about the Gcc-bugs mailing list