Describe the issue
PR #16082 introduced reading AA64ISAR0_EL1 to check dot product support. This was later reported as failing on the Apple M1 (see #16496) and fixed in PR #16763.
See platform.cpp
asm("mrs %[reg], ID_AA64ISAR0_EL1\n" : [reg] "=r"(isar0_el1) : :);
The instruction also fails on older Android Devices
Google Pixel 3 / Snapdragon 845 / Android 12
Samsung Galaxy A6 2018 / Cortex-A53 ( Armv8-A) / Android 10
The developer page for the AA64ISAR0_EL1 register seems to reference v8.2 for the valid values that the code is checking.
https://developer.arm.com/documentation/ddi0601/2023-09/AArch64-Registers/ID-AA64ISAR0-EL1--AArch64-Instruction-Set-Attribute-Register-0
This code path needs to be changed for older ARM devices in addition to the Apple M1.
To reproduce
Run a sample that initializes MLAS_PLATFORM on an older device such as the Pixel 3 or Samsung Galaxy A6.
Urgency
No response
Platform
Android
OS Version
Failed on both Android 10 and Android 12
ONNX Runtime Installation
Built from Source
Compiler Version (if 'Built from Source')
n/a - code is assembly
Package Name (if 'Released Package')
None
ONNX Runtime Version or Commit ID
1.16.0
ONNX Runtime API
C++/C
Architecture
X64
Execution Provider
Default CPU
Execution Provider Library Version
n/a
Describe the issue
PR #16082 introduced reading AA64ISAR0_EL1 to check dot product support. This was later reported as failing on the Apple M1 (see #16496) and fixed in PR #16763.
See platform.cpp
asm("mrs %[reg], ID_AA64ISAR0_EL1\n" : [reg] "=r"(isar0_el1) : :);
The instruction also fails on older Android Devices
Google Pixel 3 / Snapdragon 845 / Android 12
Samsung Galaxy A6 2018 / Cortex-A53 ( Armv8-A) / Android 10
The developer page for the AA64ISAR0_EL1 register seems to reference v8.2 for the valid values that the code is checking.
https://developer.arm.com/documentation/ddi0601/2023-09/AArch64-Registers/ID-AA64ISAR0-EL1--AArch64-Instruction-Set-Attribute-Register-0
This code path needs to be changed for older ARM devices in addition to the Apple M1.
To reproduce
Run a sample that initializes MLAS_PLATFORM on an older device such as the Pixel 3 or Samsung Galaxy A6.
Urgency
No response
Platform
Android
OS Version
Failed on both Android 10 and Android 12
ONNX Runtime Installation
Built from Source
Compiler Version (if 'Built from Source')
n/a - code is assembly
Package Name (if 'Released Package')
None
ONNX Runtime Version or Commit ID
1.16.0
ONNX Runtime API
C++/C
Architecture
X64
Execution Provider
Default CPU
Execution Provider Library Version
n/a