1d2d8b0aaSJoseph Huber## Check that we can dump an offloading binary directly.
2d2d8b0aaSJoseph Huber# RUN: yaml2obj %S/Inputs/binary.yaml -o %t.bin
3d2d8b0aaSJoseph Huber# RUN: llvm-objdump --offloading %t.bin | FileCheck %s --match-full-lines --strict-whitespace --implicit-check-not={{.}}
4d2d8b0aaSJoseph Huber
5d2d8b0aaSJoseph Huber## Check that we can dump an offloading binary inside of an ELF section.
6d2d8b0aaSJoseph Huber# RUN: yaml2obj %s -o %t.elf
7*82a0adf0SJoseph Huber# RUN: llvm-objcopy --update-section .llvm.offloading=%t.bin %t.elf
8d2d8b0aaSJoseph Huber# RUN: llvm-objdump --offloading %t.elf | FileCheck %s --check-prefixes=CHECK,ELF --match-full-lines --strict-whitespace --implicit-check-not={{.}}
9d2d8b0aaSJoseph Huber
10d2d8b0aaSJoseph Huber!ELF
11d2d8b0aaSJoseph HuberFileHeader:
12d2d8b0aaSJoseph Huber  Class:           ELFCLASS64
13d2d8b0aaSJoseph Huber  Data:            ELFDATA2LSB
14d2d8b0aaSJoseph Huber  Type:            ET_EXEC
15*82a0adf0SJoseph HuberSections:
16*82a0adf0SJoseph Huber  - Name:            .llvm.offloading
17*82a0adf0SJoseph Huber    Type:            SHT_LLVM_OFFLOADING
18*82a0adf0SJoseph Huber    Flags:           [ SHF_EXCLUDE ]
19*82a0adf0SJoseph Huber    AddressAlign:    0x0000000000000008
20d2d8b0aaSJoseph Huber
21d2d8b0aaSJoseph Huber#        ELF:{{.*}}file format elf64-unknown
22d2d8b0aaSJoseph Huber#  ELF-EMPTY:
23d2d8b0aaSJoseph Huber#      CHECK:OFFLOADING IMAGE [0]:
24d2d8b0aaSJoseph Huber# CHECK-NEXT:kind            llvm ir
25d2d8b0aaSJoseph Huber# CHECK-NEXT:arch            gfx908
26d2d8b0aaSJoseph Huber# CHECK-NEXT:triple          amdgcn-amd-amdhsa
27d2d8b0aaSJoseph Huber# CHECK-NEXT:producer        openmp
28d2d8b0aaSJoseph Huber# CHECK-EMPTY:
29d2d8b0aaSJoseph Huber# CHECK-NEXT:OFFLOADING IMAGE [1]:
30d2d8b0aaSJoseph Huber# CHECK-NEXT:kind            llvm ir
31d2d8b0aaSJoseph Huber# CHECK-NEXT:arch            gfx90a
32d2d8b0aaSJoseph Huber# CHECK-NEXT:triple          amdgcn-amd-amdhsa
33d2d8b0aaSJoseph Huber# CHECK-NEXT:producer        openmp
34d2d8b0aaSJoseph Huber# CHECK-EMPTY:
35d2d8b0aaSJoseph Huber# CHECK-NEXT:OFFLOADING IMAGE [2]:
36d2d8b0aaSJoseph Huber# CHECK-NEXT:kind            cubin
37d2d8b0aaSJoseph Huber# CHECK-NEXT:arch            sm_52
38d2d8b0aaSJoseph Huber# CHECK-NEXT:triple          nvptx64-nvidia-cuda
39d2d8b0aaSJoseph Huber# CHECK-NEXT:producer        openmp
40d2d8b0aaSJoseph Huber# CHECK-EMPTY:
41d2d8b0aaSJoseph Huber# CHECK-NEXT:OFFLOADING IMAGE [3]:
42d2d8b0aaSJoseph Huber# CHECK-NEXT:kind            <none>
43d2d8b0aaSJoseph Huber# CHECK-NEXT:arch            sm_70
44d2d8b0aaSJoseph Huber# CHECK-NEXT:triple          nvptx64-nvidia-cuda
45d2d8b0aaSJoseph Huber# CHECK-NEXT:producer        none
46