From 23fbce158422986dd071806e814665c3126cfa88 Mon Sep 17 00:00:00 2001 From: Raghuveer Devulapalli Date: Tue, 10 Oct 2023 12:42:17 -0700 Subject: [PATCH] Use env var to disable/enable avx512 dispatch --- lib/x86simdsort.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/x86simdsort.cpp b/lib/x86simdsort.cpp index 091d717a..6879657a 100644 --- a/lib/x86simdsort.cpp +++ b/lib/x86simdsort.cpp @@ -7,7 +7,9 @@ static int check_cpu_feature_support(std::string_view cpufeature) { - if (cpufeature == "avx512_spr") + const char* disable_avx512 = std::getenv("XSS_DISABLE_AVX512"); + + if ((cpufeature == "avx512_spr") && (!disable_avx512)) #ifdef __FLT16_MAX__ return __builtin_cpu_supports("avx512f") && __builtin_cpu_supports("avx512fp16") @@ -15,12 +17,12 @@ static int check_cpu_feature_support(std::string_view cpufeature) #else return 0; #endif - else if (cpufeature == "avx512_icl") + else if ((cpufeature == "avx512_icl") && (!disable_avx512)) return __builtin_cpu_supports("avx512f") && __builtin_cpu_supports("avx512vbmi2") && __builtin_cpu_supports("avx512bw") && __builtin_cpu_supports("avx512vl"); - else if (cpufeature == "avx512_skx") + else if ((cpufeature == "avx512_skx") && (!disable_avx512)) return __builtin_cpu_supports("avx512f") && __builtin_cpu_supports("avx512dq") && __builtin_cpu_supports("avx512vl");