| From 4ed8c1fd9dc05f7a9db9298a55396c8f0ff549a7 Mon Sep 17 00:00:00 2001 |
| From: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com> |
| Date: Wed, 5 Feb 2014 16:52:31 +0200 |
| Subject: [PATCH 30/46] Enable SPE & AltiVec generation on powepc*linux target |
| |
| When is configured with --target=powerpc-linux, the resulting GCC will |
| not be able to generate code for SPE targets (e500v1/v2). |
| GCC configured with --target=powerpc-linuxspe will not be able to |
| generate AltiVec instructions (for e6500). |
| This patch modifies the configured file such that SPE or AltiVec code |
| can be generated when gcc is configured with --target=powerpc-linux. |
| The ABI and speciffic instructions can be selected through the |
| "-mabi=spe or -mabi=altivec" and the "-mspe or -maltivec" parameters. |
| |
| Upstream-Status: Inappropriate [configuration] |
| |
| Signed-off-by: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com> |
| --- |
| gcc/config.gcc | 9 ++++++++- |
| 1 file changed, 8 insertions(+), 1 deletion(-) |
| |
| Index: gcc-5.3.0/gcc/config.gcc |
| =================================================================== |
| --- gcc-5.3.0.orig/gcc/config.gcc |
| +++ gcc-5.3.0/gcc/config.gcc |
| @@ -2346,7 +2346,14 @@ powerpc-*-rtems*) |
| tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm" |
| ;; |
| powerpc*-*-linux*) |
| - tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h" |
| + case ${target} in |
| + powerpc*-*-linux*spe* | powerpc*-*-linux*altivec*) |
| + tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h" |
| + ;; |
| + *) |
| + tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h rs6000/linuxaltivec.h rs6000/linuxspe.h rs6000/e500.h" |
| + ;; |
| + esac |
| extra_options="${extra_options} rs6000/sysv4.opt" |
| tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm" |
| extra_objs="$extra_objs rs6000-linux.o" |
| Index: gcc-5.3.0/gcc/config/rs6000/linuxspe.h |
| =================================================================== |
| --- gcc-5.3.0.orig/gcc/config/rs6000/linuxspe.h |
| +++ gcc-5.3.0/gcc/config/rs6000/linuxspe.h |
| @@ -27,6 +27,3 @@ |
| #undef TARGET_DEFAULT |
| #define TARGET_DEFAULT MASK_STRICT_ALIGN |
| #endif |
| - |
| -#undef ASM_DEFAULT_SPEC |
| -#define ASM_DEFAULT_SPEC "-mppc -mspe -me500" |