首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >power上的SIMD扩展:编译器标志和处理器支持

power上的SIMD扩展:编译器标志和处理器支持
EN

Stack Overflow用户
提问于 2021-02-14 13:28:31
回答 1查看 228关注 0票数 1

我正在研究如何将SIMD之上的抽象通用库移植到power体系结构中。

但是,关于支持哪个扩展的信息以及如何编译它们的信息是令人困惑的。目前,只看64位处理器,不超过电源-7。

一方面,我看到了这个文档

有三种类型的指令:没有要求,需要电源-8和电源-9。

例如,vec_cmpgt没有特殊的要求。

但是,当我使用powerpc64-linux-gnu-g++-10时,我会看到一个错误:

代码语言:javascript
复制
error: '__builtin_altivec_vcmpgtsd' requires the '-mpower8-vector' option

在其他一些地方,我可以找到有关vmxvsx扩展的信息,但也不清楚对应的是哪些幂迭代。例如,这里在power-7上谈论vsx。

UPD:我忽略了64位整数比较只在power8上可用,但其他比较则在此之前。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-17 00:30:01

有一些资源,将帮助你的探索。

首先,CPU中可用的实际底层矢量指令随CPU版本的不同而不同。这些都被记录在ISA中。适用于:

这些都是大量的PDF,告诉你很多事情,包括矢量指令的细节。如果在汇编程序中编写代码,则可以直接使用这些代码。

然后,您已经注意到,受支持的编译器本质可能因编译器而异:您从非常支持google的AIX编译器手册中获得了一个引用,发现它在gcc上不起作用。

所以你会想花点时间和:

Power具有额外的复杂性,它支持不同类型的不同名称的向量扩展。在VSX?VMX?Altivec?VR?VSR?!这些PowerPC SIMD缩略语是如何相互关联的?有一个很好的解释者

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66195879

复制
相关文章

相似问题

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