about summary refs log tree commit diff
path: root/sysdeps/sparc
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2016-08-05 22:35:01 +0200
committerAurelien Jarno <aurelien@aurel32.net>2016-08-05 22:35:01 +0200
commit9c8addbc1cd414711310c5a47693f5b0f0b9be3a (patch)
treed3d5472469ed40365cc6f9c8ceb99d82043af6a8 /sysdeps/sparc
parentd4cf1331007743c21e4f03603add48a107a6857d (diff)
downloadglibc-9c8addbc1cd414711310c5a47693f5b0f0b9be3a.tar.gz
glibc-9c8addbc1cd414711310c5a47693f5b0f0b9be3a.tar.xz
glibc-9c8addbc1cd414711310c5a47693f5b0f0b9be3a.zip
sparc: build with -mvis on sparc32/sparcv9 and sparc64
When building for sparc32/sparcv9 or sparc64, we assume that VIS
instructions are available and use them in the sparc specific assembly
code. However we do not tell GCC to use such instructions, resulting in
slightly suboptimal code.

Fix that by passing -Wa,-Av9a -mvis to GCC.

Changelog:
	* sysdeps/sparc/sparc32/sparcv9/Makefile (sysdep-CFLAGS): Add -mvis.
	* sysdeps/sparc/sparc64/Makefile (sysdep-CFLAGS): New. Define to
	-Wa,-Av9a -mvis.
Diffstat (limited to 'sysdeps/sparc')
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/Makefile2
-rw-r--r--sysdeps/sparc/sparc64/Makefile2
2 files changed, 3 insertions, 1 deletions
diff --git a/sysdeps/sparc/sparc32/sparcv9/Makefile b/sysdeps/sparc/sparc32/sparcv9/Makefile
index fefc742478..08c5a96c95 100644
--- a/sysdeps/sparc/sparc32/sparcv9/Makefile
+++ b/sysdeps/sparc/sparc32/sparcv9/Makefile
@@ -1,4 +1,4 @@
-sysdep-CFLAGS += -mcpu=ultrasparc -Wa,-Av9a
+sysdep-CFLAGS += -mcpu=ultrasparc -Wa,-Av9a -mvis
 
 ifeq ($(have-as-vis3),yes)
 ASFLAGS-.o += -Wa,-Av9d
diff --git a/sysdeps/sparc/sparc64/Makefile b/sysdeps/sparc/sparc64/Makefile
index 3a12510307..fbabf69263 100644
--- a/sysdeps/sparc/sparc64/Makefile
+++ b/sysdeps/sparc/sparc64/Makefile
@@ -1,3 +1,5 @@
+sysdep-CFLAGS += -Wa,-Av9a -mvis
+
 ifeq ($(subdir),string)
 sysdep_routines += align-cpy
 endif