Hi all,

I need some clarification in understanding the below mentioned RTL Expressions

1. (insn 11 10 12 0
gcc/testsuite/gcc.c-torture/execute/20020611-1.c:13 (parallel [
           (set (reg/f:SI 13 a5 [28])
               (symbol_ref:SI ("n") [flags 0x2] <var_decl 0x40227160 n>))
           (clobber (reg:CC 21 cc))
       ]) 22 {movsi_long_const} (nil)
   (expr_list:REG_UNUSED (reg:CC 21 cc)
       (expr_list:REG_EQUIV (symbol_ref:SI ("n") [flags 0x2]
<var_decl 0x40227160 n>)
           (nil))))

Normally set syntax is : set lval x
here lval is (reg/f: SI 13 a5 [28])
a) To which register is the value of n copied? if a5 is the register
what is 13 and [28]
b) what is  [flags 0x2] <var_decl 0x40227160 n>

2.(insn 12 11 13 0 gcc/testsuite/gcc.c-torture/execute/20020611-1.c:13
(set (reg:SI 0 d0 [orig:29 n ] [29])
       (mem/c/i:SI (reg/f:SI 13 a5 [28]) [2 n+0 S4 A32])) 15
{movsi_load} (insn_list:REG_DEP_TRUE 11 (nil))
   (expr_list:REG_DEAD (reg/f:SI 13 a5 [28])
       (expr_list:REG_EQUAL (mem/c/i:SI (symbol_ref:SI ("n") [flags
0x2] <var_decl 0x40227160 n>) [2 n+0 S4 A32])
           (nil))))

a) what does this mean  [orig:29 n ] [29] in the above expression?
b) what does this mean [2 n+0 S4 A32] in the above expression?

Thanking you in advance,

Regards,
Rohit

Reply via email to