@@ -33,7 +33,7 @@ include(string(length(Core.ARGS) >= 2 ? Core.ARGS[2] : "", "features_h.jl")) #
33
33
34
34
# Keep in sync with `arch_march_isa_mapping`.
35
35
const ISAs_by_family = Dict (
36
- " x86_64" => (
36
+ " x86_64" => [
37
37
# Source: https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html.
38
38
# Implicit in all sets, because always required: mmx, sse, sse2
39
39
" x86_64" => ISA (Set {UInt32} ()),
@@ -43,19 +43,19 @@ const ISAs_by_family = Dict(
43
43
" haswell" => ISA (Set ((JL_X86_movbe, JL_X86_sse3, JL_X86_ssse3, JL_X86_sse41, JL_X86_sse42, JL_X86_popcnt, JL_X86_avx, JL_X86_avx2, JL_X86_aes, JL_X86_pclmul, JL_X86_fsgsbase, JL_X86_rdrnd, JL_X86_fma, JL_X86_bmi, JL_X86_bmi2, JL_X86_f16c))),
44
44
" skylake" => ISA (Set ((JL_X86_movbe, JL_X86_sse3, JL_X86_ssse3, JL_X86_sse41, JL_X86_sse42, JL_X86_popcnt, JL_X86_avx, JL_X86_avx2, JL_X86_aes, JL_X86_pclmul, JL_X86_fsgsbase, JL_X86_rdrnd, JL_X86_fma, JL_X86_bmi, JL_X86_bmi2, JL_X86_f16c, JL_X86_rdseed, JL_X86_adx, JL_X86_prfchw, JL_X86_clflushopt, JL_X86_xsavec, JL_X86_xsaves))),
45
45
" skylake_avx512" => ISA (Set ((JL_X86_movbe, JL_X86_sse3, JL_X86_ssse3, JL_X86_sse41, JL_X86_sse42, JL_X86_popcnt, JL_X86_pku, JL_X86_avx, JL_X86_avx2, JL_X86_aes, JL_X86_pclmul, JL_X86_fsgsbase, JL_X86_rdrnd, JL_X86_fma, JL_X86_bmi, JL_X86_bmi2, JL_X86_f16c, JL_X86_rdseed, JL_X86_adx, JL_X86_prfchw, JL_X86_clflushopt, JL_X86_xsavec, JL_X86_xsaves, JL_X86_avx512f, JL_X86_clwb, JL_X86_avx512vl, JL_X86_avx512bw, JL_X86_avx512dq, JL_X86_avx512cd))),
46
- ) ,
47
- " arm" => (
46
+ ] ,
47
+ " arm" => [
48
48
" armv7l" => ISA (Set {UInt32} ()),
49
49
" armv7l_neon" => ISA (Set ((JL_AArch32_neon,))),
50
50
" armv7l_neon_vfp4" => ISA (Set ((JL_AArch32_neon, JL_AArch32_vfp4))),
51
- ) ,
52
- " aarch64" => (
51
+ ] ,
52
+ " aarch64" => [
53
53
# Implicit in all sets, because always required: fp, asimd
54
54
" armv8.0_a" => ISA (Set {UInt32} ()),
55
55
" armv8.1_a" => ISA (Set ((JL_AArch64_lse, JL_AArch64_crc, JL_AArch64_rdm))),
56
56
" armv8.2_a_crypto" => ISA (Set ((JL_AArch64_lse, JL_AArch64_crc, JL_AArch64_rdm, JL_AArch64_aes, JL_AArch64_sha2))),
57
57
" armv8.4_a_crypto_sve" => ISA (Set ((JL_AArch64_lse, JL_AArch64_crc, JL_AArch64_rdm, JL_AArch64_fp16fml, JL_AArch64_dotprod, JL_AArch64_aes, JL_AArch64_sha2, JL_AArch64_dotprod, JL_AArch64_sve))),
58
- ) ,
58
+ ] ,
59
59
)
60
60
61
61
test_cpu_feature (feature:: UInt32 ) = ccall (:jl_test_cpu_feature , Bool, (UInt32,), feature)
@@ -652,22 +652,22 @@ const arch_march_isa_mapping = let
652
652
return all[findfirst (x -> x. first == name, all)]. second
653
653
end
654
654
Dict (
655
- " x86_64" => Dict {String,CPUID.ISA} (
655
+ " x86_64" => [
656
656
" x86_64" => get_set (" x86_64" , " x86_64" ),
657
657
" avx" => get_set (" x86_64" , " sandybridge" ),
658
658
" avx2" => get_set (" x86_64" , " haswell" ),
659
659
" avx512" => get_set (" x86_64" , " skylake_avx512" ),
660
- ) ,
661
- " armv7l" => Dict {String,CPUID.ISA} (
660
+ ] ,
661
+ " armv7l" => [
662
662
" armv7l" => get_set (" arm" , " armv7l" ),
663
663
" neon" => get_set (" arm" , " armv7l_neon" ),
664
664
" vfp4" => get_set (" arm" , " armv7l_neon_vfp4" ),
665
- ) ,
666
- " aarch64" => Dict {String,CPUID.ISA} (
665
+ ] ,
666
+ " aarch64" => [
667
667
" armv8" => get_set (" aarch64" , " armv8.0_a" ),
668
668
" thunderx2" => get_set (" aarch64" , " armv8.1_a" ),
669
669
" carmel" => get_set (" aarch64" , " armv8.2_a_crypto" ),
670
- ) ,
670
+ ] ,
671
671
)
672
672
end
673
673
const os_mapping = Dict (
0 commit comments