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?