This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Abt RTL expression
- From: "Rohit Arul Raj" <rohitarulraj at gmail dot com>
- To: gcc <gcc at gcc dot gnu dot org>
- Date: Fri, 10 Nov 2006 13:38:02 +0530
- Subject: Abt RTL expression
Hello all,
While going through the RTL dumps, I noticed a few things which i need
to get clarified.
Below is the extract, in which i get the doubt.
(insn 106 36 107 6 (set (reg:SI 13 a5)
(const_int -20 [0xffffffec])) 17 {movsi_short_const} (nil)
(nil))
(insn 107 106 108 6 (parallel [
(set (reg:SI 13 a5)
(plus:SI (reg:SI 13 a5)
(reg/f:SI 14 a6)))
(clobber (reg:CC 21 cc))
]) 29 {addsi3} (nil)
(expr_list:REG_EQUIV (plus:SI (reg/f:SI 14 a6)
(const_int -20 [0xffffffec]))
(nil)))
(insn 108 107 38 6 (set (reg:SI 13 a5)
(mem/c:SI (reg:SI 13 a5) [0 S4 A32])) 15 {movsi_load} (nil)
(nil))
My Deductions:
1. In insn 106, we are storing -16 in to the register 13 (a5).
2. In insn 107, we are taking the value from register 14 (a6) which is
a pointer and subtracting 16 from it and storing in a5.
Now a6 contains the stack pointer. Therefore a5 now contains SP-16.
3. In insn 108, we are storing the value pointed by the register a5 in to a5.
Is my deduction for insn 108 right?
If it is right, shouldn't the expression be like this:
(mem/c:SI (reg/f:SI 13 a5) [0 S4 A32])) 15 {movsi_load} (nil)
if i am wrong, can anyone tell me what actually insn 108 means?
Regards,
Rohit