diff --git a/llvm/docs/CommandGuide/llvm-objdump.rst b/llvm/docs/CommandGuide/llvm-objdump.rst --- a/llvm/docs/CommandGuide/llvm-objdump.rst +++ b/llvm/docs/CommandGuide/llvm-objdump.rst @@ -28,7 +28,7 @@ .. option:: -d, --disassemble Disassemble all executable sections found in the input files. On some - architectures (AArch64, PPC64, x86), all known instructions are disassembled by + architectures (AArch64, PowerPC, x86), all known instructions are disassembled by default. On the others, :option:`--mcpu` or :option:`--mattr` is needed to enable some instruction sets. Disabled instructions are displayed as ````. diff --git a/llvm/lib/Object/ELFObjectFile.cpp b/llvm/lib/Object/ELFObjectFile.cpp --- a/llvm/lib/Object/ELFObjectFile.cpp +++ b/llvm/lib/Object/ELFObjectFile.cpp @@ -358,6 +358,7 @@ switch (getEMachine()) { case ELF::EM_AMDGPU: return getAMDGPUCPUName(); + case ELF::EM_PPC: case ELF::EM_PPC64: return StringRef("future"); default: diff --git a/llvm/test/tools/llvm-objdump/ELF/PowerPC/mcpu.s b/llvm/test/tools/llvm-objdump/ELF/PowerPC/mcpu.s --- a/llvm/test/tools/llvm-objdump/ELF/PowerPC/mcpu.s +++ b/llvm/test/tools/llvm-objdump/ELF/PowerPC/mcpu.s @@ -5,6 +5,9 @@ # RUN: llvm-objdump -d --no-show-raw-insn --mcpu=future %t | FileCheck %s --check-prefixes=CHECK,FUTURE # RUN: llvm-objdump -d --no-show-raw-insn --mcpu=pwr9 %t | FileCheck %s --check-prefixes=CHECK,UNKNOWN +# RUN: llvm-mc -triple=powerpc -filetype=obj %s -o %t +# RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s --check-prefixes=CHECK,FUTURE + # CHECK-LABEL: <_start>: # FUTURE-NEXT: pld 3, 0(0), 1 # UNKNOWN-COUNT-2: