Assume x86-64 if a 32-bit processor supports SSE2 and 64-bit
PR target/61570 * config/i386/driver-i386.c (host_detect_local_cpu): Set arch to x86-64 if a 32-bit processor supports SSE2 and 64-bit. From-SVN: r211901
This commit is contained in:
parent
5c7dac8aa1
commit
228e5d2b0c
@ -1,3 +1,9 @@
|
||||
2014-06-23 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR target/61570
|
||||
* config/i386/driver-i386.c (host_detect_local_cpu): Set arch
|
||||
to x86-64 if a 32-bit processor supports SSE2 and 64-bit.
|
||||
|
||||
2014-06-23 James Greenhalgh <james.greenhalgh@arm.com>
|
||||
|
||||
* config/aarch64/aarch64.md (addsi3_aarch64): Set "simd" attr to
|
||||
|
@ -415,6 +415,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
|
||||
bool arch;
|
||||
|
||||
unsigned int l2sizekb = 0;
|
||||
unsigned int arch_64bit = 1;
|
||||
|
||||
if (argc < 1)
|
||||
return NULL;
|
||||
@ -656,11 +657,14 @@ const char *host_detect_local_cpu (int argc, const char **argv)
|
||||
{
|
||||
case PROCESSOR_I386:
|
||||
/* Default. */
|
||||
arch_64bit = 0;
|
||||
break;
|
||||
case PROCESSOR_I486:
|
||||
arch_64bit = 0;
|
||||
cpu = "i486";
|
||||
break;
|
||||
case PROCESSOR_PENTIUM:
|
||||
arch_64bit = 0;
|
||||
if (arch && has_mmx)
|
||||
cpu = "pentium-mmx";
|
||||
else
|
||||
@ -745,21 +749,25 @@ const char *host_detect_local_cpu (int argc, const char **argv)
|
||||
/* Assume Core 2. */
|
||||
cpu = "core2";
|
||||
}
|
||||
else if (has_sse3)
|
||||
/* It is Core Duo. */
|
||||
cpu = "pentium-m";
|
||||
else if (has_sse2)
|
||||
/* It is Pentium M. */
|
||||
cpu = "pentium-m";
|
||||
else if (has_sse)
|
||||
/* It is Pentium III. */
|
||||
cpu = "pentium3";
|
||||
else if (has_mmx)
|
||||
/* It is Pentium II. */
|
||||
cpu = "pentium2";
|
||||
else
|
||||
/* Default to Pentium Pro. */
|
||||
cpu = "pentiumpro";
|
||||
{
|
||||
arch_64bit = 0;
|
||||
if (has_sse3)
|
||||
/* It is Core Duo. */
|
||||
cpu = "pentium-m";
|
||||
else if (has_sse2)
|
||||
/* It is Pentium M. */
|
||||
cpu = "pentium-m";
|
||||
else if (has_sse)
|
||||
/* It is Pentium III. */
|
||||
cpu = "pentium3";
|
||||
else if (has_mmx)
|
||||
/* It is Pentium II. */
|
||||
cpu = "pentium2";
|
||||
else
|
||||
/* Default to Pentium Pro. */
|
||||
cpu = "pentiumpro";
|
||||
}
|
||||
}
|
||||
else
|
||||
/* For -mtune, we default to -mtune=generic. */
|
||||
@ -773,21 +781,30 @@ const char *host_detect_local_cpu (int argc, const char **argv)
|
||||
if (has_longmode)
|
||||
cpu = "nocona";
|
||||
else
|
||||
cpu = "prescott";
|
||||
{
|
||||
cpu = "prescott";
|
||||
arch_64bit = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
cpu = "pentium4";
|
||||
{
|
||||
cpu = "pentium4";
|
||||
arch_64bit = 0;
|
||||
}
|
||||
break;
|
||||
case PROCESSOR_GEODE:
|
||||
arch_64bit = 0;
|
||||
cpu = "geode";
|
||||
break;
|
||||
case PROCESSOR_K6:
|
||||
arch_64bit = 0;
|
||||
if (arch && has_3dnow)
|
||||
cpu = "k6-3";
|
||||
else
|
||||
cpu = "k6";
|
||||
break;
|
||||
case PROCESSOR_ATHLON:
|
||||
arch_64bit = 0;
|
||||
if (arch && has_sse)
|
||||
cpu = "athlon-4";
|
||||
else
|
||||
@ -896,6 +913,10 @@ const char *host_detect_local_cpu (int argc, const char **argv)
|
||||
const char *xsavec = has_xsavec ? " -mxsavec" : " -mno-xsavec";
|
||||
const char *xsaves = has_xsaves ? " -mxsaves" : " -mno-xsaves";
|
||||
|
||||
/* Assume x86-64 if a 32-bit processor supports SSE2 and 64-bit. */
|
||||
if (arch_64bit == 0 && has_sse2 && has_longmode)
|
||||
cpu = "x86-64";
|
||||
|
||||
options = concat (options, mmx, mmx3dnow, sse, sse2, sse3, ssse3,
|
||||
sse4a, cx16, sahf, movbe, aes, sha, pclmul,
|
||||
popcnt, abm, lwp, fma, fma4, xop, bmi, bmi2,
|
||||
|
Loading…
Reference in New Issue
Block a user