I'm working on a Athlon X4 845. It includes the movbe feature: $ cat /proc/cpuinfo | grep flags flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good acc_power nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb bpext ptsc mwaitx cpb hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 xsaveopt arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov ... However, when I attempt to use it by looking for its define: $ g++ -march=native -dM -E - < /dev/null | sort ... #define __LWP__ 1 #define __LZCNT__ 1 #define __MMX__ 1 #define __MWAITX__ 1 #define __NO_INLINE__ 1 #define __ORDER_BIG_ENDIAN__ 4321 ... I am working with GCC 6 on Fedora 25: $ gcc --version gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1) Shouldn't __MOVBE__ be defined with -march=native for this processor? Or am I doing something wrong? Jeff