@@ -268,23 +268,29 @@ set(EXPLICIT_SIMD_OPT_FLAG "EXPLICIT_SIMD_OPT")
268
268
set (MISC_MATH_BASIC_OPS_OPT_FLAG "MISC_MATH_BASIC_OPS_OPT" )
269
269
270
270
# Skip FMA_OPT flag for targets that don't support fma.
271
- if (NOT ((LIBC_TARGET_ARCHITECTURE_IS_X86_64 AND (LIBC_CPU_FEATURES MATCHES "FMA" )) OR
272
- LIBC_TARGET_ARCHITECTURE_IS_RISCV64 ))
273
- set (SKIP_FLAG_EXPANSION_FMA_OPT TRUE )
271
+ if (NOT DEFINED SKIP_FLAG_EXPANSION_FMA_OPT )
272
+ if (NOT ((LIBC_TARGET_ARCHITECTURE_IS_X86_64 AND (LIBC_CPU_FEATURES MATCHES "FMA" )) OR
273
+ LIBC_TARGET_ARCHITECTURE_IS_RISCV64 ))
274
+ set (SKIP_FLAG_EXPANSION_FMA_OPT TRUE )
275
+ endif ()
274
276
endif ()
275
277
276
278
# Skip EXPLICIT_SIMD_OPT flag for targets that don't support SSE2.
277
279
# Note: one may want to revisit it if they want to control other explicit SIMD
278
- if (NOT (LIBC_TARGET_ARCHITECTURE_IS_X86_64 AND (LIBC_CPU_FEATURES MATCHES "SSE2" )))
279
- set (SKIP_FLAG_EXPANSION_EXPLICIT_SIMD_OPT TRUE )
280
+ if (NOT DEFINED SKIP_FLAG_EXPANSION_EXPLICIT_SIMD_OPT )
281
+ if (NOT (LIBC_TARGET_ARCHITECTURE_IS_X86_64 AND (LIBC_CPU_FEATURES MATCHES "SSE2" )))
282
+ set (SKIP_FLAG_EXPANSION_EXPLICIT_SIMD_OPT TRUE )
283
+ endif ()
280
284
endif ()
281
285
282
286
# Skip ROUND_OPT flag for targets that don't support rounding instructions. On
283
287
# x86, these are SSE4.1 instructions, but we already had code to check for
284
288
# SSE4.2 support.
285
- if (NOT ((LIBC_TARGET_ARCHITECTURE_IS_X86_64 AND (LIBC_CPU_FEATURES MATCHES "SSE4_2" )) OR
286
- LIBC_TARGET_ARCHITECTURE_IS_AARCH64 OR LIBC_TARGET_OS_IS_GPU ))
287
- set (SKIP_FLAG_EXPANSION_ROUND_OPT TRUE )
289
+ if (NOT DEFINED SKIP_FLAG_EXPANSION_ROUND_OPT )
290
+ if (NOT ((LIBC_TARGET_ARCHITECTURE_IS_X86_64 AND (LIBC_CPU_FEATURES MATCHES "SSE4_2" )) OR
291
+ LIBC_TARGET_ARCHITECTURE_IS_AARCH64 OR LIBC_TARGET_OS_IS_GPU ))
292
+ set (SKIP_FLAG_EXPANSION_ROUND_OPT TRUE )
293
+ endif ()
288
294
endif ()
289
295
290
296
# Choose whether time_t is 32- or 64-bit, based on target architecture
0 commit comments