aboutsummaryrefslogtreecommitdiff
path: root/test/aarch64
diff options
context:
space:
mode:
authorJacob Bramley <jacob.bramley@arm.com>2019-04-16 15:22:31 +0100
committerJacob Bramley <jacob.bramley@arm.com>2019-04-17 11:42:05 +0100
commit2fb52cbe30d90fe0253db93b1d543b20df821872 (patch)
treefe242c639b5ba9e42721a3ba9f1951070c7e343d /test/aarch64
parent7b712becdd49346efbeb94c7963ed48139cc6ad3 (diff)
downloadvixl-2fb52cbe30d90fe0253db93b1d543b20df821872.tar.gz
Only assume baseline features if InferFromOS fails.
This fixes 'CAN_RUN()' on platforms that lack kCRC32, as long as InferFromOS is implemented. Change-Id: Iedf9d86ba07ede88d3a45d466bce6059260bdf8d
Diffstat (limited to 'test/aarch64')
-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)) {