zoukankan      html  css  js  c++  java
  • NEON中的vshr vshl vext中的位移参数必须为编译时字面常量

    NEON中的vshr指令中位移数量参数必须为compile time literal constant,因为该参数是被encoded as part pf ARM instruction itself. 同时像vshl; vext指令也是一样。对于某些运行时时的位移参数变化不多的情况,可以考虑使用switch语句来达到目标。
    注意,必须是compiile time literal constant,而不是使用个const关键字就可以了。比如下面两种情况:

    void func(int arg)
    {
        const int value = 2;
        const int value2 = arg & 0x3;
        uint16x8_t q0 = {1,2,3,4,5,6,7,8};
        uint16x8_t q1 = {1,2,3,4,5,6,7,8};
        uint16x8_t veq0 = vextq_u16(q0, q1, value);		//ok
        uint16x8_t veq1 = vextq_u16(q0, q1, value2);	//error: argument to '__builtin_neon_vext_v' must be a constant integer
    }	
    

    https://stackoverflow.com/questions/38219436/neon-intrinsic-compile-error-argument-must-be-a-constant-when-using-vshr-n-u3

  • 相关阅读:
    http
    VUE-1
    AJAX
    html常用标签
    CSS网页布局
    概念整理3
    SEO
    概念整理2
    var
    概念整理
  • 原文地址:https://www.cnblogs.com/willhua/p/12510678.html
Copyright © 2011-2022 走看看