summaryrefslogtreecommitdiff
path: root/xmake/modules/core/tools/gcc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/modules/core/tools/gcc.lua')
-rw-r--r--xmake/modules/core/tools/gcc.lua22
1 files changed, 13 insertions, 9 deletions
diff --git a/xmake/modules/core/tools/gcc.lua b/xmake/modules/core/tools/gcc.lua
index 60f6ac805..b45c04119 100644
--- a/xmake/modules/core/tools/gcc.lua
+++ b/xmake/modules/core/tools/gcc.lua
@@ -164,17 +164,21 @@ function nf_optimize(self, level)
end
-- make the vector extension flag
+-- @see https://github.com/xmake-io/xmake/issues/1613
function nf_vectorext(self, extension)
local maps = {
- mmx = "-mmmx"
- , sse = "-msse"
- , sse2 = "-msse2"
- , sse3 = "-msse3"
- , ssse3 = "-mssse3"
- , avx = "-mavx"
- , avx2 = "-mavx2"
- , fma = "-mfma"
- , neon = "-mfpu=neon"
+ mmx = "-mmmx"
+ , sse = "-msse"
+ , sse2 = "-msse2"
+ , sse3 = "-msse3"
+ , ssse3 = "-mssse3"
+ , ["sse4.2"] = "-msse4.2"
+ , avx = "-mavx"
+ , avx2 = "-mavx2"
+ , avx512 = {"-mavx512f", "-mavx512dq", "-mavx512bw", "-mavx512vl"}
+ , fma = "-mfma"
+ , neon = "-mfpu=neon"
+ , all = "-march=native"
}
return maps[extension]
end