altivec相关内容

'vector long long' 的可用性是什么?

我正在一台旧的 PowerMac G5(一台 Power4 机器)上进行测试.构建失败: $ make...g++ -DNDEBUG -g2 -O3 -mcpu=power4 -maltivec -c ppc-simd.cppppc-crypto.h:36: 错误:在 AltiVec 类型中使用“long long"无效制作:*** [ppc-simd.o] 错误 1 失败的原因是: typ ..
发布时间:2021-11-25 07:17:53 C#

将分散索引转换为聚集索引的有效方法?

我正在尝试使用 SIMD 内在函数编写流压缩(采用数组并去除空元素).循环的每次迭代一次处理 8 个元素(SIMD 宽度). 使用 SSE 内在函数,我可以使用 _mm_shuffle_epi8() 相当有效地执行此操作,它执行 16 个条目表查找(收集并行计算术语).shuffle 索引是预先计算好的,并使用位掩码查找. for (i = 0; i 我的问题是现在我也想为 Altiv ..
发布时间:2021-08-27 19:44:36 其他开发

是否可以在Altivec中旋转128位值?

我正在尝试将一些ARM NEON代码移植到AltiVec.我们的NEON代码具有两个LOAD,一个ROT,一个XOR和一个STORE,因此这似乎是一个简单的测试用例.根据IBM的 vec_rl 文档: 结果的每个元素都是通过将左边的相应元素旋转b的相应元素指定的位数获得的. 文档接着说vector unsigned int是最大的数据类型,除非-qarch=power8,在这种情况下v ..
发布时间:2020-11-30 04:54:36 其他开发

错误:匹配约束在输出操作数中无效

我无法让GCC内联汇编程序接受Power9的某些内联汇编. 我要让GCC接受的常规程序集是darn 3, 1,其中3是r3,而1是在文档中称为L的参数.它在big-endian上反汇编: 0: e6 05 61 7c darn r3,1 在小端上: 0: 7c 61 05 e6 darn r3,1 由于各种原因和问题,包括旧的编译器和冒充其 ..
发布时间:2020-11-13 00:18:28 其他开发

vec_sld的字节序是否敏感?

我正在使用带内核加密的PowerPC计算机。我无法使用内置功能将AES密钥扩展从大字节序移植到小字节序。大字节序有效,而小字节序无效。 以下算法是 IBM博客文章。我认为我将问题隔离到下面的第2行: typedef __vector unsigned char uint8x16_p8; uint8x64_p8 r0 = {0}; r3 = vec_perm(r1,r1,r ..
发布时间:2020-10-29 18:34:34 其他开发

是什么让Apple的PowerPC速度如此之快?

我写了几个复制函数,以期在PowerPC上寻求良好的存储策略.将Altivec或fp寄存器与缓存提示(dcb *)配合使用,可以在大数据的简单字节复制循环中使性能提高一倍.最初对此感到满意,我定期进行了一次memcpy比赛,看看它的性能如何……比我最好的快10倍!我无意重写memcpy,但我确实希望从中学习并加速几个简单的图像滤镜,这些滤镜会花费大部分时间将像素移入和移出内存. Shark分 ..
发布时间:2020-05-08 18:48:18 其他开发