diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index 83cab3ac00cb..d9a6599a2416 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -403,14 +403,9 @@ std::string tools::getCPUName(const ArgList &Args, const llvm::Triple &T, if (!TargetCPUName.empty()) return TargetCPUName; - if (T.isOSAIX()) { - unsigned major, minor, unused_micro; - T.getOSVersion(major, minor, unused_micro); - // The minimal arch level moved from pwr4 for AIX7.1 to - // pwr7 for AIX7.2. - TargetCPUName = - (major < 7 || (major == 7 && minor < 2)) ? "pwr4" : "pwr7"; - } else if (T.getArch() == llvm::Triple::ppc64le) + if (T.isOSAIX()) + TargetCPUName = "pwr7"; + else if (T.getArch() == llvm::Triple::ppc64le) TargetCPUName = "ppc64le"; else if (T.getArch() == llvm::Triple::ppc64) TargetCPUName = "ppc64"; diff --git a/clang/test/Driver/aix-mcpu-default.c b/clang/test/Driver/aix-mcpu-default.c index 7b55839a8066..3bb3c7f95e1e 100644 --- a/clang/test/Driver/aix-mcpu-default.c +++ b/clang/test/Driver/aix-mcpu-default.c @@ -2,18 +2,36 @@ // RUN: %clang -no-canonical-prefixes %s -### -c 2>&1 \ // RUN: -target powerpc-ibm-aix7.2 \ // RUN: | FileCheck --check-prefix=CHECK-MCPU-DEFAULT-AIX72 %s + +// Check that the target cpu defaults to power7 on AIX7.2 and up. +// RUN: %clang -no-canonical-prefixes %s -### -c 2>&1 \ +// RUN: -target powerpc64-ibm-aix7.2 \ +// RUN: | FileCheck --check-prefix=CHECK-MCPU-DEFAULT-AIX72 %s + +// Check that the target cpu defaults to power7 on AIX7.1 and below. +// RUN: %clang -no-canonical-prefixes %s -### -c 2>&1 \ +// RUN: -target powerpc-ibm-aix7.1 \ +// RUN: | FileCheck --check-prefix=CHECK-MCPU-DEFAULT-AIX72 %s + +// Check that the target cpu defaults to power7 on AIX7.1 and below. +// RUN: %clang -no-canonical-prefixes %s -### -c 2>&1 \ +// RUN: -target powerpc64-ibm-aix7.1 \ +// RUN: | FileCheck --check-prefix=CHECK-MCPU-DEFAULT-AIX72 %s + +// Check that the target cpu defaults to power7 when level not specified. +// RUN: %clang -no-canonical-prefixes %s -### -c 2>&1 \ +// RUN: -target powerpc-ibm-aix \ +// RUN: | FileCheck --check-prefix=CHECK-MCPU-DEFAULT-AIX72 %s + +// Check that the target cpu defaults to power7 when level not specified. +// RUN: %clang -no-canonical-prefixes %s -### -c 2>&1 \ +// RUN: -target powerpc64-ibm-aix \ +// RUN: | FileCheck --check-prefix=CHECK-MCPU-DEFAULT-AIX72 %s + // CHECK-MCPU-DEFAULT-AIX72-NOT: warning: // CHECK-MCPU-DEFAULT-AIX72: {{.*}}clang{{.*}}" "-cc1" // CHECK-MCPU-DEFAULT-AIX72: "-target-cpu" "pwr7" -// Check that the target cpu defaults to power4 on AIX7.1 and below. -// RUN: %clang -no-canonical-prefixes %s -### -c 2>&1 \ -// RUN: -target powerpc-ibm-aix7.1 \ -// RUN: | FileCheck --check-prefix=CHECK-MCPU-DEFAULT-AIX71 %s -// CHECK-MCPU-DEFAULT-AIX71-NOT: warning: -// CHECK-MCPU-DEFAULT-AIX71: {{.*}}clang{{.*}}" "-cc1" -// CHECK-MCPU-DEFAULT-AIX71: "-target-cpu" "pwr4" - // Check that the user is able to overwrite the default with '-mcpu'. // RUN: %clang -no-canonical-prefixes %s -### -c 2>&1 \ // RUN: -mcpu=pwr6 \