If I run gcc -fverbose-asm -mtune=native -march=native -S x.c I get cat x.s: .file "x.c" # GNU C (GCC) version 4.4.0 20090506 (Red Hat 4.4.0-4) (x86_64-redhat-linux) # compiled by GNU C version 4.4.0 20090506 (Red Hat 4.4.0-4), GMP version 4.2.4, MPFR version 2.4.1. # GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 # options passed: x.c -march=core2 -mcx16 -msahf --param l1-cache-size=32 # --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=core2 # -fverbose-asm # options enabled: -falign-loops -fargument-alias ................... # -mfp-ret-in-387 -mfused-madd -mglibc -mieee-fp -mmmx -mno-sse4 # -mpush-args -mred-zone -msahf -msse -msse2 -msse3 -mssse3 ............
cat /proc/cpuinfo: flags : .....sse sse2 .... ssse3 .... sse4_1 ... It appears that since the cpu doesn't support both sse4.1 and sse4.2, gcc march-native disables sse4 altogether. Obviously, -msse4.1 -mno-sse4.2 would be better. -- Summary: march-native gives -mno-sse4, but cpuinfo sse4_1 Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: seandarcy2 at gmail dot com GCC build triplet: x86_64-redhat-linux GCC host triplet: x86_64-redhat-linux GCC target triplet: x86_64-redhat-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40266