Skip to content

Commit

Permalink
Merge pull request #85 from r-devulap/env-var
Browse files Browse the repository at this point in the history
Use env var to disable/enable avx512 dispatch
  • Loading branch information
r-devulap authored Oct 10, 2023
2 parents d6e327a + 23fbce1 commit a0eef89
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 a0eef89

Please sign in to comment.