title: Is sse2 enabled by default in g++?
body: <p>When I run <code>g++ -Q --help=target</code>, I get </p>
  
  <p><code>-msse2                             [disabled]</code>. </p>
  
  <p>However, if I create the assembly code of with default options as </p>
  
  <p><code>g++ -g mycode.cpp -o mycode.o; objdump -S mycode.o &gt; default</code>, </p>
  
  <p>and a <code>sse2</code> version with </p>
  
  <p><code>g++ -g -msse2 mycode.cpp -o mycode.sse2.o; objdump -S mycode.sse2.o &gt; sse2</code>, </p>
  
  <p>and finally a non-sse2 version with </p>
  
  <p><code>g++ -g -mno-sse2 mycode.cpp -o mycode.nosse2.o; objdump -S mycode.nosse2.o &gt; nosse2</code></p>
  
  <p>I see basically no difference between <code>default</code> and <code>sse2</code>, but a big difference between <code>default</code> and <code>nosse2</code>, so this tells me that, by default, g++ is using <code>sse2</code> instructions, even though I am being told it is disabled ... what is going on here?</p>
  
  <p>I am compiling on a Xeon E5-2680 under Linux with gcc-4.4.7 if it matters.</p>