From: Siva Chandra Date: Wed, 10 Jun 2020 17:55:00 +0000 (-0700) Subject: [libc][NFC] Make cpu feature check tolerate non-x86 architectures. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c76a1d0fc0c148c8642397a6ec8a589256eb1dc2;p=platform%2Fupstream%2Fllvm.git [libc][NFC] Make cpu feature check tolerate non-x86 architectures. The feature check should probably be enhanced for non-x86 architectures, but this change shields them from x86 specific pieces until then. This patch has been split out from https://reviews.llvm.org/D81533. --- diff --git a/libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake b/libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake index 0bb4af8..86c3822 100644 --- a/libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake +++ b/libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake @@ -4,10 +4,9 @@ if(${LIBC_TARGET_MACHINE} MATCHES "x86|x86_64") set(ALL_CPU_FEATURES SSE SSE2 AVX AVX2 AVX512F) + list(SORT ALL_CPU_FEATURES) endif() -list(SORT ALL_CPU_FEATURES) - # Function to check whether the host supports the provided set of features. # Usage: # host_supports( @@ -126,4 +125,11 @@ function(_check_defined_cpu_feature output_var) endfunction() # Populates the HOST_CPU_FEATURES list. -_check_defined_cpu_feature(HOST_CPU_FEATURES MARCH native) +# Use -march=native only when the compiler supports it. +include(CheckCXXCompilerFlag) +CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_SUPPORTS_MARCH_NATIVE) +if(COMPILER_SUPPORTS_MARCH_NATIVE) + _check_defined_cpu_feature(HOST_CPU_FEATURES MARCH native) +else() + _check_defined_cpu_feature(HOST_CPU_FEATURES) +endif()