diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp index 4b4ee283e64..58af8d9175d 100644 --- a/lib/Support/Triple.cpp +++ b/lib/Support/Triple.cpp @@ -453,6 +453,13 @@ static Triple::ObjectFormatType getDefaultFormat(const Triple &T) { case Triple::sparcv9: case Triple::systemz: case Triple::xcore: + case Triple::ppc64le: + return Triple::ELF; + + case Triple::ppc: + case Triple::ppc64: + if (T.isOSDarwin()) + return Triple::MachO; return Triple::ELF; } diff --git a/test/CodeGen/PowerPC/mature-mc-support.ll b/test/CodeGen/PowerPC/mature-mc-support.ll index 7c83e184a6f..aa387f6e266 100644 --- a/test/CodeGen/PowerPC/mature-mc-support.ll +++ b/test/CodeGen/PowerPC/mature-mc-support.ll @@ -10,6 +10,10 @@ ; RUN: not llc -march=ppc32 -filetype=obj < %s > /dev/null 2> %t2 ; RUN: FileCheck %s < %t2 +; Test that we don't try to produce COFF for ppc. +; RUN: not llc -mtriple=powerpc-mingw32 -filetype=obj < %s > /dev/null 2> %t2 +; RUN: FileCheck %s < %t2 + ; SKIP: not llc -march=ppc64 < %s > /dev/null 2> %t3 ; SKIP: FileCheck %s < %t3