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