hi 大家好,我现在有一个疑惑,neon提供vcmp.f32指令,我现在有一段C代码
if (x>y)
x = a+b;
else
x = a -b;
请问,如果用vcmp.f32实现呢,我搜索很久,也没有找到相应的事例,希望有高手可以帮忙解答一下,先谢谢了。
补充一下
float x, y;
vcmp 会把compare的status放在VFP status Register。读取这个Register需要vmrs指令。可以参考:https://community.arm.com/processors/b/blog/posts/condition-codes-4-floating-point-comparisons-using-vfp
这个问题已经搞清楚了,我觉得任何工程上问题最好的解释莫过于一个具体的实例:
vcmp.f32 s12, s10 vmrs APSR_nzcv, FPSCR bgt .multCspf_Redefine_neon_branch @if s12 > s10, jump