首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C++中使用AltiVec SIMD向量类型时出现编译错误

在C++中使用AltiVec SIMD向量类型时出现编译错误
EN

Stack Overflow用户
提问于 2021-10-12 09:57:31
回答 2查看 97关注 0票数 0

代码如下:

代码语言:javascript
复制
int add = foo;
vector signed int v_add;
v_add[0] = add;

错误是:error: invalid types 'vector int[int]' for array subscript

当我尝试add = v_add[0];时,问题仍然存在

请解释此问题的原因。我使用的是gnu版本3.3.2

EN

回答 2

Stack Overflow用户

发布于 2021-10-12 13:47:12

您不能像对待数组一样对待像vector signed int这样的AltiVec类型。例如,使用vec_ld内在函数将数组中的值加载到AltiVec向量中。

票数 2
EN

Stack Overflow用户

发布于 2021-10-14 01:15:48

适用于我:

代码语言:javascript
复制
$ cat vec.cpp
#include <altivec.h>
void foo () {
  int add = 1;
  vector signed int v_add;
  v_add[0] = add;
}
$ g++ -c vec.cpp
$ g++ --version
g++ (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69538521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档