除了gcc,还有哪些编译器可以对代码进行矢量化?

除了gcc,还有哪些编译器可以对代码进行矢量化?,gcc,compiler-construction,loops,simd,vector-processing,Gcc,Compiler Construction,Loops,Simd,Vector Processing,当指定某些选项并给出正确的条件时,GCC可以自动执行。是否有其他广泛使用的编译器也可以这样做?也可以这样做,还有一个不是免费的。这些只是我记得的一些。事实上,在许多情况下,GCC在自动代码矢量化方面比ICC差得多,我不知道它最近是否有足够的改进,但我对此表示怀疑。此外。该项目是微软Silverlight项目的开源替代方案,它添加了使用SIMD指令的对象。虽然不是编译器,但Mono CLR是第一个以本机方式运行的托管代码系统。也可以做到这一点。还可以指定所有的目标CPU,以利用不同的指令集(例如M

当指定某些选项并给出正确的条件时,GCC可以自动执行。是否有其他广泛使用的编译器也可以这样做?

也可以这样做,还有一个不是免费的。这些只是我记得的一些。

事实上,在许多情况下,GCC在自动代码矢量化方面比ICC差得多,我不知道它最近是否有足够的改进,但我对此表示怀疑。

此外。

该项目是微软Silverlight项目的开源替代方案,它添加了使用SIMD指令的对象。虽然不是编译器,但Mono CLR是第一个以本机方式运行的托管代码系统。

也可以做到这一点。还可以指定所有的目标CPU,以利用不同的指令集(例如MMX、SIMD、SIMD2、……)

< P> IBM的XLC也可以在一定程度上自动地对C++和C++进行矢量化。它似乎不如英特尔的编译器好,但如果有人已经使用VC++,没有理由不启用此选项


转到项目属性、配置属性、C/C++、代码生成:启用增强指令集。设置“数据流单指令多数据指令集”或“数据流单指令多数据指令集2”。您必须将浮点模型设置为fast。其他一些选项也必须更改,但编译器会告诉您这一点。

即使这是一个旧线程,我想我会添加到这个列表中-也会有自动矢量化。

VectorC一针见血。向量Pascal很有趣,因为它读起来像Pascal,但受APL的影响;也就是说,它本身就是一种向量处理语言。然而,LLVM项目似乎没有在任何地方提到SIMD输出?好的,终于找到了LLVM生成SSE2代码的参考!好东西!不知道为什么网站上没有更清楚地提到它。LLVM仍然是一个“块上的新类型”项目,但似乎很有前途。LLVM没有自动矢量化,只是支持手动SIMD。ICC对Intel CPU的优化非常出色。启用SSE与矢量化不同。