Posts

Post not yet marked as solved
1 Replies
Replied In M1 intrinsics
As I know, there are two options. One, Aarch64 assembly. You can write inline assembly or call assembly function in C project. Two, NEON intrinsics. Include <arm_neon.h> to use NEON. Clang will transfer the intrinsics to low level instructions.
Post not yet marked as solved
2 Replies
In ARM's docs, 'BF16 is optionally supported from Armv8.2-A, but becomes mandatory in Arm8.6-A and Armv9.1-A'. I cannot find any materials mention what ISA version that Apple Silicon applied. However, Apple's ABI (https://developer.apple.com/documentation/xcode/writing-arm64-code-for-apple-platforms) doesn't include bf16 type. I write a assembly file contains bf16 instruction. fmov s0, #0.5 bfcvt h1, s0 And compile the assembly file. It reports error: 'instruction requires: bf16'. It obviously the complier recognized bfcvt instruction, but current platform not support it.