As both NEON and VFP instructions are prefixed with v, like vpush/vpop
, is there a simple way to tell NEON instructions from VFP?
VFP instructions are scalar operations, so if the instruction has the .f32
suffix and operates on s
registers, it's VFP. If it operates on d
or q
registers, it's NEON.
If the instruction has the .f64
suffix, it's a VFP instruction (there are no f64 instructions in 32-bit NEON).
If the instruction has an integer suffix (like .i8
or .s32
or .u16
), it's NEON; VFP doesn't have integer instructions[*]
*
I'm glossing over scalar conversion instructions slightly. You can read about the details in the ARM reference manual.