This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 0/3] Split off powerpcspe from rs6000 port
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Segher Boessenkool <segher at kernel dot crashing dot org>, David Edelsohn <dje dot gcc at gmail dot com>, Andrew Jenner <andrew at codesourcery dot com>, Arnaud Charlet <charlet at adacore dot com>, Joel Brobecker <brobecker at adacore dot com>, Joel Sherrill <joel dot sherrill at oarcorp dot com>, Joseph Myers <joseph at codesourcery dot com>, Olivier Hainque <hainque at adacore dot com>, Sandra Loosemore <sandra at codesourcery dot com>
- Date: Mon, 15 May 2017 20:51:49 +0000
- Subject: [PATCH 0/3] Split off powerpcspe from rs6000 port
- Authentication-results: sourceware.org; auth=none
Hi!
As discussed before, here is a series to split powerpcspe from the
rs6000 port. This series does not yet make any real changes to either
port: it is a copy of rs6000/ to powerpcspe/, with some renames and
some necessary changes to the port file, and slightly more involved
changes to config.gcc .
This was tested on powerpc64-linux {-m32,-m64}, and it was build-tested
on powerpc-linux-gnuspe (and the resulting compiler was tested to be
functional: it can build various Linux defconfigs for SPE systems).
I have tried to see how much the powerpcspe port can be simplified
after this, and found it can lose 80% of the code without big problems.
You may however not want all that, for example, I removed all 64-bit
support in that test. Getting rid of all VMX/VSX support is a big part
of it already, as is removing "classic" floating point (and paired
single, and xilinx fpu, and all newer ISA features, etc.)
For the rs6000 port the low-hanging fruits are much more modest, only
5% or a bit more; but in pretty gnarly code. For example, some current
pain points are the SPE ABI (for separate shrink-wrapping), and how
isel is handled.
This won't be the final series... I have a few questions:
-- This uses powerpc-*-rtems*spe*; do we want powerpcspe-*-rtems*
instead? Or both?
-- This uses powerpc-wrs-vxworksspe; do we want powerpcspe-wrs-vxworks
instead? Both? What about the ae and mils variants?
-- Does powerpc*-*-freebsd*spe* exist?
-- Does powerpc-*-netbsd*spe* exist?
-- Does powerpc-*-eabisim*spe* exist?
-- Does powerpcle-*-*spe* exist?
Also, testing is needed :-) You can get better testing by removing
the rs6000/ directories completely, btw.; otherwise files from rs6000/
can accidentally be picked up instead of the corresponfing file from
powerpcspe/, which will currently work because there are no big
differences yet, but things will diverge later (and then break).
Segher