cyb70289 commented on a change in pull request #9657:
URL: https://github.com/apache/arrow/pull/9657#discussion_r591225133



##########
File path: cpp/src/arrow/util/cpu_info.cc
##########
@@ -330,6 +346,29 @@ void CpuInfo::Init() {
   if (QueryPerformanceFrequency(&performance_frequency)) {
     max_mhz = static_cast<float>(performance_frequency.QuadPart);
   }
+#elif defined(__APPLE__)
+  // On macOS, get CPU information from system information base
+  struct SysCtlCpuFeature {
+    const char* name;
+    int64_t flag;
+  };
+  for (auto feature : std::vector<SysCtlCpuFeature>{
+           {"hw.optional.sse4_2", SSSE3 | SSE4_1 | SSE4_2 | POPCNT},
+           {"hw.optional.avx1_0", AVX},
+           {"hw.optional.avx2_0", AVX2},
+           {"hw.optional.bmi1", BMI1},
+           {"hw.optional.bmi2", BMI2},
+           {"hw.optional.avx512f", AVX512F},
+           {"hw.optional.avx512cd", AVX512CD},
+           {"hw.optional.avx512dq", AVX512DQ},
+           {"hw.optional.avx512bw", AVX512BW},
+           {"hw.optional.avx512vl", AVX512VL},

Review comment:
       Double checked with an expert from Arm. Actually **Neon == Advanced 
SIMD**. 
   
   From Arm Architecture Reference Manual (ArmARM):
   `The Advanced SIMD architecture, its associated implementations, and 
supporting software, are commonly referred
   to as NEON™ technology". `
   
   `Neon` was the codename that became public and more commonly used than the 
"proper name" (Advanced SIMD).




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to