代码之家  ›  专栏  ›  技术社区  ›  casualcoder

除了gcc之外,还有哪些编译器可以将代码矢量化?

  •  4
  • casualcoder  · 技术社区  · 17 年前

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

    9 回复  |  直到 17 年前
        1
  •  8
  •   Doug Currie    17 年前
        2
  •  6
  •   Paulo LopesPaulo Lopes    17 年前

    llvm 也能做到 vector pascal 一个不自由的人 VectorC . 这些只是我记得的一些。

        3
  •  2
  •   woggle    17 年前

    阿尔索 PGI's compilers .

        4
  •  2
  •   casualcoder    17 年前

    这个 Mono project是微软Silverlight项目的开源替代品,它添加了使用SIMD指令的对象。虽然monocrl不是编译器,但它是第一个 generate vector operations 天生的。

        5
  •  2
  •   Phil Miller    17 年前

    IBM的XLC也可以在一定程度上自动地对C和C++进行矢量化。

        6
  •  1
  •   Blaisorblade    17 年前

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

        7
  •  1
  •   Adrian Grigore    17 年前

    VectorC 也能做到。您还可以指定所有目标CPU,以便它利用不同的指令集(例如MMX、SIMD、SIMD2…)

        8
  •  1
  •   user160662user160662    17 年前

    Visual C++(我使用VS2005)可以强制使用SSE指令。它似乎不如英特尔的编译器好,但是如果有人已经使用VC++,没有理由不打开这个选项。

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

        9
  •  1
  •   Hybrid    14 年前

    尽管这是一个老话题,我还是想把它加到这个列表中- Visual Studio 11 也将有自动矢量化。

    推荐文章