Pull in r199012 from upstream clang trunk (by Jakob Stoklund Olesen): Select the UltraSPARC instruction set when invoking the assembler. Introduced here: http://svn.freebsd.org/changeset/base/262262 Index: tools/clang/lib/Driver/Tools.cpp =================================================================== --- tools/clang/lib/Driver/Tools.cpp +++ tools/clang/lib/Driver/Tools.cpp @@ -6228,8 +6228,10 @@ void gnutools::Assemble::ConstructJob(Compilation CmdArgs.push_back("-many"); } else if (getToolChain().getArch() == llvm::Triple::sparc) { CmdArgs.push_back("-32"); + CmdArgs.push_back("-Av8plusa"); } else if (getToolChain().getArch() == llvm::Triple::sparcv9) { CmdArgs.push_back("-64"); + CmdArgs.push_back("-Av9a"); } else if (getToolChain().getArch() == llvm::Triple::arm) { StringRef MArch = getToolChain().getArchName(); if (MArch == "armv7" || MArch == "armv7a" || MArch == "armv7-a") Index: tools/clang/test/Driver/linux-as.c =================================================================== --- tools/clang/test/Driver/linux-as.c +++ tools/clang/test/Driver/linux-as.c @@ -65,6 +65,7 @@ // RUN: | FileCheck -check-prefix=CHECK-SPARCV9 %s // CHECK-SPARCV9: as // CHECK-SPARCV9: -64 +// CHECK-SPARCV9: -Av9a // CHECK-SPARCV9: -o // // RUN: %clang -target sparc-linux -mcpu=invalid-cpu -### \ @@ -72,6 +73,7 @@ // RUN: | FileCheck -check-prefix=CHECK-SPARCV8 %s // CHECK-SPARCV8: as // CHECK-SPARCV8: -32 +// CHECK-SPARCV8: -Av8plusa // CHECK-SPARCV8: -o // // RUN: %clang -target s390x-linux -### -no-integrated-as -c %s 2>&1 \