This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]