diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2011-11-05 07:09:09 +0100 |
---|---|---|
committer | Ralf Corsepius <corsepiu@gcc.gnu.org> | 2011-11-05 07:09:09 +0100 |
commit | bce15ee8460192caf7702fa46758156b95b8cfa6 (patch) | |
tree | d738a046e57b43f9d7d59f9dee39d882fd2eca80 | |
parent | d618bb2c8648303ada2841e9bdf48122c863223f (diff) | |
download | gcc-bce15ee8460192caf7702fa46758156b95b8cfa6.zip gcc-bce15ee8460192caf7702fa46758156b95b8cfa6.tar.gz gcc-bce15ee8460192caf7702fa46758156b95b8cfa6.tar.bz2 |
t-rtems: Add -mcpu=8540/-mfloat-gprs=double multilib.
2011-11-05 Ralf Corsépius <ralf.corsepius@rtems.org>
* config/rs6000/t-rtems: Add -mcpu=8540/-mfloat-gprs=double multilib.
Remove -mcpu=601 multilib.
Remove -Dmpc8260 multilib.
* config/rs6000/rtems.h: Allow --float-gprs=... to override grps
on E500 targets.
From-SVN: r181005
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/rs6000/rtems.h | 13 | ||||
-rw-r--r-- | gcc/config/rs6000/t-rtems | 40 |
3 files changed, 43 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fbe7606..918e755 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2011-11-05 Ralf Corsépius <ralf.corsepius@rtems.org> + + * config/rs6000/t-rtems: Add -mcpu=8540/-mfloat-gprs=double multilib. + Remove -mcpu=601 multilib. + Remove -Dmpc8260 multilib. + * config/rs6000/rtems.h: Allow --float-gprs=... to override grps + on E500 targets. + 2011-11-05 Quentin Neill <quentin.neill@amd.com> Piledriver f16cintrin.h fix. diff --git a/gcc/config/rs6000/rtems.h b/gcc/config/rs6000/rtems.h index a8bd0e7..1125e83 100644 --- a/gcc/config/rs6000/rtems.h +++ b/gcc/config/rs6000/rtems.h @@ -49,8 +49,19 @@ %{mcpu=604: %{!Dppc*: %{!Dmpc*: -Dmpc604} } } \ %{mcpu=750: %{!Dppc*: %{!Dmpc*: -Dmpc750} } } \ %{mcpu=821: %{!Dppc*: %{!Dmpc*: -Dmpc821} } } \ -%{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } }" +%{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } } \ +%{mcpu=8540: %{!Dppc*: %{!Dmpc*: -Dppc8540} } }" #undef SUBSUBTARGET_EXTRA_SPECS #define SUBSUBTARGET_EXTRA_SPECS \ { "cpp_os_rtems", CPP_OS_RTEMS_SPEC } + +#undef SUBSUBTARGET_OVERRIDE_OPTIONS +#define SUBSUBTARGET_OVERRIDE_OPTIONS \ + do { \ + if (TARGET_E500) \ + { \ + if (TARGET_HARD_FLOAT && !rs6000_explicit_options.float_gprs) \ + rs6000_float_gprs = 1; \ + } \ + } while(0) diff --git a/gcc/config/rs6000/t-rtems b/gcc/config/rs6000/t-rtems index cad98c5..74465b7 100644 --- a/gcc/config/rs6000/t-rtems +++ b/gcc/config/rs6000/t-rtems @@ -19,14 +19,12 @@ # <http://www.gnu.org/licenses/>. MULTILIB_OPTIONS = \ -mcpu=403/mcpu=505/mcpu=601/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400 \ -Dmpc8260 \ -msoft-float +mcpu=403/mcpu=505/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400/mcpu=8540 \ +msoft-float/mfloat-gprs=double MULTILIB_DIRNAMES = \ -m403 m505 m601 m603e m604 m860 m7400 \ -mpc8260 \ -nof +m403 m505 m603e m604 m860 m7400 m8540 \ +nof gprsdouble # MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT} MULTILIB_MATCHES = @@ -47,6 +45,13 @@ MULTILIB_MATCHES += mcpu?7400=mcpu?7450 # Map 750 to . MULTILIB_MATCHES += mcpu?750= +# Map 8548 to 8540 +MULTILIB_MATCHES += mcpu?8540=mcpu?8548 + +# Map -mcpu=8540 -mfloat-gprs=single to -mcpu=8540 +# (mfloat-gprs=single is implicit default) +MULTILIB_MATCHES += mcpu?8540=mcpu?8540/mfloat-gprs?single + # Soft-float only, default implies msoft-float # NOTE: Must match with MULTILIB_MATCHES_FLOAT and MULTILIB_MATCHES MULTILIB_SOFTFLOAT_ONLY = \ @@ -62,6 +67,16 @@ MULTILIB_SOFTFLOAT_ONLY = \ MULTILIB_HARDFLOAT_ONLY = \ *mcpu=505/*msoft-float* +# Targets which do not support gprs +MULTILIB_NOGPRS = \ +mfloat-gprs=* \ +*mcpu=403/*mfloat-gprs=* \ +*mcpu=505/*mfloat-gprs=* \ +*mcpu=603e/*mfloat-gprs=* \ +*mcpu=604/*mfloat-gprs=* \ +*mcpu=860/*mfloat-gprs=* \ +*mcpu=7400/*mfloat-gprs=* + MULTILIB_EXCEPTIONS = # Disallow -Dppc and -Dmpc without other options @@ -69,14 +84,5 @@ MULTILIB_EXCEPTIONS += Dppc* Dmpc* MULTILIB_EXCEPTIONS += \ ${MULTILIB_SOFTFLOAT_ONLY} \ -${MULTILIB_HARDFLOAT_ONLY} - -# Special rules -# Take out all variants we don't want -MULTILIB_EXCEPTIONS += *mcpu=403/Dmpc* -MULTILIB_EXCEPTIONS += *mcpu=505/Dmpc* -MULTILIB_EXCEPTIONS += *mcpu=601/Dmpc* -MULTILIB_EXCEPTIONS += *mcpu=604/Dmpc* -MULTILIB_EXCEPTIONS += *mcpu=750/Dmpc* -MULTILIB_EXCEPTIONS += *mcpu=860/Dmpc* -MULTILIB_EXCEPTIONS += *mcpu=7400/Dmpc* +${MULTILIB_HARDFLOAT_ONLY} \ +${MULTILIB_NOGPRS} |