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 --update-section .llvm.offloading=%t.bin %t.elf
8# RUN: llvm-objdump --offloading %t.elf | FileCheck %s --check-prefixes=CHECK,ELF --match-full-lines --strict-whitespace --implicit-check-not={{.}}
9
10!ELF
11FileHeader:
12  Class:           ELFCLASS64
13  Data:            ELFDATA2LSB
14  Type:            ET_EXEC
15Sections:
16  - Name:            .llvm.offloading
17    Type:            SHT_LLVM_OFFLOADING
18    Flags:           [ SHF_EXCLUDE ]
19    AddressAlign:    0x0000000000000008
20
21#        ELF:{{.*}}file format elf64-unknown
22#  ELF-EMPTY:
23#      CHECK:OFFLOADING IMAGE [0]:
24# CHECK-NEXT:kind            llvm ir
25# CHECK-NEXT:arch            gfx908
26# CHECK-NEXT:triple          amdgcn-amd-amdhsa
27# CHECK-NEXT:producer        openmp
28# CHECK-EMPTY:
29# CHECK-NEXT:OFFLOADING IMAGE [1]:
30# CHECK-NEXT:kind            llvm ir
31# CHECK-NEXT:arch            gfx90a
32# CHECK-NEXT:triple          amdgcn-amd-amdhsa
33# CHECK-NEXT:producer        openmp
34# CHECK-EMPTY:
35# CHECK-NEXT:OFFLOADING IMAGE [2]:
36# CHECK-NEXT:kind            cubin
37# CHECK-NEXT:arch            sm_52
38# CHECK-NEXT:triple          nvptx64-nvidia-cuda
39# CHECK-NEXT:producer        openmp
40# CHECK-EMPTY:
41# CHECK-NEXT:OFFLOADING IMAGE [3]:
42# CHECK-NEXT:kind            <none>
43# CHECK-NEXT:arch            sm_70
44# CHECK-NEXT:triple          nvptx64-nvidia-cuda
45# CHECK-NEXT:producer        none
46