@@ -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