[X86] Simplify the pentium4 code in getHostCPUName to be based on feature flags. Don't use 'x86-64' ever.

'x86-64' has started to reflect a sort of generic tuning flag for more modern 64-bit CPUs. We probably shouldn't be using it as the name of an unidentifiable pentium4. So use nocona for all 64-bit pentium4s instead.

llvm-svn: 317230
This commit is contained in:
Craig Topper 2017-11-02 19:13:34 +00:00
parent a233e16cd8
commit 1494915a3a

View File

@ -351,7 +351,6 @@ enum ProcessorTypes {
INTEL_PENTIUM_IV,
INTEL_PENTIUM_M,
INTEL_CORE_DUO,
INTEL_X86_64,
INTEL_NOCONA,
INTEL_PRESCOTT,
AMD_i486,
@ -819,40 +818,15 @@ getIntelProcessorTypeAndSubtype(unsigned Family, unsigned Model,
}
break;
case 15: {
switch (Model) {
case 0: // Pentium 4 processor, Intel Xeon processor. All processors are
// model 00h and manufactured using the 0.18 micron process.
case 1: // Pentium 4 processor, Intel Xeon processor, Intel Xeon
// processor MP, and Intel Celeron processor. All processors are
// model 01h and manufactured using the 0.18 micron process.
case 2: // Pentium 4 processor, Mobile Intel Pentium 4 processor - M,
// Intel Xeon processor, Intel Xeon processor MP, Intel Celeron
// processor, and Mobile Intel Celeron processor. All processors
// are model 02h and manufactured using the 0.13 micron process.
*Type = ((Features2 & (1 << (FEATURE_EM64T - 32))) ? INTEL_X86_64
: INTEL_PENTIUM_IV);
break;
case 3: // Pentium 4 processor, Intel Xeon processor, Intel Celeron D
// processor. All processors are model 03h and manufactured using
// the 90 nm process.
case 4: // Pentium 4 processor, Pentium 4 processor Extreme Edition,
// Pentium D processor, Intel Xeon processor, Intel Xeon
// processor MP, Intel Celeron D processor. All processors are
// model 04h and manufactured using the 90 nm process.
case 6: // Pentium 4 processor, Pentium D processor, Pentium processor
// Extreme Edition, Intel Xeon processor, Intel Xeon processor
// MP, Intel Celeron D processor. All processors are model 06h
// and manufactured using the 65 nm process.
*Type = ((Features2 & (1 << (FEATURE_EM64T - 32))) ? INTEL_NOCONA
: INTEL_PRESCOTT);
break;
default:
*Type = ((Features2 & (1 << (FEATURE_EM64T - 32))) ? INTEL_X86_64
: INTEL_PENTIUM_IV);
if (Features2 & (1 << (FEATURE_EM64T - 32))) {
*Type = INTEL_NOCONA;
break;
}
if (Features & (1 << FEATURE_SSE3)) {
*Type = INTEL_PRESCOTT;
break;
}
*Type = INTEL_PENTIUM_IV;
break;
}
default:
@ -1150,8 +1124,6 @@ StringRef sys::getHostCPUName() {
return "knl";
case INTEL_KNM:
return "knm";
case INTEL_X86_64:
return "x86-64";
case INTEL_NOCONA:
return "nocona";
case INTEL_PRESCOTT: