On 13/10/2017 17:07, Jeff Law wrote:
On 08/31/2017 12:54 PM, Olivier Hainque wrote:
Hello,
gcc can be configured with an "e500v2" cpu target
name, conveying SPE with double precision floats.
config.gcc already has a provision for a good default
cpu selection for SPE with double precision floats
when the latter is explicitly requested with an explicit
--enable command line option. This is:
# If there is no $with_cpu option, try to infer one from ${target}.
# This block sets nothing except for with_cpu.
...
case ${target} in
...
powerpc*-*-*spe*)
if test x$enable_e500_double = xyes; then
with_cpu=8548
else
with_cpu=8540
fi
;;
The attached patch is a proposal to refine this to select 8548 also
when we were configured for an e500v2 target cpu (canonicalized to
match powerpc-*spe), regardless of enable_e500_double.
We have been using something like this in production for a few
years in-house, lately with gcc-6 based toolchains for VxWorks or
bareboard configurations.
I also checked that
- e500v2-wrs-vxworks builds work with gcc-7, that the default cpu is
indeed properly set to 8548, and that the built toolchains pass Ada
ACATS tests for a couple of runtime library variants (kernel and rtp).
- a mainline build for powerpc-eabispe without --enable-e500-double
defaults to 8540
- a mainline build for powerpc-eabispe with --enable-e500-double
defaults to 8548
- a mainline build for e500v2-wrs-vxworks without --enable-e500-double
defaults to 8548
OK to commit ?
Thanks in advance
2017-08-31 Olivier Hainque <hain...@adacore.com>
* gcc/config.gcc (powerpc*-*-*spe*): Pick 8548 as the
default with_cpu for an e500v2 target cpu name, in addition
to --enable-e500-double.
GIven this hits the powerpcspe port, I'd like Andrew Jenner to chime in
as the powerpcspe maintainer. I've added him on CC.
This change is fine with me too. Thanks!
Andrew