From 0222be8f0e4a0096693188cda9df7bbac4639d5f Mon Sep 17 00:00:00 2001 From: Martyn Capewell Date: Thu, 20 Jan 2022 17:01:06 +0000 Subject: [PATCH] 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. --- src/aarch64/cpu-aarch64.cc | 5 +++-- 1 file 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);