From 8d37375b0541d879b371b355c2ff5d57ddfcd53e Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 24 Jun 2014 16:58:19 +0200 Subject: [PATCH] re PR target/61570 (-march=native CPU you selected does not support x86-64 instruction under QEMU) PR target/61570 * config/i386/driver-i386.c (host_detect_local_cpu): For unknown model family 6 CPU with has_longmode never use a CPU without 64-bit support. From-SVN: r211945 --- gcc/ChangeLog | 7 +++++++ gcc/config/i386/driver-i386.c | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 00bad435ac7..e29fcafdc4c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-06-24 Jakub Jelinek + + PR target/61570 + * config/i386/driver-i386.c (host_detect_local_cpu): For unknown + model family 6 CPU with has_longmode never use a CPU without + 64-bit support. + 2014-06-24 H.J. Lu PR target/61570 diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c index 3e8a995f285..4cd0b3d2e4b 100644 --- a/gcc/config/i386/driver-i386.c +++ b/gcc/config/i386/driver-i386.c @@ -745,6 +745,11 @@ const char *host_detect_local_cpu (int argc, const char **argv) /* Assume Core 2. */ cpu = "core2"; } + else if (has_longmode) + /* Perhaps some emulator? Assume x86-64, otherwise gcc + -march=native would be unusable for 64-bit compilations, + as all the CPUs below are 32-bit only. */ + cpu = "x86-64"; else if (has_sse3) /* It is Core Duo. */ cpu = "pentium-m";