diff options
| author | ruki <[email protected]> | 2023-07-26 23:49:04 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-07-26 23:49:04 +0800 |
| commit | 844baa5379db85f5327afc70d9a672c04967cd79 (patch) | |
| tree | ea111f2dce7cefa97e5b4c859cdbe9c4ae72073b /xmake/modules | |
| parent | db47073a5ec27a85073d67c03e38c7bd55598598 (diff) | |
add avx512 for vectorext
Diffstat (limited to 'xmake/modules')
| -rw-r--r-- | xmake/modules/core/tools/cl.lua | 1 | ||||
| -rw-r--r-- | xmake/modules/core/tools/gcc.lua | 19 | ||||
| -rw-r--r-- | xmake/modules/private/check/checkers/api/target/vectorexts.lua | 2 |
3 files changed, 12 insertions, 10 deletions
diff --git a/xmake/modules/core/tools/cl.lua b/xmake/modules/core/tools/cl.lua index e69b7d814..ad64a0267 100644 --- a/xmake/modules/core/tools/cl.lua +++ b/xmake/modules/core/tools/cl.lua @@ -184,6 +184,7 @@ function nf_vectorext(self, extension) , sse2 = "-arch:SSE2" , avx = "-arch:AVX" , avx2 = "-arch:AVX2" + , avx512 = "-arch:AVX512" , fma = "-arch:AVX2" } local flag = maps[extension] diff --git a/xmake/modules/core/tools/gcc.lua b/xmake/modules/core/tools/gcc.lua index 60f6ac805..2c8f497e0 100644 --- a/xmake/modules/core/tools/gcc.lua +++ b/xmake/modules/core/tools/gcc.lua @@ -166,15 +166,16 @@ 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" - , fma = "-mfma" - , neon = "-mfpu=neon" + mmx = "-mmmx" + , sse = "-msse" + , sse2 = "-msse2" + , sse3 = "-msse3" + , ssse3 = "-mssse3" + , avx = "-mavx" + , avx2 = "-mavx2" + , avx512 = "-march=skylake-avx512" + , fma = "-mfma" + , neon = "-mfpu=neon" } return maps[extension] end diff --git a/xmake/modules/private/check/checkers/api/target/vectorexts.lua b/xmake/modules/private/check/checkers/api/target/vectorexts.lua index 3c7a97450..0451108b9 100644 --- a/xmake/modules/private/check/checkers/api/target/vectorexts.lua +++ b/xmake/modules/private/check/checkers/api/target/vectorexts.lua @@ -24,5 +24,5 @@ import(".api_checker") function main(opt) opt = opt or {} api_checker.check_targets("vectorexts", table.join(opt, {values = { - "none", "sse", "sse2", "sse3", "ssse3", "avx", "avx2", "fma", "neon"}})) + "none", "sse", "sse2", "sse3", "ssse3", "avx", "avx2", "avx512", "fma", "neon"}})) end |
