ia64.md weirdness (cmpxchg_acq_si)

Richard Henderson rth@redhat.com
Fri Oct 17 08:39:00 GMT 2003


On Thu, Oct 16, 2003 at 03:44:04PM -0700, Zack Weinberg wrote:
> ... I guess, to make genrecog happy, we'd need two copies of the
> pattern, one with DImode ar.ccv and one with SImode?

No.  As far as I can tell it's a bug if we ever do anything but
DImode.  From the instruction description:

   A value consisting of sz bytes ... is read from memory starting
   at the address specified by the value in GR r3. The value is zero
   extended and compared with the contents of the Cmpxchg Compare Value
   application register (AR[CCV]). If the two are equal ...

The hardware comparison is always in DImode.  The builtins that
do SImode stuff should be zero_extending what they put in there.


r~



More information about the Gcc mailing list