This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: need for instruction attributes (ia64)
- From: Richard Henderson <rth at redhat dot com>
- To: Jan Beulich <JBeulich at novell dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 12 Jan 2005 01:50:28 -0800
- Subject: Re: need for instruction attributes (ia64)
- References: <s1e4ebc2.043@emea1-mh.id2.novell.com>
On Wed, Jan 12, 2005 at 10:20:22AM +0100, Jan Beulich wrote:
> ... for supporting .unc compares here (and perhaps elsewhere) one would
> need new infrastructure to support a double layer (or other method of
> combination) of cond_exec-s (depending on the predicate of the .unc
> compare and its result predicate(s))...
Well, yes and no. Comparisons being what they are, we wouldn't
necessarily have to model a predicated cmp.unc as an instruction
with a cond_exec applied. Indeed, considering that a write always
happens, I would counsul against it. We could model
(p1) cmplt.unc p2, p3 = r4, r5
as
[(set (reg:cci p2)
(and:cci (lt:cci (reg:di r4) (reg:di r5))
(reg:cci p1)))
(set (reg:cci p3)
(and:cci (ge:cci (reg:di r4) (reg:di r5))
(reg:cci p1)))]
That said, you'll also notice that we're only able to use predicates
in pairs, which MUST be inverses of one another. Which is incompatible
with .unc compares. There are a number of things that would have to
change in the generic rtl optimizers that would be needed to fix this.
What's your ultimate goal?
r~