V ***和F ***浮点ARM指令有什么区别?

时间:2013-08-30 14:40:42

标签: assembly floating-point arm cpu-registers fpu

以V开头和F?

的ARM VFP指令有什么区别?

为什么ARM信息中心不再列出汇编参考中的F指令?

他们中的大多数直接映射到彼此(例如,vcvtr.s32.f32ftosis),为什么它们都存在?

例如,这些函数执行相同的操作(floor 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

1 个答案:

答案 0 :(得分:5)

Fxxx名称是“Pre-UAL”(统一汇编语言)名称,不推荐使用。 Vxxx名称是UAL名称,是您应该用于新代码的名称。