BTW, I just tried the same test-case on a different machine -- and it seems to work properly there (-march=native results in a correct default value for -mtune).
The only real difference between the machines is that the previous machine (where gcc showed the bug) has a pentium3 cpu, whereas the current machine (where gcc seems to work correctly) has a pentium4. On this machine: $ echo 'float x(float x){return x < 0 ? -x : x;}' > x.c $ gcc -fverbose-asm -O2 -mfpmath=sse -march=native -S x.c $ grep '\(-march\|-mtune\)' x.s # options passed: -march=pentium4 -mtune=pentium4 -mfpmath=sse -auxbase $ head -2 x.s .file "x.c" # GNU C version 4.2.3 20071014 (prerelease) (Debian 4.2.2-3) (i486-linux-gnu) -Miles -- `The suburb is an obsolete and contradictory form of human settlement' -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]