This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Abt RTL expression
- From: Rask Ingemann Lambertsen <rask at sygehus dot dk>
- To: Mohamed Shafi <shafitvm at yahoo dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Mon, 16 Oct 2006 15:58:42 +0200
- Subject: Re: Abt RTL expression
- References: <20061016122044.37120.qmail@web33206.mail.mud.yahoo.com>
On Mon, Oct 16, 2006 at 05:20:44AM -0700, Mohamed Shafi wrote:
> hello all,
>
> Sorry i am asking this kind of question.This might be weird to most of you but i am new to GCC.
> Can somebody tell me how to analyze the below instruction pattern
>
> (insn 8 6 9 1 (parallel [
> (set (reg/f:SI 32)
> (symbol_ref:SI ("t") <var_decl 0x402270b0 t>))
> (clobber (reg:CC 21 cc))
> ]) -1 (nil)
> (nil))
>
> Will i be able to find this pattern in .md files?
Probably. Look for at pattern with "movsi" in the name.
> what does insn 8 6 9 1 mean?
8 is the number of the insn, 6 is the number of the previous insn, 9 is
the number of the next insn and 1 is the number of the basic block to which
the insn belongs.
> reg/f ?
This is actually documented (look for REG_POINTER):
<URL:http://gcc.gnu.org/onlinedocs/gccint/Flags.html#Flags>.
> for varible declaration why is it needed to clobber CC?
It depends on the target. Some targets modify the condition codes when
copying a value into a register while other targets don't. A third
possibility is that of the m68k, where storing a value in a data register
sets the condition codes while storing a value in an address register leaves
the condition codes unmodified. A fourth possibility is that of the PowerPC,
where this is optional on a per insn basis, but then you wouldn't normally
include the (clobber (reg:CC 21 cc)) version in the machine description.
--
Rask Ingemann Lambertsen.