Extracting operands from rtl instructions

Chung-Ju Wu jasonwucj@gmail.com
Mon Aug 5 16:08:00 GMT 2013


2013/8/4 Abdul Wahid Memon <engrwahidmemon@gmail.com>:
> Considering the following rtl instructions:
>
> (insn 104 457 458 2 (set (reg/v/f:DI 41 r12 [orig:590 dsth ] [590])
>         (reg:DI 5 di [ dsth ])) foo.c:15 62 {*movdi_internal_rex64}
>      (expr_list:REG_DEAD (reg:DI 5 di [ dsth ])
>         (nil)))
>
> Is there any function provided to extract the operands of this
> instructions i.e. di and r12?
>
> Regards
>
> Abdul

You can use PATTERN(insn) to get inner rtx and then
use XEXP(rtx, i) to extract operands.

By the way, I suggest you can take a look at GCC Internal
Chapter10: RTL Representation.  You will find a lot of useful
information of manipulating RTL stuff. :)

Best regards,
jasonwucj



More information about the Gcc-help mailing list