File: get_elf_mach_gfx_name.cpp

package info (click to toggle)
llvm-toolchain-15 1%3A15.0.6-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,554,644 kB
  • sloc: cpp: 5,922,452; ansic: 1,012,136; asm: 674,362; python: 191,568; objc: 73,855; f90: 42,327; lisp: 31,913; pascal: 11,973; javascript: 10,144; sh: 9,421; perl: 7,447; ml: 5,527; awk: 3,523; makefile: 2,520; xml: 885; cs: 573; fortran: 567
file content (72 lines) | stat: -rw-r--r-- 2,289 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//===--- amdgpu/impl/get_elf_mach_gfx_name.cpp -------------------- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#include "get_elf_mach_gfx_name.h"

// This header conflicts with the system elf.h (macros vs enums of the same
// identifier) and contains more up to date values for the enum checked here.
// rtl.cpp uses the system elf.h.
#include "llvm/BinaryFormat/ELF.h"

const char *get_elf_mach_gfx_name(uint32_t EFlags) {
  using namespace llvm::ELF;
  uint32_t Gfx = (EFlags & EF_AMDGPU_MACH);
  switch (Gfx) {
  case EF_AMDGPU_MACH_AMDGCN_GFX801:
    return "gfx801";
  case EF_AMDGPU_MACH_AMDGCN_GFX802:
    return "gfx802";
  case EF_AMDGPU_MACH_AMDGCN_GFX803:
    return "gfx803";
  case EF_AMDGPU_MACH_AMDGCN_GFX805:
    return "gfx805";
  case EF_AMDGPU_MACH_AMDGCN_GFX810:
    return "gfx810";
  case EF_AMDGPU_MACH_AMDGCN_GFX900:
    return "gfx900";
  case EF_AMDGPU_MACH_AMDGCN_GFX902:
    return "gfx902";
  case EF_AMDGPU_MACH_AMDGCN_GFX904:
    return "gfx904";
  case EF_AMDGPU_MACH_AMDGCN_GFX906:
    return "gfx906";
  case EF_AMDGPU_MACH_AMDGCN_GFX908:
    return "gfx908";
  case EF_AMDGPU_MACH_AMDGCN_GFX909:
    return "gfx909";
  case EF_AMDGPU_MACH_AMDGCN_GFX90A:
    return "gfx90a";
  case EF_AMDGPU_MACH_AMDGCN_GFX90C:
    return "gfx90c";
  case EF_AMDGPU_MACH_AMDGCN_GFX940:
    return "gfx940";
  case EF_AMDGPU_MACH_AMDGCN_GFX1010:
    return "gfx1010";
  case EF_AMDGPU_MACH_AMDGCN_GFX1011:
    return "gfx1011";
  case EF_AMDGPU_MACH_AMDGCN_GFX1012:
    return "gfx1012";
  case EF_AMDGPU_MACH_AMDGCN_GFX1013:
    return "gfx1013";
  case EF_AMDGPU_MACH_AMDGCN_GFX1030:
    return "gfx1030";
  case EF_AMDGPU_MACH_AMDGCN_GFX1031:
    return "gfx1031";
  case EF_AMDGPU_MACH_AMDGCN_GFX1032:
    return "gfx1032";
  case EF_AMDGPU_MACH_AMDGCN_GFX1033:
    return "gfx1033";
  case EF_AMDGPU_MACH_AMDGCN_GFX1034:
    return "gfx1034";
  case EF_AMDGPU_MACH_AMDGCN_GFX1035:
    return "gfx1035";
  case EF_AMDGPU_MACH_AMDGCN_GFX1036:
    return "gfx1036";
  default:
    return "--unknown gfx";
  }
}