NEON中的vshr vshl vext中的位移参数必须为编译时字面常量
2024-08-25 04:21:29
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
}
最新文章
- find命令
- 工作中常用的Linux命令:find命令
- [KOJ6997]旅行商问题二
- ADT bundle和Eclipse和Android Studio有什么区别?安卓开发该用哪个?
- Hadoop入门进阶课程5--MapReduce原理及操作
- MongoDB的安装及配置
- hobby
- 【ES6】Set和Map中的NaN
- 浅谈 trie树 及其实现
- 【转】三十分钟学会STL算法
- xdu_RainAndBow 鞍山打铁记
- RemoteViews的理解和使用
- java volatitle介绍与使用
- 201521123009 《Java程序设计》第8周学习总结
- Java高新技术 JDK1.5之新特性
- css实现背景模糊,但不影响背景上的内容
- 每天一个linux命令:find
- Python 类的特殊成员介绍
- restfull环境搭建-helloword
- igmpproxy启动时错误:There must be at least 2 Vif's where one is upstream.