I am attempting to recompile some software with various instruction sets, specifically, SSE
, SSE2
, SSE3
, SSSE3
, SSE4.1
, SSE4.2
, and AVX
, and I would like to see how the code performs without these instruction sets to make sure I am getting the full effect of them.
For example, I want to compile it with just -O2
with a gnu
compiler and see how it performs when restricting it to only SSE
, to see which flags it is invoking by default. I also have an intel
compiler that I am working with and I would like to isolate what each flag (or combination of flags) is doing to my code, so how can I specify exactly which flags are being invoked?
If it matters, I am working with C
, C++
, and Fortran
on Linux
.
For
GCC
compiler:You have to use
-mno-
options for doing it.More info you can find on official GCC site
For
ICC
compiler, you have to use combination of :More info here