RFC: More ia64 intrinsics
H. J. Lu
hjl@lucon.org
Fri Jun 20 20:00:00 GMT 2003
On Thu, Jun 19, 2003 at 09:12:29PM -0700, Mark Mitchell wrote:
> On Thu, 2003-06-19 at 19:19, H. J. Lu wrote:
> > Intel C++ compiler defines quite a few intrinsics for ia64:
> >
> > http://www.tacc.utexas.edu/resources/user_guides/intel/c_ug/
> >
> > There are 4 categories of intrinsics:
> >
> > 1. Native intrinsics.
> > 2. Lock and atomic operation related intrinsics
> > 3. Operating system related intrinsics.
> > 4. MMX/SSE intrinsics.
> >
> > I don't know how useful MMX/SSE intrinsics for ia64 are. But #1, #2
> > and #3 are useful in user space and kernel. I'd like to submit a
> > patch to provide the same functionality. However, I am not sure if
> > gcc should use the same intrinsic names like
> >
> > long _InterlockedIncrement(long *addend)
> >
> > Increment the addend by one atomically. Maps to the fetchadd4
> > instruction.
>
> I think we should just use the Intel names. There's no need to be
> gratuitously incompatible.
Ok, I will do that. There is another issue. Intel intrinsics uses
__int64 for 64bit integer type. It is used in
unsigned __int64
const __int64
I can't use typedef. I can do
#define __int64 long long
But I don't know if it is a good idea. __int64 is a builtin type in
Intel compiler so that it isn't a problem. Any suggestions?
H.J.
More information about the Gcc
mailing list