常见的SIMD技术

时间:2010-01-28 17:04:27

标签: arm sse simd neon mmx

在哪里可以找到有关常见SIMD技巧的信息?我有一个指令集,知道如何编写非棘手的SIMD代码,但我知道,SIMD现在功能更强大。它可以保存复杂的条件无分支代码 例如(ARMv6),以下指令序列将Rd的每个字节设置为Ra和Rb的相应字节的无符号最小值:

USUB8 Rd, Ra, Rb
SEL Rd, Rb, Ra

教程链接/不常见的SIMD技术也很好:) ARMv6 对我来说最有趣,但 x86 (SSE,...)/ Neon (在ARMv7中)/其他人也很好。

2 个答案:

答案 0 :(得分:12)

有史以来最好的SIMD资源之一是旧的AltiVec邮件列表。虽然PowerPC / AltiVec特定的,我怀疑这个列表中的很多材料对于使用其他SIMD架构的任何人来说都是普遍感兴趣的。遗憾的是,这个列表在转移到power.org上的论坛后现在似乎已经不复存在了,但您可以找到它的存档版本。 (如果不是那么让我知道 - 我几乎有2000 - 2007年的所有帖子。)

http://developer.apple.com/hardwaredrivers/ve/index.html,AltiVec,SSE,SIMD矢量化和性能方面也有很多潜在的有用信息,其中大部分可以转移到其他SIMD架构。

答案 1 :(得分:6)

在sourceforge上尝试AMD的SSEPlus项目