This is the mail archive of the 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: x86 MMX/SSE ABI compatibility with ICC

>> Nope.  There is an ABI standard that multiple compiler providers,
>> including both GCC and Intel, have agreed to implement.
>For i386?  Yes, but it was written by AT&T in 1980.  It says nothing
>about mmx or sse registers.  We did have some agreement for an abi that
>passed sse types in aligned stack slots, back in 1998/99 when gcc first
>got support for sse.

That doesn't bring us closer to an answer to the original question: Why are generic, target-independent types overloaded with semantics that no-one outside of i386 (and perhaps ppc with altivec) cares?

And * is there some formal specification of what the intended ABI is? Someone, according to the mailing list archives, supposedly checked icc versions for their implementation of vector types, but as far as I could see this was only for the parameter passing case, not the return value one.

>But since then Intel has been making random ABI changes for vector types.

If that's the case, then did they signal commitment to a certain variant going forward? Otherwise, as asked already above, what's the intended ABI (i.e., compatibility with what icc version) gcc tries to implement?


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