Skip to content

Commit 93f112c

Browse files
committed
Simplify SIMD arg processing. NFC
1 parent 6e446d0 commit 93f112c

1 file changed

Lines changed: 14 additions & 13 deletions

File tree

tools/compile.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -98,39 +98,40 @@ def get_cflags(user_args):
9898

9999
ports.add_cflags(cflags, settings)
100100

101-
def array_contains_any_of(hay, needles):
102-
for n in needles:
103-
if n in hay:
104-
return True
101+
# The rest of this function does a bunch of membership testing on user_args
102+
user_args = set(user_args)
105103

106-
if array_contains_any_of(user_args, SIMD_INTEL_FEATURE_TOWER) or array_contains_any_of(user_args, SIMD_NEON_FLAGS):
104+
def user_args_contains_any(args):
105+
return any(a in user_args for a in args)
106+
107+
if user_args_contains_any(SIMD_INTEL_FEATURE_TOWER) or user_args_contains_any(SIMD_NEON_FLAGS):
107108
if '-msimd128' not in user_args and '-mrelaxed-simd' not in user_args:
108109
utils.exit_with_error('passing any of ' + ', '.join(SIMD_INTEL_FEATURE_TOWER + SIMD_NEON_FLAGS) + ' flags also requires passing -msimd128 (or -mrelaxed-simd)!')
109110
cflags += ['-D__SSE__=1']
110111

111-
if array_contains_any_of(user_args, SIMD_INTEL_FEATURE_TOWER[1:]):
112+
if user_args_contains_any(SIMD_INTEL_FEATURE_TOWER[1:]):
112113
cflags += ['-D__SSE2__=1']
113114

114-
if array_contains_any_of(user_args, SIMD_INTEL_FEATURE_TOWER[2:]):
115+
if user_args_contains_any(SIMD_INTEL_FEATURE_TOWER[2:]):
115116
cflags += ['-D__SSE3__=1']
116117

117-
if array_contains_any_of(user_args, SIMD_INTEL_FEATURE_TOWER[3:]):
118+
if user_args_contains_any(SIMD_INTEL_FEATURE_TOWER[3:]):
118119
cflags += ['-D__SSSE3__=1']
119120

120-
if array_contains_any_of(user_args, SIMD_INTEL_FEATURE_TOWER[4:]):
121+
if user_args_contains_any(SIMD_INTEL_FEATURE_TOWER[4:]):
121122
cflags += ['-D__SSE4_1__=1']
122123

123124
# Handle both -msse4.2 and its alias -msse4.
124-
if array_contains_any_of(user_args, SIMD_INTEL_FEATURE_TOWER[5:]):
125+
if user_args_contains_any(SIMD_INTEL_FEATURE_TOWER[5:]):
125126
cflags += ['-D__SSE4_2__=1']
126127

127-
if array_contains_any_of(user_args, SIMD_INTEL_FEATURE_TOWER[7:]):
128+
if user_args_contains_any(SIMD_INTEL_FEATURE_TOWER[7:]):
128129
cflags += ['-D__AVX__=1']
129130

130-
if array_contains_any_of(user_args, SIMD_INTEL_FEATURE_TOWER[8:]):
131+
if user_args_contains_any(SIMD_INTEL_FEATURE_TOWER[8:]):
131132
cflags += ['-D__AVX2__=1']
132133

133-
if array_contains_any_of(user_args, SIMD_NEON_FLAGS):
134+
if user_args_contains_any(SIMD_NEON_FLAGS):
134135
cflags += ['-D__ARM_NEON__=1']
135136

136137
if '-nostdinc' not in user_args:

0 commit comments

Comments
 (0)