[xproto: PATCH] Xmd.h: amd64-x32 ABI defines sizeof(long) == sizeof (void*) == 4

Alan Coopersmith alan.coopersmith at oracle.com
Tue Dec 20 13:09:45 PST 2011


On 12/20/11 13:09, Sergei Trofimovich wrote:
>> On 12/20/11 12:26, Sergei Trofimovich wrote:
>>> What would you prefer?
>>
>> I'd prefer not supporting broken hacks pretending to be new ABI models.
>>
>> Is there any real benefit to "AMD64-x32" over simply x86-32
>
> Whole AMD64 ISA is accessible: twice as much registers (including xmm/ymm),
> instruction extensions available only in "long mode".
>
> It helps help codecs embedded into browsers and players.
> C calling convention uses registers (first six integer parameters go to registers)
> which reduces stack memory traffic.
>
> Quite nice comparing to what we have in ia32.

So use AMD64 then.

>> or AMD64 for X applications?
>
> Pointer memory footprint is on ia32 level. Saves Dcache and RAM for huge programs
> with large amount of references (like firefox and KDE).

Few of the X.Org applications will fall into that set.

In any case, if it's so useful, why not make a real ABI out of it, instead of
breaking the existing AMD64 ABI defines?   Just define __amd64_x32__ or
whatever instead, don't break existing code that knows what __amd64__ means.

-- 
	-Alan Coopersmith-        alan.coopersmith at oracle.com
	 Oracle Solaris Platform Engineering: X Window System



More information about the xorg-devel mailing list