Fwd: [PATCH 0/3] Split off powerpcspe from rs6000 port
Sebastian Huber
sebastian.huber at embedded-brains.de
Tue May 16 13:28:54 UTC 2017
FYI
I guess for RTEMS we should use "powerpcspe-rtems*-*". Is it possible to
use the RTEMS "powerpc" directories with such a target? We had an
"arm-rtemseabi*" maybe due to some configure/automake limitations. So,
maybe "powerpc-rtemsspe*"?
-------- Forwarded Message --------
Subject: [PATCH 0/3] Split off powerpcspe from rs6000 port
Date: Mon, 15 May 2017 20:51:49 +0000
From: Segher Boessenkool <segher at kernel.crashing.org>
To: gcc-patches at gcc.gnu.org
CC: Segher Boessenkool <segher at kernel.crashing.org>, David Edelsohn
<dje.gcc at gmail.com>, Andrew Jenner <andrew at codesourcery.com>, Arnaud
Charlet <charlet at adacore.com>, Joel Brobecker <brobecker at adacore.com>,
Joel Sherrill <joel.sherrill at oarcorp.com>, Joseph Myers
<joseph at codesourcery.com>, Olivier Hainque <hainque at adacore.com>, Sandra
Loosemore <sandra at codesourcery.com>
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
More information about the devel
mailing list