Lines Matching refs:features
1 /* cpu_features.c -- Processor features detection.
43 #include <cpu-features.h>
48 #include <zircon/features.h>
68 // features are known at build time, so don't call it.
96 * See http://bit.ly/2CcoEsr for run-time detection of ARM features and also
102 uint64_t features = android_getCpuFeatures();
103 arm_cpu_enable_crc32 = !!(features & ANDROID_CPU_ARM64_FEATURE_CRC32);
104 arm_cpu_enable_pmull = !!(features & ANDROID_CPU_ARM64_FEATURE_PMULL);
106 uint64_t features = android_getCpuFeatures();
107 arm_cpu_enable_crc32 = !!(features & ANDROID_CPU_ARM_FEATURE_CRC32);
108 arm_cpu_enable_pmull = !!(features & ANDROID_CPU_ARM_FEATURE_PMULL);
110 unsigned long features = getauxval(AT_HWCAP);
111 arm_cpu_enable_crc32 = !!(features & HWCAP_CRC32);
112 arm_cpu_enable_pmull = !!(features & HWCAP_PMULL);
115 unsigned long features = getauxval(AT_HWCAP2);
116 arm_cpu_enable_crc32 = !!(features & HWCAP2_CRC32);
117 arm_cpu_enable_pmull = !!(features & HWCAP2_PMULL);
119 uint32_t features;
120 zx_status_t rc = zx_system_get_features(ZX_FEATURE_KIND_CPU, &features);
121 if (rc != ZX_OK || (features & ZX_ARM64_FEATURE_ISA_ASIMD) == 0)
123 arm_cpu_enable_crc32 = !!(features & ZX_ARM64_FEATURE_ISA_CRC32);
124 arm_cpu_enable_pmull = !!(features & ZX_ARM64_FEATURE_ISA_PMULL);
129 // Determine what features are supported dynamically. This code is applicable to macOS
149 /* On x86 we simply use a instruction to check the CPU features.