aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartyn Capewell <martyn.capewell@arm.com>2022-01-20 17:01:06 +0000
committerMartyn Capewell <martyn.capewell@arm.com>2022-01-26 13:58:12 +0000
commit0222be8f0e4a0096693188cda9df7bbac4639d5f (patch)
treee17c1d92cb59ea961936ef4ed9368297d5be60e8
parentae0af059aad387073f42cee03ac8433760c600f8 (diff)
downloadvixl-0222be8f0e4a0096693188cda9df7bbac4639d5f.tar.gz
Add FlagM2 to HWCAP feature bits
FlagM2 (bit 39, kAXFlag to VIXL) was missing from the HWCAP feature bits used for mapping Linux's feature reporting to VIXL. This caused subsequent bits to be off by one.
-rw-r--r--src/aarch64/cpu-aarch64.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/aarch64/cpu-aarch64.cc b/src/aarch64/cpu-aarch64.cc
index 2d2590f4..0438d085 100644
--- a/src/aarch64/cpu-aarch64.cc
+++ b/src/aarch64/cpu-aarch64.cc
@@ -279,8 +279,9 @@ CPUFeatures CPU::InferCPUFeaturesFromOS(
CPUFeatures::kSVEBitPerm,
CPUFeatures::kSVESHA3,
CPUFeatures::kSVESM4,
- CPUFeatures::kFrintToFixedSizedInt,
+ CPUFeatures::kAXFlag,
// Bits 40-47
+ CPUFeatures::kFrintToFixedSizedInt,
CPUFeatures::kSVEI8MM,
CPUFeatures::kSVEF32MM,
CPUFeatures::kSVEF64MM,
@@ -288,8 +289,8 @@ CPUFeatures CPU::InferCPUFeaturesFromOS(
CPUFeatures::kI8MM,
CPUFeatures::kBF16,
CPUFeatures::kDGH,
- CPUFeatures::kRNG,
// Bits 48+
+ CPUFeatures::kRNG,
CPUFeatures::kBTI};
uint64_t hwcap_low32 = getauxval(AT_HWCAP);