[Mesa-dev] [PATCH 2/2] Make architecture specific compiler flags conditional for vector optimizations
Marc Dietrich
marvin24 at gmx.de
Fri Jan 16 04:42:55 PST 2015
If the compiler supports the target attribute (or pragma), we can specify the
target architecture directly in the source. In this case we don't need to
parse the compiler flag via the command line. This is usefull when compiling
with LTO enabled, where all files will be recompiled during the link time.
Signed-off-by: Marc Dietrich <marvin24 at gmx.de>
---
src/mesa/Makefile.am | 2 ++
src/mesa/main/sse_minmax.c | 1 +
src/mesa/main/streaming-load-memcpy.c | 1 +
3 files changed, 4 insertions(+)
diff --git a/src/mesa/Makefile.am b/src/mesa/Makefile.am
index 5a7884c..af64d74 100644
--- a/src/mesa/Makefile.am
+++ b/src/mesa/Makefile.am
@@ -190,7 +190,9 @@ libmesa_sse41_la_SOURCES = \
main/streaming-load-memcpy.h \
main/sse_minmax.c \
main/sse_minmax.h
+if !HAVE_TARGET_ATTRIBUTE
libmesa_sse41_la_CFLAGS = $(AM_CFLAGS) $(SSE41_CFLAGS)
+endif
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gl.pc
diff --git a/src/mesa/main/sse_minmax.c b/src/mesa/main/sse_minmax.c
index 2e34716..5fd59fc 100644
--- a/src/mesa/main/sse_minmax.c
+++ b/src/mesa/main/sse_minmax.c
@@ -25,6 +25,7 @@
*
*/
+#pragma GCC target ("sse4.1")
#include "main/sse_minmax.h"
#include <smmintrin.h>
#include <stdint.h>
diff --git a/src/mesa/main/streaming-load-memcpy.c b/src/mesa/main/streaming-load-memcpy.c
index d7147af..c84c8cf 100644
--- a/src/mesa/main/streaming-load-memcpy.c
+++ b/src/mesa/main/streaming-load-memcpy.c
@@ -26,6 +26,7 @@
*
*/
+#pragma GCC target ("sse4.1")
#include "main/macros.h"
#include "main/streaming-load-memcpy.h"
#include <smmintrin.h>
--
2.2.1
More information about the mesa-dev
mailing list