我想使用c-intrinsics
和gcc 5.4.0
评估用clang 3.8
编写的AVX2程序,以便编译和使用perf
,valgrind
和IACA
用于评估和分析。我完全想要相同的优化方法,所以我读了这个相关的问题clang optimization和gcc optimization option for gcc的这个页面,但我仍然怀疑。
gcc -O2
和gcc -O3
是我的基础,因为Clang在-O2
中执行自动向量化,所以我希望在clang中使用相同内容,并且在将结果与{{1}进行比较时我不希望这样做在gcc -O2
中启用-O3
时想要它。所以问题是我应该使用什么命令在gcc中对应于这些命令的clang:
第一:
编译:
gcc
构建:
gcc -Wall -O2 -march=native -masm=intel -c -S "%f"
第二:
编译:
gcc -Wall -O2 -mavx2 -o "%e" "%f"
构建:
gcc -Wall -O3 -march=native -masm=intel -c -S "%f"