This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Meaning of (set (reg:CC condition_codes_reg) (ge (op0) (op1)))
- From: Hans-Peter Nilsson <hp at bitrange dot com>
- To: Rask Ingemann Lambertsen <rask at sygehus dot dk>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 6 Sep 2006 14:48:03 -0400 (EDT)
- Subject: Re: Meaning of (set (reg:CC condition_codes_reg) (ge (op0) (op1)))
- References: <20060902163500.GH29852@sygehus.dk>
On Sat, 2 Sep 2006, Rask Ingemann Lambertsen wrote:
> What does this instruction mean?
>
> (set (reg:CC 13 cc)
> (ge (mem/c/i:HI (plus:HI (reg/f:HI 15 argp)
> (const_int 2 [0x2])) [2 x+0 S2 A16])
> (const_int 0 [0x0])))
>...
> The (reg:CC 13 cc) part is the condition code register. But I have no
> idea what it means to set that register to a constant (such as
> STORE_FLAG_VALUE).
I'm not sure I understand the question correctly (answer being a
bit on the obvious side), but for me the answer is "the
truthvalue of (argp[1] > 0) in the representation the target
uses for CCmode". It's not strictly STORE_FLAG_VALUE at this
level; only when "translated" into an ordinary integer mode.
When in CCmode it's just the condition code flags; whatever goes
in reg 13 when being the (possibly implicit) target of that
compare insn. Hope this helps.
brgds, H-P