1 //===-- LoongArch_DWARF_Registers.h -----------------------------*- 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 9 #ifndef LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H 10 #define LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H 11 12 #include "lldb/lldb-private.h" 13 14 namespace loongarch_dwarf { 15 16 enum { 17 dwarf_gpr_r0 = 0, 18 dwarf_gpr_r1, 19 dwarf_gpr_r2, 20 dwarf_gpr_r3, 21 dwarf_gpr_r4, 22 dwarf_gpr_r5, 23 dwarf_gpr_r6, 24 dwarf_gpr_r7, 25 dwarf_gpr_r8, 26 dwarf_gpr_r9, 27 dwarf_gpr_r10, 28 dwarf_gpr_r11, 29 dwarf_gpr_r12, 30 dwarf_gpr_r13, 31 dwarf_gpr_r14, 32 dwarf_gpr_r15, 33 dwarf_gpr_r16, 34 dwarf_gpr_r17, 35 dwarf_gpr_r18, 36 dwarf_gpr_r19, 37 dwarf_gpr_r20, 38 dwarf_gpr_r21, 39 dwarf_gpr_r22, 40 dwarf_gpr_r23, 41 dwarf_gpr_r24, 42 dwarf_gpr_r25, 43 dwarf_gpr_r26, 44 dwarf_gpr_r27, 45 dwarf_gpr_r28, 46 dwarf_gpr_r29, 47 dwarf_gpr_r30, 48 dwarf_gpr_r31 = 31, 49 50 dwarf_gpr_orig_a0, 51 dwarf_gpr_pc, 52 dwarf_gpr_badv, 53 54 dwarf_gpr_reserved0 = 35, 55 dwarf_gpr_reserved1, 56 dwarf_gpr_reserved2, 57 dwarf_gpr_reserved3, 58 dwarf_gpr_reserved4, 59 dwarf_gpr_reserved5, 60 dwarf_gpr_reserved6, 61 dwarf_gpr_reserved7, 62 dwarf_gpr_reserved8, 63 dwarf_gpr_reserved9, 64 65 dwarf_fpr_f0 = 45, 66 dwarf_fpr_f1, 67 dwarf_fpr_f2, 68 dwarf_fpr_f3, 69 dwarf_fpr_f4, 70 dwarf_fpr_f5, 71 dwarf_fpr_f6, 72 dwarf_fpr_f7, 73 dwarf_fpr_f8, 74 dwarf_fpr_f9, 75 dwarf_fpr_f10, 76 dwarf_fpr_f11, 77 dwarf_fpr_f12, 78 dwarf_fpr_f13, 79 dwarf_fpr_f14, 80 dwarf_fpr_f15, 81 dwarf_fpr_f16, 82 dwarf_fpr_f17, 83 dwarf_fpr_f18, 84 dwarf_fpr_f19, 85 dwarf_fpr_f20, 86 dwarf_fpr_f21, 87 dwarf_fpr_f22, 88 dwarf_fpr_f23, 89 dwarf_fpr_f24, 90 dwarf_fpr_f25, 91 dwarf_fpr_f26, 92 dwarf_fpr_f27, 93 dwarf_fpr_f28, 94 dwarf_fpr_f29, 95 dwarf_fpr_f30, 96 dwarf_fpr_f31 = 76, 97 98 dwarf_fpr_fcc0, 99 dwarf_fpr_fcc1, 100 dwarf_fpr_fcc2, 101 dwarf_fpr_fcc3, 102 dwarf_fpr_fcc4, 103 dwarf_fpr_fcc5, 104 dwarf_fpr_fcc6, 105 dwarf_fpr_fcc7, 106 dwarf_fpr_fcsr, 107 108 // register name alias 109 dwarf_gpr_zero = dwarf_gpr_r0, 110 dwarf_gpr_ra = dwarf_gpr_r1, 111 dwarf_gpr_tp = dwarf_gpr_r2, 112 dwarf_gpr_sp = dwarf_gpr_r3, 113 dwarf_gpr_a0 = dwarf_gpr_r4, 114 dwarf_gpr_a1 = dwarf_gpr_r5, 115 dwarf_gpr_a2 = dwarf_gpr_r6, 116 dwarf_gpr_a3 = dwarf_gpr_r7, 117 dwarf_gpr_a4 = dwarf_gpr_r8, 118 dwarf_gpr_a5 = dwarf_gpr_r9, 119 dwarf_gpr_a6 = dwarf_gpr_r10, 120 dwarf_gpr_a7 = dwarf_gpr_r11, 121 dwarf_gpr_t0 = dwarf_gpr_r12, 122 dwarf_gpr_t1 = dwarf_gpr_r13, 123 dwarf_gpr_t2 = dwarf_gpr_r14, 124 dwarf_gpr_t3 = dwarf_gpr_r15, 125 dwarf_gpr_t4 = dwarf_gpr_r16, 126 dwarf_gpr_t5 = dwarf_gpr_r17, 127 dwarf_gpr_t6 = dwarf_gpr_r18, 128 dwarf_gpr_t7 = dwarf_gpr_r19, 129 dwarf_gpr_t8 = dwarf_gpr_r20, 130 dwarf_gpr_fp = dwarf_gpr_r22, 131 dwarf_gpr_s0 = dwarf_gpr_r23, 132 dwarf_gpr_s1 = dwarf_gpr_r24, 133 dwarf_gpr_s2 = dwarf_gpr_r25, 134 dwarf_gpr_s3 = dwarf_gpr_r26, 135 dwarf_gpr_s4 = dwarf_gpr_r27, 136 dwarf_gpr_s5 = dwarf_gpr_r28, 137 dwarf_gpr_s6 = dwarf_gpr_r29, 138 dwarf_gpr_s7 = dwarf_gpr_r30, 139 dwarf_gpr_s8 = dwarf_gpr_r31, 140 141 dwarf_fpr_fa0 = dwarf_fpr_f0, 142 dwarf_fpr_fa1 = dwarf_fpr_f1, 143 dwarf_fpr_fa2 = dwarf_fpr_f2, 144 dwarf_fpr_fa3 = dwarf_fpr_f3, 145 dwarf_fpr_fa4 = dwarf_fpr_f4, 146 dwarf_fpr_fa5 = dwarf_fpr_f5, 147 dwarf_fpr_fa6 = dwarf_fpr_f6, 148 dwarf_fpr_fa7 = dwarf_fpr_f7, 149 dwarf_fpr_ft0 = dwarf_fpr_f8, 150 dwarf_fpr_ft1 = dwarf_fpr_f9, 151 dwarf_fpr_ft2 = dwarf_fpr_f10, 152 dwarf_fpr_ft3 = dwarf_fpr_f11, 153 dwarf_fpr_ft4 = dwarf_fpr_f12, 154 dwarf_fpr_ft5 = dwarf_fpr_f13, 155 dwarf_fpr_ft6 = dwarf_fpr_f14, 156 dwarf_fpr_ft7 = dwarf_fpr_f15, 157 dwarf_fpr_ft8 = dwarf_fpr_f16, 158 dwarf_fpr_ft9 = dwarf_fpr_f17, 159 dwarf_fpr_ft10 = dwarf_fpr_f18, 160 dwarf_fpr_ft11 = dwarf_fpr_f19, 161 dwarf_fpr_ft12 = dwarf_fpr_f20, 162 dwarf_fpr_ft13 = dwarf_fpr_f21, 163 dwarf_fpr_ft14 = dwarf_fpr_f22, 164 dwarf_fpr_ft15 = dwarf_fpr_f23, 165 dwarf_fpr_fs0 = dwarf_fpr_f24, 166 dwarf_fpr_fs1 = dwarf_fpr_f25, 167 dwarf_fpr_fs2 = dwarf_fpr_f26, 168 dwarf_fpr_fs3 = dwarf_fpr_f27, 169 dwarf_fpr_fs4 = dwarf_fpr_f28, 170 dwarf_fpr_fs5 = dwarf_fpr_f29, 171 dwarf_fpr_fs6 = dwarf_fpr_f30, 172 dwarf_fpr_fs7 = dwarf_fpr_f31, 173 }; 174 175 } // namespace loongarch_dwarf 176 177 #endif // LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H 178