summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-5.4/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-5.4/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-5.4/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-5.4/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch b/meta/recipes-devtools/gcc/gcc-5.4/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
new file mode 100644
index 0000000000..57051871b3
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-5.4/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
@@ -0,0 +1,52 @@
1From 4ed8c1fd9dc05f7a9db9298a55396c8f0ff549a7 Mon Sep 17 00:00:00 2001
2From: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com>
3Date: Wed, 5 Feb 2014 16:52:31 +0200
4Subject: [PATCH 30/46] Enable SPE & AltiVec generation on powepc*linux target
5
6When is configured with --target=powerpc-linux, the resulting GCC will
7not be able to generate code for SPE targets (e500v1/v2).
8GCC configured with --target=powerpc-linuxspe will not be able to
9generate AltiVec instructions (for e6500).
10This patch modifies the configured file such that SPE or AltiVec code
11can be generated when gcc is configured with --target=powerpc-linux.
12The ABI and speciffic instructions can be selected through the
13"-mabi=spe or -mabi=altivec" and the "-mspe or -maltivec" parameters.
14
15Upstream-Status: Inappropriate [configuration]
16
17Signed-off-by: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com>
18---
19 gcc/config.gcc | 9 ++++++++-
20 1 file changed, 8 insertions(+), 1 deletion(-)
21
22Index: gcc-5.3.0/gcc/config.gcc
23===================================================================
24--- gcc-5.3.0.orig/gcc/config.gcc
25+++ gcc-5.3.0/gcc/config.gcc
26@@ -2346,7 +2346,14 @@ powerpc-*-rtems*)
27 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
28 ;;
29 powerpc*-*-linux*)
30- tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
31+ case ${target} in
32+ powerpc*-*-linux*spe* | powerpc*-*-linux*altivec*)
33+ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
34+ ;;
35+ *)
36+ 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"
37+ ;;
38+ esac
39 extra_options="${extra_options} rs6000/sysv4.opt"
40 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
41 extra_objs="$extra_objs rs6000-linux.o"
42Index: gcc-5.3.0/gcc/config/rs6000/linuxspe.h
43===================================================================
44--- gcc-5.3.0.orig/gcc/config/rs6000/linuxspe.h
45+++ gcc-5.3.0/gcc/config/rs6000/linuxspe.h
46@@ -27,6 +27,3 @@
47 #undef TARGET_DEFAULT
48 #define TARGET_DEFAULT MASK_STRICT_ALIGN
49 #endif
50-
51-#undef ASM_DEFAULT_SPEC
52-#define ASM_DEFAULT_SPEC "-mppc -mspe -me500"