This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

FPU寄存器使用问题

FPU有32个浮点寄存器,s0~s31,使用vmov汇编指令往浮点寄存器里移数据,出现一个有意思的问题,先看汇编代码:

ialg0  RN  9

movw  ialg0,0x0000

movt  ialg0,0x4040

vmov.f32  s0,ialg0

vmov.f32  s1,ialg0

vmov.f32 s7,ialg0

执行vmov.f32  s0,ialg0和vmov.f32  s1,ialg0时,0x40400000被移动到s0和s1中,当执行vmov.f32 s7,ialg0时,0x40400000不仅被移动到s7中,同时也被移动到s22中。

对其他浮点寄存器进行vmov操作,最后发现,往s0~s6移动数据时,数据仅仅移动到s0~s7,但是往s7~s16中移动数据时,数据也会被同时移到s22~s31。s7、s22;s8、s23;它们的标号刚好差15.

问题:从代码调试的结果来看,s7和s22,s8和s23,s16和s31,这些寄存器的操作都是成对出现的。需要进行什么设置,才能解除它们的绑定关系吗?(文档里没有看到相关的内容)