File: get_elf_mach_gfx_name.cpp

package info (click to toggle)
llvm-toolchain-14 1%3A14.0.6-20
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,496,436 kB
  • sloc: cpp: 5,593,990; ansic: 986,873; asm: 585,869; python: 184,223; objc: 72,530; lisp: 31,119; f90: 27,793; javascript: 9,780; pascal: 9,762; sh: 9,482; perl: 7,468; ml: 5,432; awk: 3,523; makefile: 2,547; xml: 953; cs: 573; fortran: 567
file content (66 lines) | stat: -rw-r--r-- 2,113 bytes parent folder | download | duplicates (6)
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
//===--- 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_GFX90C:
    return "gfx90c";
  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";
  default:
    return "--unknown gfx";
  }
}