diff options
author | Jacob Bramley <jacob.bramley@arm.com> | 2019-04-16 15:22:31 +0100 |
---|---|---|
committer | Jacob Bramley <jacob.bramley@arm.com> | 2019-04-17 11:42:05 +0100 |
commit | 2fb52cbe30d90fe0253db93b1d543b20df821872 (patch) | |
tree | fe242c639b5ba9e42721a3ba9f1951070c7e343d /test/aarch64 | |
parent | 7b712becdd49346efbeb94c7963ed48139cc6ad3 (diff) | |
download | vixl-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.h | 7 |
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)) { |