> Shouldn't __MOVBE__ be defined with -march=native for this processor? > Or am I doing something wrong? Should this be reported, or is it expected behavior? Jeff On Mon, Jan 23, 2017 at 11:31 PM, Jeffrey Walton <noloader@xxxxxxxxx> wrote: > 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?