Merge "Use __builtin_shufflevector when building with Clang"
diff --git a/BUILD.gn b/BUILD.gn
index af9ae11..14f0c18 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -56,6 +56,9 @@
"-Wno-unused-const-variable",
"-Wno-unused-local-typedef",
"-Wno-unused-function",
+ # Release builds in Fuchsia define -ffunction-sections, which causes
+ # the link of the combined cairo/pixman library to fail on x86_64.
+ "-fno-function-sections",
]
if (current_cpu == "arm64") {
@@ -128,6 +131,7 @@
"pixman/pixman-timer.c",
"pixman/pixman-trap.c",
"pixman/pixman-utils.c",
+ "pixman/pixman-x86.c",
"pixman/pixman.c",
]
@@ -138,7 +142,6 @@
if (current_cpu == "x64") {
sources += [
- "pixman/pixman-x86.c",
"pixman/pixman-sse2.c",
]
diff --git a/config.h.fuchsia b/config.h.fuchsia
index 5b8dc84..9434249 100644
--- a/config.h.fuchsia
+++ b/config.h.fuchsia
@@ -146,12 +146,16 @@
/* use OpenMP in the test suite */
/* #undef USE_OPENMP */
+#if defined(_M_X64) || defined(__x86_64__) || defined(_M_IX86) || defined(__i386__)
+
/* use SSE2 compiler intrinsics */
#define USE_SSE2 1
/* use SSSE3 compiler intrinsics */
#define USE_SSSE3 1
+#endif
+
/* use VMX compiler intrinsics */
/* #undef USE_VMX */