【问题标题】:Neon instruction, vsub_f32(a, b), is it a-b or b-a?Neon 指令,vsub_f32(a, b),是 a-b 还是 b-a?
【发布时间】:2015-05-22 11:43:17
【问题描述】:

在这条霓虹灯指令中(来自here):

float32x2_t vsub_f32(float32x2_t a, float32x2_t b);  // VSUB.F32 d0,d0,d0

它返回 a - b 还是 b - a?我在 ARM 文档中找不到它...

【问题讨论】:

    标签: c++ arm neon intrinsics


    【解决方案1】:

    VSUB 指令减去第二个操作数中的值 从第一个操作数寄存器中的值注册,并将 结果是目标寄存器。

    来自http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/Bcffigdj.html

    所以,它是a-b

    【讨论】:

    • c 内部函数的操作数是否总是与程序集内部函数的顺序相同?
    • @JanRüegg 从理论上讲,这并不能保证,但其他任何东西都是非常愚蠢的设计。
    • 我同意 :P 非常感谢!
    【解决方案2】:

    您可能会发现 Neon Intrinsics 的扩展文档更有用。它还提供了从函数参数到指令操作数的映射,可从以下网址获得:

    http://infocenter.arm.com/help/topic/com.arm.doc.ihi0073a/IHI0073A_arm_neon_intrinsics_ref.pdf

    对于vsub_f32,该文档提供以下信息:

    float32x2_t vsub_f32 (float32x2_t a, float32x2_t b)
    a → Vn.2S b → Vm.2S
    FSUB Vd.2S,Vn.2S,Vm.2S
    

    【讨论】:

      猜你喜欢
      • 2014-03-29
      • 1970-01-01
      • 2021-11-28
      • 1970-01-01
      • 2011-08-01
      • 1970-01-01
      • 2019-10-27
      • 2021-10-06
      • 2019-08-07
      相关资源
      最近更新 更多