Are -march options expected to override any relevant options specified previously on the command line? It appears in GCC-4.2.0 that SSE movss instructions will be generated when for example the following code is compiled with -msse -march=athlon: #include <mmintrin.h> int main() { __m64 v = _mm_cvtsi32_si64(1); return 0; } $ gcc -msse -march=athlon conftest.c $ ./a.out Illegal instruction I would expect this from -march=athlon -msse, but would also expect -march=athlon to imply -mno-sse and therefore cancel the previous -msse option. This was encountered in the pixman-0.9.5 configure script. https://bugs.gentoo.org/192048 -- fonts / wxWindows / gcc-porting / treecleaners 9B81 6C9F E791 83BB 3AB3 5B2D E625 A073 8379 37E8 (0x837937E8)