为什么GCC不显示矢量化信息?

我在Windows 7上为C程序使用Codeblocks。该程序正在使用OMP库。 GCC版本是4.9.2。 Mingw x86_64-w64-mingw32-gcc-4.9.2.exe。

使用的标志是: -fopenmp -O3 -mfpmath=sse -funroll-loops -ftree-loop-distribution -ftree-vectorize -ftree-vectorizer-verbose=2

该程序运行正常,但问题是它不显示有关哪些循环是矢量化的信息。 我该如何解决它?

生成日志信息:

--------------编译:在****发布(编译器:GNU GCC编译器)---------------

x86_64-w64-mingw32-gcc-4.9.2.exe -Wall -O2 -march = corei7 -fexpensive-optimizations -O3 -fopenmp -mfpmath = sse -funroll-loops -ftree-loop-distribution -ftree -vectorize -ftree- vectorizer-verbose = 2 -c C: Users ... fc -o obj Release fo x86_64-w64-mingw32-g ++。exe -o bin Release d.exe obj Release fo obj Release main.o -s“C: Program Files ... libgomp-1.dll”输出文件为bin Release d.exe,大小为21.00 KB进程以状态0终止(0分钟,0秒s))0个错误,0个警告(0分(s),0秒(s))


CodeBlocks是一个IDE。 它不编译任何东西。 GCC确实。 -ftree-vectorizer-verbose用于在以前的版本中工作。 现在有-fopt-info ,它允许检索有关优化的信息(矢量化); 你可以在这里找到相关的文档。

它甚至显示了如何实际检索矢量化器输出到stderr :和这一个:

gcc -O2 -ftree-vectorize -fopt-info-vec-missed 

从stderr上的矢量化通行证输出有关错过的优化机会的信息。 请注意,-fopt-info-vec-missed等同于-fopt-info-missed-vec。

您可以将missed更改为例如optimizedall等等。

链接地址: http://www.djcxy.com/p/53395.html

上一篇: Why doesn't GCC show vectorization information?

下一篇: using irrlicht with mingw