ARMv8 NEON寄存器
在看OPENBLAS源码时,看了它的kernel汇编代码,在代码中出现了一个寄存器的表达形式:V0.4S,而且只有对其的使用,没有对其的赋值,在此之前只有对Q寄存器的赋值,怀疑这两个寄存器结构应该有包含关系。
找了一些资料,才发现这个叫做NEON寄存器,且对于ARMv7和ARMv8两种有不同的形式。
具体参考:
https://blog.youkuaiyun.com/SoaringLee_fighting/article/details/82800919
也可以直接查看ARM的manual:
https://developer.arm.com/docs/den0024/latest/armv8-registers/neon-and-floating-point-registers/floating-point-register-organization-in-aarch64
Name | Shape |
---|---|
Vn.8B | 8 lanes, each containing an 8-bit element |
Vn.16B |