1 //===--- amdgpu/impl/get_elf_mach_gfx_name.cpp -------------------- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 #include "get_elf_mach_gfx_name.h" 9 10 // This header conflicts with the system elf.h (macros vs enums of the same 11 // identifier) and contains more up to date values for the enum checked here. 12 // rtl.cpp uses the system elf.h. 13 #include "llvm/BinaryFormat/ELF.h" 14 get_elf_mach_gfx_name(uint32_t EFlags)15const char *get_elf_mach_gfx_name(uint32_t EFlags) { 16 using namespace llvm::ELF; 17 uint32_t Gfx = (EFlags & EF_AMDGPU_MACH); 18 switch (Gfx) { 19 case EF_AMDGPU_MACH_AMDGCN_GFX801: 20 return "gfx801"; 21 case EF_AMDGPU_MACH_AMDGCN_GFX802: 22 return "gfx802"; 23 case EF_AMDGPU_MACH_AMDGCN_GFX803: 24 return "gfx803"; 25 case EF_AMDGPU_MACH_AMDGCN_GFX805: 26 return "gfx805"; 27 case EF_AMDGPU_MACH_AMDGCN_GFX810: 28 return "gfx810"; 29 case EF_AMDGPU_MACH_AMDGCN_GFX900: 30 return "gfx900"; 31 case EF_AMDGPU_MACH_AMDGCN_GFX902: 32 return "gfx902"; 33 case EF_AMDGPU_MACH_AMDGCN_GFX904: 34 return "gfx904"; 35 case EF_AMDGPU_MACH_AMDGCN_GFX906: 36 return "gfx906"; 37 case EF_AMDGPU_MACH_AMDGCN_GFX908: 38 return "gfx908"; 39 case EF_AMDGPU_MACH_AMDGCN_GFX909: 40 return "gfx909"; 41 case EF_AMDGPU_MACH_AMDGCN_GFX90A: 42 return "gfx90a"; 43 case EF_AMDGPU_MACH_AMDGCN_GFX90C: 44 return "gfx90c"; 45 case EF_AMDGPU_MACH_AMDGCN_GFX940: 46 return "gfx940"; 47 case EF_AMDGPU_MACH_AMDGCN_GFX1010: 48 return "gfx1010"; 49 case EF_AMDGPU_MACH_AMDGCN_GFX1011: 50 return "gfx1011"; 51 case EF_AMDGPU_MACH_AMDGCN_GFX1012: 52 return "gfx1012"; 53 case EF_AMDGPU_MACH_AMDGCN_GFX1013: 54 return "gfx1013"; 55 case EF_AMDGPU_MACH_AMDGCN_GFX1030: 56 return "gfx1030"; 57 case EF_AMDGPU_MACH_AMDGCN_GFX1031: 58 return "gfx1031"; 59 case EF_AMDGPU_MACH_AMDGCN_GFX1032: 60 return "gfx1032"; 61 case EF_AMDGPU_MACH_AMDGCN_GFX1033: 62 return "gfx1033"; 63 case EF_AMDGPU_MACH_AMDGCN_GFX1034: 64 return "gfx1034"; 65 case EF_AMDGPU_MACH_AMDGCN_GFX1035: 66 return "gfx1035"; 67 case EF_AMDGPU_MACH_AMDGCN_GFX1036: 68 return "gfx1036"; 69 default: 70 return "--unknown gfx"; 71 } 72 } 73