Skip to content

Commit

Permalink
Use env var to disable/enable avx512 dispatch
Browse files Browse the repository at this point in the history
  • Loading branch information
r-devulap committed Oct 10, 2023
1 parent d6e327a commit 23fbce1
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions lib/x86simdsort.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,22 @@

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")
&& __builtin_cpu_supports("avx512vbmi2");
#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");
Expand Down

0 comments on commit 23fbce1

Please sign in to comment.