66
77import codecs
88import os
9+ try :
10+ from immutabledict import immutabledict
11+ except ImportError :
12+ immutabledict = dict
13+
914
1015
1116def _indent (text ):
@@ -23,7 +28,7 @@ def _remove_duplicate_newlines(text):
2328 return "\n " .join (filtered_lines )
2429
2530
26- _ARCH_TO_MACRO_MAP = {
31+ _ARCH_TO_MACRO_MAP = immutabledict ( {
2732 "aarch32" : "XNN_ARCH_ARM" ,
2833 "aarch64" : "XNN_ARCH_ARM64" ,
2934 "x86-32" : "XNN_ARCH_X86" ,
@@ -38,11 +43,11 @@ def _remove_duplicate_newlines(text):
3843 "wasmsimd32" : "XNN_ARCH_WASMSIMD" ,
3944 "wasmrelaxedsimd32" : "XNN_ARCH_WASMRELAXEDSIMD" ,
4045 "wasmrelaxedsimdfp16" : "XNN_ARCH_WASMRELAXEDSIMDFP16" ,
41- }
46+ })
4247
4348# Mapping from ISA extension to macro guarding build-time enabled/disabled
4449# status for the ISA. Only ISAs that can be enabled/disabled have an entry.
45- _ISA_TO_MACRO_MAP = {
50+ _ISA_TO_MACRO_MAP = immutabledict ( {
4651 "fp16arith" : "XNN_ENABLE_ARM_FP16_SCALAR" ,
4752 "neonfp16arith" : "XNN_ENABLE_ARM_FP16_VECTOR" ,
4853 "neonbf16" : "XNN_ENABLE_ARM_BF16" ,
@@ -75,9 +80,9 @@ def _remove_duplicate_newlines(text):
7580 "avx512fp16" : "XNN_ENABLE_AVX512FP16" ,
7681 "avx512bf16" : "XNN_ENABLE_AVX512BF16" ,
7782 "hvx" : "XNN_ENABLE_HVX" ,
78- }
83+ })
7984
80- _ISA_TO_ARCH_MAP = {
85+ _ISA_TO_ARCH_MAP = immutabledict ( {
8186 "armsimd32" : ["aarch32" ],
8287 "fp16arith" : ["aarch32" , "aarch64" ],
8388 "neon" : ["aarch32" , "aarch64" ],
@@ -124,9 +129,9 @@ def _remove_duplicate_newlines(text):
124129 "wasmsdot" : ["wasmrelaxedsimd" ],
125130 "wasmusdot" : ["wasmrelaxedsimd" ],
126131 "wasmblendvps" : ["wasmrelaxedsimd" ],
127- }
132+ })
128133
129- _ISA_TO_ARCH_FLAGS_MAP = {
134+ _ISA_TO_ARCH_FLAGS_MAP = immutabledict ( {
130135 "armsimd32" : "xnn_arch_arm_v6" ,
131136 "fp16arith" : "xnn_arch_arm_fp16_arith" ,
132137 "neon" : "xnn_arch_arm_neon" ,
@@ -168,7 +173,7 @@ def _remove_duplicate_newlines(text):
168173 "wasmsdot" : "xnn_arch_wasm_sdot" ,
169174 "wasmusdot" : "xnn_arch_wasm_usdot" ,
170175 "wasmblendvps" : "xnn_arch_wasm_blendvps" ,
171- }
176+ })
172177
173178
174179def isa_hierarchy_map ():
@@ -268,7 +273,7 @@ def postprocess_test_case(test_case, arch, isa, assembly=False):
268273 "hvx" ,
269274]
270275
271- _ISA_HIERARCHY_MAP = {isa : v for v , isa in enumerate (_ISA_HIERARCHY )}
276+ _ISA_HIERARCHY_MAP = immutabledict ( {isa : v for v , isa in enumerate (_ISA_HIERARCHY )})
272277
273278
274279def overwrite_if_changed (filepath , content ):
0 commit comments