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)


Richard Henderson <rth@redhat.com> writes:

> 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.

Ok.  If no one beats me to it, I will stare at the architecture manual
and the machine description and fix this.  After the XFmode conversion
is done to everyone's satisfaction and committed.

zw


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