diff options
author | Ryan S. Arnold <rsa@us.ibm.com> | 2011-05-20 06:34:48 -0400 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-05-20 06:34:48 -0400 |
commit | 457bddfc2a8aa8a65b176afb408f0d068a590316 (patch) | |
tree | 1e031089eff67d30ae5e2ad2750fedf166e9ef56 | |
parent | a4527b51d41d87379ab7f63909a953a288c4c377 (diff) | |
download | glibc-457bddfc2a8aa8a65b176afb408f0d068a590316.tar.gz glibc-457bddfc2a8aa8a65b176afb408f0d068a590316.tar.xz glibc-457bddfc2a8aa8a65b176afb408f0d068a590316.zip |
Prevent Altivec and VSX insns on PowerPC64 when no FPRs or VRs are avail.
(cherry picked from commit 4749a0058b27274a95c5a798e339c7299cdf890e) Conflicts: ChangeLog
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/Makefile | 7 |
2 files changed, 11 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 7557fa8aa8..02f4737c41 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-05-18 Ryan S. Arnold <rsa@us.ibm.com> + + * sysdeps/powerpc/powerpc64/Makefile (no-special-regs): Add -mno-vsx + and -mno-altivec to prevent the compiler from using Altivec and/or + VSX instructions when the corresponding registers are not available. + 2011-05-19 Andreas Schwab <schwab@redhat.com> * grp/compat-initgroups.c (__libc_use_alloca): Don't define. diff --git a/sysdeps/powerpc/powerpc64/Makefile b/sysdeps/powerpc/powerpc64/Makefile index 78d4f07e57..136de3008e 100644 --- a/sysdeps/powerpc/powerpc64/Makefile +++ b/sysdeps/powerpc/powerpc64/Makefile @@ -12,7 +12,10 @@ endif # These flags prevent FPU or Altivec registers from being used, # for code called in contexts that is not allowed to touch those registers. -# Stupid GCC requires us to pass all these ridiculous switches. +# Stupid GCC requires us to pass all these ridiculous switches. We need to +# pass the -mno-* switches as well to prevent the compiler from attempting +# to emit altivec or vsx instructions, especially when the registers aren't +# available. no-special-regs := $(sort $(foreach n,40 41 50 51 60 61 62 63 \ $(foreach m,2 3 4 5 6 7 8 9, \ 3$m 4$m 5$m),\ @@ -20,7 +23,7 @@ no-special-regs := $(sort $(foreach n,40 41 50 51 60 61 62 63 \ $(sort $(foreach n,$(foreach m,0 1 2 3 4 5 6 7 8 9,\ $m 1$m 2$m) 30 31,\ -ffixed-v$n)) \ - -ffixed-vrsave -ffixed-vscr + -ffixed-vrsave -ffixed-vscr -mno-altivec -mno-vsx ifeq ($(subdir),csu) sysdep_routines += hp-timing |