Does gcc 4.8.1 enable sse by default?

Marco A. picture Marco A. · Nov 22, 2013 · Viewed 7.2k times · Source

I experienced crashes running an old code of mine on a system which doesn't support SSE4.1, I debugged a bit and found SSE instructions in the glibc, is that possible? Why isn't this reported in gcc 4.8.1 release notes?

Answer

Christophe Vu-Brugier picture Christophe Vu-Brugier · Nov 22, 2013

You can see what optimizations are used by GCC with the following command:

$ gcc -Q --help=target

For instance, on my machine, GCC does not enable sse4.1 by default:

$ gcc -Q --help=target | grep msse4.1
  -msse4.1                              [disabled]

However, it is supported because it appears in /proc/cpuinfo. And indeed, if I ask GCC to optimize the generated code for my machine, it enables sse4.1:

$ gcc -Q --help=target -march=native | grep msse4.1
  -msse4.1                              [enabled]