这会导致WAR危险吗?

时间:2011-11-01 13:49:47

标签: assembly arm

快速,也许是愚蠢的问题,但在这里它仍然存在。如果我们尝试在寄存器读取之前写入寄存器,则在读取寄存器之后立即写入寄存器可能会造成危险。以下指令是否会对ARM芯片造成危害:

add r3, r0, r3

基本上是r3 += r0

这会对NEON造成危害吗?例如:

vadd.32 q3, q0, q3

2 个答案:

答案 0 :(得分:1)

没有更新其中一个操作数的档位。 WAR危险实际上是非常不寻常的,因为写入通常发生在管道中的后期而不是读取。

答案 1 :(得分:1)

没有WAR危险。

源寄存器之前不需要目标寄存器; r3作为输入可用于阅读的要求至少与其可用于写入的要求一样强。简而言之,没有理由避免这种结构。