This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
vliw scheduling - TImode bug?
- From: Hariharan Sandanagobalane <hariharans at picochip dot com>
- To: gcc at gcc dot gnu dot org
- Date: Wed, 19 Dec 2007 11:52:39 +0000
- Subject: vliw scheduling - TImode bug?
Hello,
I see quite a few instances when i get the following RTL. A conditional
branch, followed by a BASIC_BLOCK note, followed by a non-TImode
instruction. Theoretically, i should be allowed to package the non-TI
instruction along with the conditional branch, but doing so seems to be
produce incorrect results. Am i supposed to consider the
NOTE_INSN_BASIC_BLOCK as a cycle-breaker? Or, is it a genuine bug in the
way TImodes are set on instructions?
(jump_insn:TI 144 225 17 2
/home/hariharans5/gcc-4.2.2/gcc/testsuite/gcc.c-torture/execute/931004-8.c:15
(parallel [
(set (pc)
(if_then_else (le:HI (reg:CC 17 pseudoCC)
(const_int 0 [0x0]))
(label_ref 109)
(pc)))
(use (const_int 77 [0x4d]))
]) 10 {*branch} (nil)
(expr_list:REG_DEAD (reg:CC 17 pseudoCC)
(expr_list:REG_BR_PROB (const_int 500 [0x1f4])
(nil))))
(note 17 144 124 3 [bb 3] NOTE_INSN_BASIC_BLOCK)
(note 124 17 21 3
("/home/hariharans5/gcc-4.2.2/gcc/testsuite/gcc.c-torture/execute/931004-8.c")
17)
(insn 21 124 196 3
/home/hariharans5/gcc-4.2.2/gcc/testsuite/gcc.c-torture/execute/931004-8.c:15
(set (reg:HI 3 R3)
(plus:HI (reg/f:HI 13 FP)
(const_int 12 [0xc]))) 31 {*lea_move} (nil)
(nil))
Thanks and regards
Hari