blob: b903349d5d111a09d9cff5d82ba4b3067305caa2 [file] [log] [blame]
Brad Bishopd7bf8c12018-02-25 22:55:05 -05001From 2c05b4072f982df8002d61327837e18a724e934f 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 28/47] 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 gcc/config/rs6000/linuxspe.h | 3 ---
21 2 files changed, 8 insertions(+), 4 deletions(-)
22
23diff --git a/gcc/config.gcc b/gcc/config.gcc
24index 5e45f4b5199..9b381dfd9af 100644
25--- a/gcc/config.gcc
26+++ b/gcc/config.gcc
27@@ -2415,7 +2415,14 @@ powerpc-*-rtems*)
28 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
29 ;;
30 powerpc*-*-linux*)
31- tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
32+ case ${target} in
33+ powerpc*-*-linux*spe* | powerpc*-*-linux*altivec*)
34+ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
35+ ;;
36+ *)
37+ 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"
38+ ;;
39+ esac
40 extra_options="${extra_options} rs6000/sysv4.opt"
41 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
42 extra_objs="$extra_objs rs6000-linux.o"
43diff --git a/gcc/config/rs6000/linuxspe.h b/gcc/config/rs6000/linuxspe.h
44index 92efabfe664..6d486451a7e 100644
45--- a/gcc/config/rs6000/linuxspe.h
46+++ b/gcc/config/rs6000/linuxspe.h
47@@ -27,6 +27,3 @@
48 #undef TARGET_DEFAULT
49 #define TARGET_DEFAULT MASK_STRICT_ALIGN
50 #endif
51-
52-#undef ASM_DEFAULT_SPEC
53-#define ASM_DEFAULT_SPEC "-mppc -mspe -me500"
54--
552.12.2
56