Don't generate (S)SSE3 instructions in static code.
-march=core2 implies support for both the SSE3 and SSSE3 instruction
set extensions. Chrome should run on CPUs with only SSE2 as well.
Also, make use of SSE on x86-32 for floating-point operations, to be
consistent with x86-64, and don't favor any specific architecture for
tuning.
Bug chromium:797763
Change-Id: Ia17428734460ed855f3aa0f83c6d2f6b3775094c
Reviewed-on: https://swiftshader-review.googlesource.com/15688
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index 6403ca8..9404d0b 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -74,13 +74,16 @@
cflags += [
"-m64",
"-fPIC",
- "-march=core2",
+ "-march=x86-64",
+ "-mtune=generic",
]
} else { # 32 bit version
cflags += [
"-m32",
"-msse2",
- "-march=i686",
+ "-mfpmath=sse",
+ "-march=pentium4",
+ "-mtune=generic",
]
}