diff --git a/llvm/test/tools/llvm-objdump/MachO/AArch64/macho-print-mrs.test b/llvm/test/tools/llvm-objdump/MachO/AArch64/macho-print-mrs.test --- a/llvm/test/tools/llvm-objdump/MachO/AArch64/macho-print-mrs.test +++ b/llvm/test/tools/llvm-objdump/MachO/AArch64/macho-print-mrs.test @@ -1,3 +1,3 @@ -RUN: llvm-objdump -d -m --no-show-raw-insn %p/Inputs/print-mrs.obj.macho-aarch64 | FileCheck %s +RUN: llvm-objdump -d -m --no-show-raw-insn --mcpu=cyclone %p/Inputs/print-mrs.obj.macho-aarch64 | FileCheck %s CHECK: 0: mrs x0, CPM_IOACC_CTL_EL3 diff --git a/llvm/test/tools/llvm-objdump/MachO/apple-latest-default.s b/llvm/test/tools/llvm-objdump/MachO/apple-latest-default.s new file mode 100644 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/MachO/apple-latest-default.s @@ -0,0 +1,7 @@ +// RUN: llvm-mc -triple arm64-apple-ios -mattr=+apple-a13 -show-encoding \ +// RUN: -filetype=obj %s -o - 2> %t | llvm-objdump -m -d - | FileCheck %s + +fmlal V0.2s, v1.2h, v2.h[0] + +// CHECK: (__TEXT,__text) section +// CHECK: 0: 20 00 82 0f fmlal v0, v1, v2[0] diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp --- a/llvm/tools/llvm-objdump/MachODump.cpp +++ b/llvm/tools/llvm-objdump/MachODump.cpp @@ -191,7 +191,8 @@ TripleName = TT.str(); } - if (TT.getArch() == Triple::arm) { + Triple::ArchType arch = TT.getArch(); + if (arch == Triple::arm) { // We've inferred a 32-bit ARM target from the object file. All MachO CPUs // that support ARM are also capable of Thumb mode. Triple ThumbTriple = TT; @@ -199,6 +200,13 @@ ThumbTriple.setArchName(ThumbName); ThumbTripleName = ThumbTriple.str(); } + else if (arch == Triple::aarch64 || + arch == Triple::aarch64_32) { + // We've inferred a 64-bit ARM target. Return "apple-latest" for the + // McpuDefault. + if (*McpuDefault) + *McpuDefault = "apple-latest"; + } // Get the target specific parser. std::string Error;