aboutsummaryrefslogtreecommitdiff
path: root/test/aarch64/test-assembler-aarch64.h
diff options
context:
space:
mode:
Diffstat (limited to 'test/aarch64/test-assembler-aarch64.h')
-rw-r--r--test/aarch64/test-assembler-aarch64.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/test/aarch64/test-assembler-aarch64.h b/test/aarch64/test-assembler-aarch64.h
index 0bc81cb3..b45c7ae8 100644
--- a/test/aarch64/test-assembler-aarch64.h
+++ b/test/aarch64/test-assembler-aarch64.h
@@ -287,9 +287,10 @@ inline bool CanRun(const CPUFeatures& required, bool* queried_can_run) {
#define TEARDOWN_CUSTOM()
inline bool CanRun(const CPUFeatures& required, bool* queried_can_run) {
- // InferFromOS can fail, but we can assume that basic features are present.
- CPUFeatures cpu =
- CPUFeatures::AArch64LegacyBaseline().With(CPUFeatures::InferFromOS());
+ CPUFeatures cpu = CPUFeatures::InferFromOS();
+ // If InferFromOS fails, assume that basic features are present.
+ if (cpu.HasNoFeatures()) cpu = CPUFeatures::AArch64LegacyBaseline();
+
VIXL_ASSERT(cpu.Has(kInfrastructureCPUFeatures));
if (cpu.Has(required)) {