This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: __MOVBE__ not defined when movbe feature is available?


> 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@gmail.com> 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?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]