以V开头和以F开头的ARM VFP指令有什么区别?
为什么 ARM 信息中心不再列出汇编参考中的 F 指令?
它们中的大多数直接相互映射(例如,vcvtr.s32.f32
和ftosis
),那么为什么它们都存在呢?
例如,这些函数做同样的事情(flooring float->int 转换):
vmrs %r1, fpscr
bic %r0, %r1, #0xc00000
orr %r0, %r0, #0x800000
vmsr fpscr, %r0
vcvtr.s32.f32 %s2, %s2
vmov %r0, %s2
vmsr fpscr, %r1
mrs %r1, fpscr
bic %r0, %r1, #0xc00000
orr %r0, %r0, #0x800000
msr fpscr, %r0
ftosis %s2, %s2
fmrs %r0, %s2
msr fpscr, %r1