From c5a51cfc348a1d8dbfac401f7f1214a03970513d Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Thu, 2 Nov 2017 03:32:49 +0000 Subject: [PATCH] [X86] Simplify the detection of pentium-mmx in Host.cpp. Rather than looking at model numbers just check for the mmx feature flag. While there promote INTEL_PENTIUM_MMX to a CPU type instead of a subtype so that we don't have weird type with only one subtype. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317184 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/Host.cpp | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/lib/Support/Host.cpp b/lib/Support/Host.cpp index b1d5b44ebd0..e3daadd5045 100644 --- a/lib/Support/Host.cpp +++ b/lib/Support/Host.cpp @@ -344,6 +344,7 @@ enum ProcessorTypes { INTEL_i386, INTEL_i486, INTEL_PENTIUM, + INTEL_PENTIUM_MMX, INTEL_PENTIUM_PRO, INTEL_PENTIUM_II, INTEL_PENTIUM_III, @@ -378,7 +379,6 @@ enum ProcessorSubtypes { INTEL_COREI7_SKYLAKE, INTEL_COREI7_SKYLAKE_AVX512, // Entries below this are not in libgcc/compiler-rt. - INTEL_PENTIUM_MMX, INTEL_CORE2_65, INTEL_CORE2_45, AMDPENTIUM_K6, @@ -603,26 +603,11 @@ getIntelProcessorTypeAndSubtype(unsigned Family, unsigned Model, } break; case 5: - switch (Model) { - case 1: // Pentium OverDrive processor for Pentium processor (60, 66), - // Pentium processors (60, 66) - case 2: // Pentium OverDrive processor for Pentium processor (75, 90, - // 100, 120, 133), Pentium processors (75, 90, 100, 120, 133, - // 150, 166, 200) - case 3: // Pentium OverDrive processors for Intel486 processor-based - // systems - *Type = INTEL_PENTIUM; - break; - case 4: // Pentium OverDrive processor with MMX technology for Pentium - // processor (75, 90, 100, 120, 133), Pentium processor with - // MMX technology (166, 200) - *Type = INTEL_PENTIUM; - *Subtype = INTEL_PENTIUM_MMX; - break; - default: - *Type = INTEL_PENTIUM; + if (Features & (1 << FEATURE_MMX)) { + *Type = INTEL_PENTIUM_MMX; break; } + *Type = INTEL_PENTIUM; break; case 6: switch (Model) { @@ -1118,9 +1103,9 @@ StringRef sys::getHostCPUName() { case INTEL_i486: return "i486"; case INTEL_PENTIUM: - if (Subtype == INTEL_PENTIUM_MMX) - return "pentium-mmx"; return "pentium"; + case INTEL_PENTIUM_MMX: + return "pentium-mmx"; case INTEL_PENTIUM_PRO: return "pentiumpro"; case INTEL_PENTIUM_II: -- 2.11.0