A P*_*son 2 math assembly xcode arm neon
根据手臂信息中心,当我尝试时,vadd可以顺便执行
vaddeq.f32 d0,d0,d1
Run Code Online (Sandbox Code Playgroud)
Xcode返回
65:instruction cannot be conditional -- vaddeq.f32 d0,d0,d1
Run Code Online (Sandbox Code Playgroud)
我注意到的一件事是它似乎只是NEON指令给出了这个错误.VFP指令不会产生这些错误.
我是否需要设置编译器标志才能启用NEON条件指令?
ARM体系结构参考手册说:
An ARM Advanced SIMD VADD instruction must be unconditional.
Run Code Online (Sandbox Code Playgroud)
即,如果您处于ARM模式,那些指令不是有条件的.如果将它们放在IT块中,您可以在Thumb-2中有条件地使用它们.
.syntax unified
.code 16
.globl _foo
_foo:
cmp r0, #0
it eq
vaddeq.f32 d0, d0, d1
bx lr
Run Code Online (Sandbox Code Playgroud)