if-statement - armv8 NEON 如果条件

标签 if-statement arm overflow conditional-statements neon

我想在 armv8 NEON 内联汇编代码中实现 if 条件。
在 armv7 中,这可以通过像这样检查溢出位来实现:

  VMRS r4, FPSCR            
  BIC r4, r4, #(1<<27)      
  VMSR FPSCR, r4     

  vtst.16  d30, d30, d30    
  vqadd.u16  d30, d30, d30 

  vmrs r4, FPSCR            
  tst  r4, #(1<<27)         
  bne label1

但是我无法在 armv8 等效代码中实现这一点。似乎 SQADD 不会影响 FPSR 中的溢出位,或者我无法像这样检查它。是否有可能或者有更好的方法来跳过代码的长部分?

谢谢

最佳答案

Aarch64 中提供了相同的信息。你只需要更换:
VMSR r4, FPSCR VMRS FPSCR, r4
经过:
MRS w4, FPSR MSR FPSR, w4

关于if-statement - armv8 NEON 如果条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38145583/

相关文章:

javascript - 数据表内的条件

MYSQL - 最近 10 天的 SUM 值

c++ - 如何在 ARM 上运行 HelloWorld

css - 为什么 'overflow: auto' 清除 float ?为什么需要透明的浮子?

java - 当 HashMap 或 HashSet 达到最大容量时会发生什么?

C++ "if then else"模板替换

python - 为什么我检查井字游戏获胜者的方法不起作用?

c - 监视 linux 内核中上下文切换次数的最有效方法是什么?

assembly - 有人可以解释一下 ARM 中的分支操作码吗?

overflow - 溢出时容器上方和下方的CSS神秘空白: hidden is used on an inline-block