问题标签 [altivec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sse - _mm_srli_si128 等效于 altivec
我正在将一个用 SSE 4.2 编写的程序移植到 Altivec。我在寻找内在的等价物时遇到了问题_mm_srli_si128
。
当我用谷歌搜索时,我发现vec_slo
它是等价的。
这是我将内容左移 1 个字节的示例程序:
编译时出现以下错误:
c - Altivec 编译错误
我正在尝试遵循这样的简单示例 altivec 初始化:
但是,当我编译时,我收到一条错误消息:无法在不同大小的向量值之间进行转换。
有人知道为什么会这样吗?我的 gcc 版本是 4.4.6。
我现在可以使用 Paul 的解决方案。
但是,当我尝试打印它时,它给了我错误,因为我在 Paul 的评论下发表了评论。
有谁知道这个姐姐为什么会这样吗?
c - altivec 提取向量的一部分?
我正在尝试将一个 64 位值与一个 64 位值数组进行比较,例如
R_UINT64 FP;R_UINT64 输入[20000];
如果数组中的任何元素与 FP 的值匹配,则返回 true。
我必须遍历这个数组并找到一个匹配项,我试图通过一次查看 2 个元素而不是一个元素来提高效率。
在 Altivec 中,向量长度为 128 位,因此我将放置两个 FP 副本,向量中的两个元素。(我将它们都截断两个 8 位,每个向量元素)
到目前为止一切顺利,但现在我遇到了一个问题。我找不到只查看一半向量并查看是否存在匹配的 VMX 过程,为了返回真值,两个值必须匹配,这不是我想要的。
所以我想知道是否有办法告诉编译器我每次只看一半的向量?
提前致谢!
c - AltiVec vec_ld() 是否仅适用于 16 字节对齐的变量?
在 gcc 4.1.2 中,vec_ld()
在 CPU MPC74XX 板上无法正常工作。
但是,如果 float 变量对齐到 16 个字节,则它可以正常工作:
这是设计使然吗?
sse - 在apple developer上找不到关于SSE2、Altivec、VMX的资料
作为保罗。R 建议苹果开发人员有很多关于 SSE2 、 AVX 的资源,但我找不到。任何人都可以帮助我吗?顺便说一句,我也在寻找 altivec 邮件列表的存档。
谢谢!
sse - Altivec 编程资源
需要将 Windows 上的一些编程代码移植到 PowerPC 上。这些代码需要某种优化,并需要使用 Altivec 编程。
想问在哪里可以找到 Altivec 和任何 SIMD 编程的良好初学者指南,如果它们类似于 SSE?
谢谢
c - 使用 vec_ld 处理页面错误
我有以下程序将向量加载到向量寄存器中。
如果 buf 在页面结束之前结束,比如让页面从 0 到 4000 地址,缓冲区从 3990 开始。第二个vec_ld
将地址对齐到小于 (3990+15) 的地址,这将是相等的到 4000。
如果从地址 4000 开始的页面没有被映射,上面的程序就会崩溃。
如何避免分段错误?
我所能想到的就是memcpy
在大小小于16字节时将数据从缓冲区复制到向量寄存器。
c - 相当于 AltiVec 中的 mm_storel_epi64?
我正在使用 AltiVec 编程接口开发一个项目。
在一个地方,我想将向量寄存器中的 8 个字节存储到缓冲区中。
在 SSE 中,我们具有将_mm_storel_epi64
SIMD 寄存器的低 8 字节存储到缓冲区的内在特性。
关于在 AltiVec 中实现 8 字节存储的任何想法?
c++ - SIMD程序编译问题
我有一个用于向量加法的简单 SIMD 程序
我正在尝试使用这里的 Makefile 编译这个程序
在编译程序时..我收到以下错误
在不使用 Makefile 的情况下简单地编译。我正进入(状态
因此,我下载了 altivec.h 文件并将其放入文件夹中,但仍然出现相同的错误。
我不明白使用 -maltivec 选项有什么问题。还有其他编译方法吗?
assembly - PowerPC 上有屏蔽混合指令吗?
我正在尝试__vector
在 PowerPC(POWER 8)上执行蒙版混合(在类型上)。在查看内在函数(此处提供列表)时,我可以看到一个向量选择,但没有任何合并。
在 x86 处理器上,我知道 intrinsic _mm256_blendv_ps
,我正在寻找类似的东西。
谢谢!