https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61570

            Bug ID: 61570
           Summary: -march=native CPU you selected does not support x86-64
                    instruction under QEMU
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org

As can be seen in:
https://fedorahosted.org/rel-eng/ticket/5924
under some (weird?) QEMU configuration -march=native doesn't work (pr57275.c
FAILed during regtest).

For /proc/cpuinfo:
processor       : 0
vendor_id       : GenuineIntel 
cpu family      : 6 
model           : 13 
model name      : QEMU Virtual CPU version (cpu64-rhel6) 
stepping        : 3 
microcode       : 0x1 
cpu MHz         : 1999.999 
cache size      : 4096 KB 
physical id     : 0 
siblings        : 1 
core id         : 0 
cpu cores       : 1 
apicid          : 0 
initial apicid  : 0 
fpu             : yes 
fpu_exception   : yes 
cpuid level     : 4 
wp              : yes 
flags           : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca 
cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm nopl pni cx16 
hypervisor lahf_lm 
bogomips        : 3999.99 
clflush size    : 64 
cache_alignment : 64 
address sizes   : 46 bits physical, 48 bits virtual 
power management: 

-march=native gives:
-march=pentium-m -mmmx -mno-3dnow -msse -msse2 -msse3 -mno-ssse3 -mno-sse4a
-mcx16 -msahf -mno-movbe -mno-aes -mno-sha -mno-pclmul -mno-popcnt -mno-abm
-mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mno-avx
-mno-avx2 -mno-sse4.2 -mno-sse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd
-mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mno-xsave
-mno-xsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf
-mno-prefetchwt1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param
l2-cache-size=4096 -mtune=generic

Would it be possible to use -march=x86-64 instead of all the non-PTA_64BIT CPUs
if the driver is 64-bit (__LP64__/_LP64/x86_64 is defined)?  Or what is a way
to detect if a CPU supports the 64-bit ISA?

Reply via email to