66
77import codecs
88import os
9+ from immutabledict import immutabledict
10+
911
1012
1113def _indent (text ):
@@ -23,7 +25,7 @@ def _remove_duplicate_newlines(text):
2325 return "\n " .join (filtered_lines )
2426
2527
26- _ARCH_TO_MACRO_MAP = {
28+ _ARCH_TO_MACRO_MAP = immutabledict ( {
2729 "aarch32" : "XNN_ARCH_ARM" ,
2830 "aarch64" : "XNN_ARCH_ARM64" ,
2931 "x86-32" : "XNN_ARCH_X86" ,
@@ -38,11 +40,11 @@ def _remove_duplicate_newlines(text):
3840 "wasmsimd32" : "XNN_ARCH_WASMSIMD" ,
3941 "wasmrelaxedsimd32" : "XNN_ARCH_WASMRELAXEDSIMD" ,
4042 "wasmrelaxedsimdfp16" : "XNN_ARCH_WASMRELAXEDSIMDFP16" ,
41- }
43+ })
4244
4345# Mapping from ISA extension to macro guarding build-time enabled/disabled
4446# status for the ISA. Only ISAs that can be enabled/disabled have an entry.
45- _ISA_TO_MACRO_MAP = {
47+ _ISA_TO_MACRO_MAP = immutabledict ( {
4648 "fp16arith" : "XNN_ENABLE_ARM_FP16_SCALAR" ,
4749 "neonfp16arith" : "XNN_ENABLE_ARM_FP16_VECTOR" ,
4850 "neonbf16" : "XNN_ENABLE_ARM_BF16" ,
@@ -75,9 +77,9 @@ def _remove_duplicate_newlines(text):
7577 "avx512fp16" : "XNN_ENABLE_AVX512FP16" ,
7678 "avx512bf16" : "XNN_ENABLE_AVX512BF16" ,
7779 "hvx" : "XNN_ENABLE_HVX" ,
78- }
80+ })
7981
80- _ISA_TO_ARCH_MAP = {
82+ _ISA_TO_ARCH_MAP = immutabledict ( {
8183 "armsimd32" : ["aarch32" ],
8284 "fp16arith" : ["aarch32" , "aarch64" ],
8385 "neon" : ["aarch32" , "aarch64" ],
@@ -124,9 +126,9 @@ def _remove_duplicate_newlines(text):
124126 "wasmsdot" : ["wasmrelaxedsimd" ],
125127 "wasmusdot" : ["wasmrelaxedsimd" ],
126128 "wasmblendvps" : ["wasmrelaxedsimd" ],
127- }
129+ })
128130
129- _ISA_TO_ARCH_FLAGS_MAP = {
131+ _ISA_TO_ARCH_FLAGS_MAP = immutabledict ( {
130132 "armsimd32" : "xnn_arch_arm_v6" ,
131133 "fp16arith" : "xnn_arch_arm_fp16_arith" ,
132134 "neon" : "xnn_arch_arm_neon" ,
@@ -168,7 +170,7 @@ def _remove_duplicate_newlines(text):
168170 "wasmsdot" : "xnn_arch_wasm_sdot" ,
169171 "wasmusdot" : "xnn_arch_wasm_usdot" ,
170172 "wasmblendvps" : "xnn_arch_wasm_blendvps" ,
171- }
173+ })
172174
173175
174176def isa_hierarchy_map ():
@@ -268,7 +270,7 @@ def postprocess_test_case(test_case, arch, isa, assembly=False):
268270 "hvx" ,
269271]
270272
271- _ISA_HIERARCHY_MAP = {isa : v for v , isa in enumerate (_ISA_HIERARCHY )}
273+ _ISA_HIERARCHY_MAP = immutabledict ( {isa : v for v , isa in enumerate (_ISA_HIERARCHY )})
272274
273275
274276def overwrite_if_changed (filepath , content ):
0 commit comments