This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ia64.md weirdness (cmpxchg_acq_si)


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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]