This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
is movccsi a standard names?
- From: Shen Hui <shenhui at mprc dot pku dot edu dot cn>
- To: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Tue, 5 Aug 2003 11:40:42 +0800
- Subject: is movccsi a standard names?
gcc,hello!
i want to know the real defination of standard names (RTL),
and if movccsi is a stantard name (see gcc-2.95.3 arm.md),then why cannot emit conditional move rtl in generation.
for example (t.c):
int foo(int a)
{
int b;
if (a>0)
b=1;
else
b=2;
return b;
}
arm-linux-gcc t.c -O -S -dr
its t.c.rtl as:
(note 8 6 10 0 NOTE_INSN_BLOCK_BEG)
(insn 10 8 11 (set (reg:CC 24 cc)
(compare:CC (reg/v:SI 32)
(const_int 0 [0x0]))) -1 (nil)
(nil))
(jump_insn 11 10 14 (set (pc)
(if_then_else (le (reg:CC 24 cc)
(const_int 0 [0x0]))
(label_ref 17)
(pc))) 247 {*condbranch} (nil)
(nil))
(insn 14 11 15 (set (reg/v:SI 33)
(const_int 1 [0x1])) -1 (nil)
(nil))
(jump_insn 15 14 16 (set (pc)
(label_ref 21)) -1 (nil)
(nil))
(barrier 16 15 17)
(code_label 17 16 20 3 "" [num uses: 0])
(insn 20 17 21 (set (reg/v:SI 33)
(const_int 2 [0x2])) -1 (nil)
(nil))
(code_label 21 20 24 4 "" [num uses: 0])
(insn 24 21 25 (set (reg/i:SI 0 r0)
(reg/v:SI 33)) -1 (nil)
(nil))
(insn 25 24 26 (use (reg/i:SI 0 r0)) -1 (nil)
(nil))
(jump_insn 26 25 27 (set (pc)
(label_ref 32)) -1 (nil)
(nil))
(barrier 27 26 29)
(note 29 27 30 0 NOTE_INSN_BLOCK_END)
can anybody help me ?
Shen Hui
shenhui@mprc.pku.edu.cn
2003-08-05