summaryrefslogtreecommitdiff
path: root/xmake/modules/core
diff options
context:
space:
mode:
authorruki <[email protected]>2023-07-26 23:50:31 +0800
committerruki <[email protected]>2023-07-26 23:50:31 +0800
commit59c3c5d3a025ad3bed85f73f31de36f3094d1cc9 (patch)
treed0dd98cc56a457198d6be351b7c99c1242c80cec /xmake/modules/core
parent844baa5379db85f5327afc70d9a672c04967cd79 (diff)
add sse4.2
Diffstat (limited to 'xmake/modules/core')
-rw-r--r--xmake/modules/core/tools/cl.lua13
-rw-r--r--xmake/modules/core/tools/gcc.lua21
2 files changed, 18 insertions, 16 deletions
diff --git a/xmake/modules/core/tools/cl.lua b/xmake/modules/core/tools/cl.lua
index ad64a0267..0e4426436 100644
--- a/xmake/modules/core/tools/cl.lua
+++ b/xmake/modules/core/tools/cl.lua
@@ -180,12 +180,13 @@ end
function nf_vectorext(self, extension)
local maps =
{
- sse = "-arch:SSE"
- , sse2 = "-arch:SSE2"
- , avx = "-arch:AVX"
- , avx2 = "-arch:AVX2"
- , avx512 = "-arch:AVX512"
- , fma = "-arch:AVX2"
+ sse = "-arch:SSE"
+ , sse2 = "-arch:SSE2"
+ , ["sse4.2"] = "/d2archSSE42"
+ , avx = "-arch:AVX"
+ , avx2 = "-arch:AVX2"
+ , avx512 = "-arch:AVX512"
+ , fma = "-arch:AVX2"
}
local flag = maps[extension]
if flag and self:has_flags(flag, "cxflags") then
diff --git a/xmake/modules/core/tools/gcc.lua b/xmake/modules/core/tools/gcc.lua
index 2c8f497e0..e24153ff8 100644
--- a/xmake/modules/core/tools/gcc.lua
+++ b/xmake/modules/core/tools/gcc.lua
@@ -166,16 +166,17 @@ end
-- make the vector extension flag
function nf_vectorext(self, extension)
local maps = {
- mmx = "-mmmx"
- , sse = "-msse"
- , sse2 = "-msse2"
- , sse3 = "-msse3"
- , ssse3 = "-mssse3"
- , avx = "-mavx"
- , avx2 = "-mavx2"
- , avx512 = "-march=skylake-avx512"
- , fma = "-mfma"
- , neon = "-mfpu=neon"
+ mmx = "-mmmx"
+ , sse = "-msse"
+ , sse2 = "-msse2"
+ , sse3 = "-msse3"
+ , ssse3 = "-mssse3"
+ , ["sse4.2"] = "-msse4.2"
+ , avx = "-mavx"
+ , avx2 = "-mavx2"
+ , avx512 = "-march=skylake-avx512"
+ , fma = "-mfma"
+ , neon = "-mfpu=neon"
}
return maps[extension]
end