You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Do you expect to support many Arm64 architectures or primarily A64FX? There are very many variations, https://marcin.juszkiewicz.com.pl/download/tables/arm-socs.html and it may be helpful to query available instructions, then issue a warning for those that are not supported. This might also encourage further contributions to the library.
The text was updated successfully, but these errors were encountered:
@bkmgit
Thank you for the comment and introducing the SoC feature table. It is very usefull to understand Arm64 architecture variations.
We are willing to support the widest possible range of Arm64 CPUs. Xbyak_aarch64 is not limited to A64FX. Although A64FX can not execute SVE2 instructions, they have been already supported by Xbyak_aarch64 to generate SVE2 instructions.
Xbyak_aarch64 itself is not aware of the types of instructions that can be executed on each CPU, and the application that uses Xbyak_aarch64 must generate execution code according to the instruction set supported by the CPU.
I think that the function to find out which instruction set is available for the CPU in use should be implemented in Xbyak_aarch64. getSveLen and isAtomicSupported are provided as a way to determine if SVE and atomic instructions can be executable. There should be prepared a way to know if various other instructions, as summarized in the SoC feature table, are supported as well, since each SoC has a different support status.
Do you expect to support many Arm64 architectures or primarily A64FX? There are very many variations, https://marcin.juszkiewicz.com.pl/download/tables/arm-socs.html and it may be helpful to query available instructions, then issue a warning for those that are not supported. This might also encourage further contributions to the library.
The text was updated successfully, but these errors were encountered: