diff --git a/i/clang/lib/Driver/ToolChains/Arch/X86.cpp b/clang/lib/Driver/ToolChains/Arch/X86.cpp --- a/i/clang/lib/Driver/ToolChains/Arch/X86.cpp +++ b/clang/lib/Driver/ToolChains/Arch/X86.cpp @@ -73,12 +73,15 @@ if (Triple.isOSDarwin()) { if (Triple.getArchName() == "x86_64h") return "core-avx2"; - // macosx10.12 drops support for all pre-Penryn Macs. - // Simulators can still run on 10.11 though, like Xcode. - if (Triple.isMacOSX() && !Triple.isOSVersionLT(10, 12)) - return "penryn"; // The oldest x86_64 Macs have core2/Merom; the oldest x86 Macs have Yonah. - return Is64Bit ? "core2" : "yonah"; + // The simulators (i.e. Darwin but not macOS) can still run on older Macs. + // macosx10.12 requires Penryn. + if (!Triple.isMacOSX() || Triple.isOSVersionLT(10, 12)) + return Is64Bit ? "core2" : "yonah"; + // macosx10.14 requires Ivy Bridge. + if (Triple.isOSVersionLT(10, 14)) + return "penryn"; + return "ivybridge"; } // Set up default CPU name for PS4 compilers.