diff options
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-6.4/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch')
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-6.4/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-6.4/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch b/meta/recipes-devtools/gcc/gcc-6.4/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch new file mode 100644 index 0000000000..47b9c0d1b1 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-6.4/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch | |||
| @@ -0,0 +1,56 @@ | |||
| 1 | From e140700976e3b7eb4250b1ffde9bc16494456903 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com> | ||
| 3 | Date: Wed, 5 Feb 2014 16:52:31 +0200 | ||
| 4 | Subject: [PATCH 29/46] Enable SPE & AltiVec generation on powepc*linux target | ||
| 5 | |||
| 6 | When is configured with --target=powerpc-linux, the resulting GCC will | ||
| 7 | not be able to generate code for SPE targets (e500v1/v2). | ||
| 8 | GCC configured with --target=powerpc-linuxspe will not be able to | ||
| 9 | generate AltiVec instructions (for e6500). | ||
| 10 | This patch modifies the configured file such that SPE or AltiVec code | ||
| 11 | can be generated when gcc is configured with --target=powerpc-linux. | ||
| 12 | The ABI and speciffic instructions can be selected through the | ||
| 13 | "-mabi=spe or -mabi=altivec" and the "-mspe or -maltivec" parameters. | ||
| 14 | |||
| 15 | Upstream-Status: Inappropriate [configuration] | ||
| 16 | |||
| 17 | Signed-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 | |||
| 23 | diff --git a/gcc/config.gcc b/gcc/config.gcc | ||
| 24 | index 9c6d156..18cff5a 100644 | ||
| 25 | --- a/gcc/config.gcc | ||
| 26 | +++ b/gcc/config.gcc | ||
| 27 | @@ -2392,7 +2392,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" | ||
| 43 | diff --git a/gcc/config/rs6000/linuxspe.h b/gcc/config/rs6000/linuxspe.h | ||
| 44 | index 35623cd..f74e00d 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 | -- | ||
| 55 | 2.8.2 | ||
| 56 | |||
