This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: modified x86 ABI
- From: "Uros Bizjak" <ubizjak at gmail dot com>
- To: "GCC Patches" <gcc-patches at gcc dot gnu dot org>
- Cc: "David Taylor" <dtaylor at emc dot com>, "Darryl L. Miles" <darryl-mailinglists at netbauds dot net>, "Andrew Haley" <aph at redhat dot com>, "Seongbae Park (박성배, 朴成培)" <seongbae dot park at gmail dot com>
- Date: Tue, 23 Oct 2007 10:07:03 +0200
- Subject: Re: modified x86 ABI
Hello!
> At EMC we have a version of GCC which targets the x86 with a non
> standard ABI -- it produces code for 64 bit mode mode, but with types
> having the 32 bit ABI sizes. So, ints, longs, and pointers are 32
> bits -- that is, it's ILP32 rather than LP64 -- but with the chip in
> 64 bit mode.
> If this set of changes was cleaned up, finished, and made relative to
> top of trunk rather than relative to 3.4.6, would people be interested
> in them?
Just recently, there was a discussion about memory consumpltion of
64bit x86 binaries [1], so your patch would address these issues.
Perhaps you should read a thread starting from [1], where some of the
issues regarding ABI change are already discussed.
> Put another way, should I bother to post them to gcc-patches (probably
> 3-6 months out) for possible inclusion into gcc?
If there are indeed ~50% memory savings from using ILP32 instead of
LP64, as speculated in [1], then I'm sure that functionality that
brings goodies from 32bit (memory savings) and 64bit (new registers)
would find a lot of uses. We can introduce (for example) -mabi=32+
switch and experiment there.
OTOH, we are currently in development stage-3 and your proposed
timeline fits nicely in the time frame for new stage-1.
[1] http://gcc.gnu.org/ml/gcc/2007-10/msg00156.html
Uros.