aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2015-08-12 17:48:07 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-08-12 17:48:07 +1000
commitced8a8bdfbde2f7c39bf75634eac6210f1d9729f (patch)
tree7e79cccca0a315da457fb45150ed56c30011bcf7
parente41e541fafb27f54d4d28223bdca9667d78cb50f (diff)
downloadskiboot-ced8a8bdfbde2f7c39bf75634eac6210f1d9729f.zip
skiboot-ced8a8bdfbde2f7c39bf75634eac6210f1d9729f.tar.gz
skiboot-ced8a8bdfbde2f7c39bf75634eac6210f1d9729f.tar.bz2
Newer GCC can automatically vectorise code. We do not want that.
Using vector instructions in skiboot needs care as we do not: a) enable them during boot b) save/restore the registers Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r--Makefile.main6
1 files changed, 6 insertions, 0 deletions
diff --git a/Makefile.main b/Makefile.main
index d5975e2..d0e5f58 100644
--- a/Makefile.main
+++ b/Makefile.main
@@ -100,6 +100,12 @@ CFLAGS += -msoft-float
CFLAGS += -mno-string
# do not use load/store multiple word instrcutions
CFLAGS += -mno-multiple
+# do not use any automatic vector foo
+# While it would be safe during boot, we don't save/restore across OPAL calls
+CFLAGS += $(call try-cflag,$(CC),-mno-vsx) \
+ $(call try-cflag,$(CC),-mno-direct-move) \
+ $(call try-cflag,$(CC),-mno-altivec)
+
# Do not use load/store update. You REALLY do not want to use this!
# The async safety of the ABI stack depends on the atomicity
# of update on store.