1 //===-- RegisterInfos_arm64.h ----------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===---------------------------------------------------------------------===// 9 10 #ifdef DECLARE_REGISTER_INFOS_ARM64_STRUCT 11 12 #include <stddef.h> 13 14 #include "lldb/lldb-private.h" 15 #include "lldb/lldb-defines.h" 16 #include "lldb/lldb-enumerations.h" 17 18 #include "Utility/ARM64_GCC_Registers.h" 19 #include "Utility/ARM64_DWARF_Registers.h" 20 21 #ifndef GPR_OFFSET 22 #error GPR_OFFSET must be defined before including this header file 23 #endif 24 25 #ifndef GPR_OFFSET_NAME 26 #error GPR_OFFSET_NAME must be defined before including this header file 27 #endif 28 29 #ifndef FPU_OFFSET 30 #error FPU_OFFSET must be defined before including this header file 31 #endif 32 33 #ifndef FPU_OFFSET_NAME 34 #error FPU_OFFSET_NAME must be defined before including this header file 35 #endif 36 37 #ifndef EXC_OFFSET_NAME 38 #error EXC_OFFSET_NAME must be defined before including this header file 39 #endif 40 41 #ifndef DBG_OFFSET_NAME 42 #error DBG_OFFSET_NAME must be defined before including this header file 43 #endif 44 45 #ifndef DEFINE_DBG 46 #error DEFINE_DBG must be defined before including this header file 47 #endif 48 49 enum 50 { 51 gpr_x0 = 0, 52 gpr_x1, 53 gpr_x2, 54 gpr_x3, 55 gpr_x4, 56 gpr_x5, 57 gpr_x6, 58 gpr_x7, 59 gpr_x8, 60 gpr_x9, 61 gpr_x10, 62 gpr_x11, 63 gpr_x12, 64 gpr_x13, 65 gpr_x14, 66 gpr_x15, 67 gpr_x16, 68 gpr_x17, 69 gpr_x18, 70 gpr_x19, 71 gpr_x20, 72 gpr_x21, 73 gpr_x22, 74 gpr_x23, 75 gpr_x24, 76 gpr_x25, 77 gpr_x26, 78 gpr_x27, 79 gpr_x28, 80 gpr_x29 = 29, gpr_fp = gpr_x29, 81 gpr_x30 = 30, gpr_lr = gpr_x30, gpr_ra = gpr_x30, 82 gpr_x31 = 31, gpr_sp = gpr_x31, 83 gpr_pc = 32, 84 gpr_cpsr, 85 86 fpu_v0, 87 fpu_v1, 88 fpu_v2, 89 fpu_v3, 90 fpu_v4, 91 fpu_v5, 92 fpu_v6, 93 fpu_v7, 94 fpu_v8, 95 fpu_v9, 96 fpu_v10, 97 fpu_v11, 98 fpu_v12, 99 fpu_v13, 100 fpu_v14, 101 fpu_v15, 102 fpu_v16, 103 fpu_v17, 104 fpu_v18, 105 fpu_v19, 106 fpu_v20, 107 fpu_v21, 108 fpu_v22, 109 fpu_v23, 110 fpu_v24, 111 fpu_v25, 112 fpu_v26, 113 fpu_v27, 114 fpu_v28, 115 fpu_v29, 116 fpu_v30, 117 fpu_v31, 118 119 fpu_fpsr, 120 fpu_fpcr, 121 122 exc_far, 123 exc_esr, 124 exc_exception, 125 126 dbg_bvr0, 127 dbg_bvr1, 128 dbg_bvr2, 129 dbg_bvr3, 130 dbg_bvr4, 131 dbg_bvr5, 132 dbg_bvr6, 133 dbg_bvr7, 134 dbg_bvr8, 135 dbg_bvr9, 136 dbg_bvr10, 137 dbg_bvr11, 138 dbg_bvr12, 139 dbg_bvr13, 140 dbg_bvr14, 141 dbg_bvr15, 142 143 dbg_bcr0, 144 dbg_bcr1, 145 dbg_bcr2, 146 dbg_bcr3, 147 dbg_bcr4, 148 dbg_bcr5, 149 dbg_bcr6, 150 dbg_bcr7, 151 dbg_bcr8, 152 dbg_bcr9, 153 dbg_bcr10, 154 dbg_bcr11, 155 dbg_bcr12, 156 dbg_bcr13, 157 dbg_bcr14, 158 dbg_bcr15, 159 160 dbg_wvr0, 161 dbg_wvr1, 162 dbg_wvr2, 163 dbg_wvr3, 164 dbg_wvr4, 165 dbg_wvr5, 166 dbg_wvr6, 167 dbg_wvr7, 168 dbg_wvr8, 169 dbg_wvr9, 170 dbg_wvr10, 171 dbg_wvr11, 172 dbg_wvr12, 173 dbg_wvr13, 174 dbg_wvr14, 175 dbg_wvr15, 176 177 dbg_wcr0, 178 dbg_wcr1, 179 dbg_wcr2, 180 dbg_wcr3, 181 dbg_wcr4, 182 dbg_wcr5, 183 dbg_wcr6, 184 dbg_wcr7, 185 dbg_wcr8, 186 dbg_wcr9, 187 dbg_wcr10, 188 dbg_wcr11, 189 dbg_wcr12, 190 dbg_wcr13, 191 dbg_wcr14, 192 dbg_wcr15, 193 194 k_num_registers 195 }; 196 197 static lldb_private::RegisterInfo g_register_infos_arm64[] = { 198 // General purpose registers 199 // NAME ALT SZ OFFSET ENCODING FORMAT COMPILER DWARF GENERIC GDB LLDB NATIVE VALUE REGS INVALIDATE REGS 200 // ====== ======= == ============= ============= ============ =============== =============== ========================= ===================== ============= ========== =============== 201 { "x0", NULL, 8, GPR_OFFSET(0), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x0, arm64_dwarf::x0, LLDB_REGNUM_GENERIC_ARG1, arm64_gcc::x0, gpr_x0 }, NULL, NULL}, 202 { "x1", NULL, 8, GPR_OFFSET(1), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x1, arm64_dwarf::x1, LLDB_REGNUM_GENERIC_ARG2, arm64_gcc::x1, gpr_x1 }, NULL, NULL}, 203 { "x2", NULL, 8, GPR_OFFSET(2), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x2, arm64_dwarf::x2, LLDB_REGNUM_GENERIC_ARG3, arm64_gcc::x2, gpr_x2 }, NULL, NULL}, 204 { "x3", NULL, 8, GPR_OFFSET(3), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x3, arm64_dwarf::x3, LLDB_REGNUM_GENERIC_ARG4, arm64_gcc::x3, gpr_x3 }, NULL, NULL}, 205 { "x4", NULL, 8, GPR_OFFSET(4), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x4, arm64_dwarf::x4, LLDB_REGNUM_GENERIC_ARG5, arm64_gcc::x4, gpr_x4 }, NULL, NULL}, 206 { "x5", NULL, 8, GPR_OFFSET(5), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x5, arm64_dwarf::x5, LLDB_REGNUM_GENERIC_ARG6, arm64_gcc::x5, gpr_x5 }, NULL, NULL}, 207 { "x6", NULL, 8, GPR_OFFSET(6), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x6, arm64_dwarf::x6, LLDB_REGNUM_GENERIC_ARG7, arm64_gcc::x6, gpr_x6 }, NULL, NULL}, 208 { "x7", NULL, 8, GPR_OFFSET(7), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x7, arm64_dwarf::x7, LLDB_REGNUM_GENERIC_ARG8, arm64_gcc::x7, gpr_x7 }, NULL, NULL}, 209 { "x8", NULL, 8, GPR_OFFSET(8), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x8, arm64_dwarf::x8, LLDB_INVALID_REGNUM, arm64_gcc::x8, gpr_x8 }, NULL, NULL}, 210 { "x9", NULL, 8, GPR_OFFSET(9), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x9, arm64_dwarf::x9, LLDB_INVALID_REGNUM, arm64_gcc::x9, gpr_x9 }, NULL, NULL}, 211 { "x10", NULL, 8, GPR_OFFSET(10), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x10, arm64_dwarf::x10, LLDB_INVALID_REGNUM, arm64_gcc::x10, gpr_x10 }, NULL, NULL}, 212 { "x11", NULL, 8, GPR_OFFSET(11), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x11, arm64_dwarf::x11, LLDB_INVALID_REGNUM, arm64_gcc::x11, gpr_x11 }, NULL, NULL}, 213 { "x12", NULL, 8, GPR_OFFSET(12), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x12, arm64_dwarf::x12, LLDB_INVALID_REGNUM, arm64_gcc::x12, gpr_x12 }, NULL, NULL}, 214 { "x13", NULL, 8, GPR_OFFSET(13), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x13, arm64_dwarf::x13, LLDB_INVALID_REGNUM, arm64_gcc::x13, gpr_x13 }, NULL, NULL}, 215 { "x14", NULL, 8, GPR_OFFSET(14), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x14, arm64_dwarf::x14, LLDB_INVALID_REGNUM, arm64_gcc::x14, gpr_x14 }, NULL, NULL}, 216 { "x15", NULL, 8, GPR_OFFSET(15), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x15, arm64_dwarf::x15, LLDB_INVALID_REGNUM, arm64_gcc::x15, gpr_x15 }, NULL, NULL}, 217 { "x16", NULL, 8, GPR_OFFSET(16), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x16, arm64_dwarf::x16, LLDB_INVALID_REGNUM, arm64_gcc::x16, gpr_x16 }, NULL, NULL}, 218 { "x17", NULL, 8, GPR_OFFSET(17), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x17, arm64_dwarf::x17, LLDB_INVALID_REGNUM, arm64_gcc::x17, gpr_x17 }, NULL, NULL}, 219 { "x18", NULL, 8, GPR_OFFSET(18), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x18, arm64_dwarf::x18, LLDB_INVALID_REGNUM, arm64_gcc::x18, gpr_x18 }, NULL, NULL}, 220 { "x19", NULL, 8, GPR_OFFSET(19), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x19, arm64_dwarf::x19, LLDB_INVALID_REGNUM, arm64_gcc::x19, gpr_x19 }, NULL, NULL}, 221 { "x20", NULL, 8, GPR_OFFSET(20), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x20, arm64_dwarf::x20, LLDB_INVALID_REGNUM, arm64_gcc::x20, gpr_x20 }, NULL, NULL}, 222 { "x21", NULL, 8, GPR_OFFSET(21), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x21, arm64_dwarf::x21, LLDB_INVALID_REGNUM, arm64_gcc::x21, gpr_x21 }, NULL, NULL}, 223 { "x22", NULL, 8, GPR_OFFSET(22), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x22, arm64_dwarf::x22, LLDB_INVALID_REGNUM, arm64_gcc::x22, gpr_x22 }, NULL, NULL}, 224 { "x23", NULL, 8, GPR_OFFSET(23), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x23, arm64_dwarf::x23, LLDB_INVALID_REGNUM, arm64_gcc::x23, gpr_x23 }, NULL, NULL}, 225 { "x24", NULL, 8, GPR_OFFSET(24), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x24, arm64_dwarf::x24, LLDB_INVALID_REGNUM, arm64_gcc::x24, gpr_x24 }, NULL, NULL}, 226 { "x25", NULL, 8, GPR_OFFSET(25), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x25, arm64_dwarf::x25, LLDB_INVALID_REGNUM, arm64_gcc::x25, gpr_x25 }, NULL, NULL}, 227 { "x26", NULL, 8, GPR_OFFSET(26), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x26, arm64_dwarf::x26, LLDB_INVALID_REGNUM, arm64_gcc::x26, gpr_x26 }, NULL, NULL}, 228 { "x27", NULL, 8, GPR_OFFSET(27), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x27, arm64_dwarf::x27, LLDB_INVALID_REGNUM, arm64_gcc::x27, gpr_x27 }, NULL, NULL}, 229 { "x28", NULL, 8, GPR_OFFSET(28), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::x28, arm64_dwarf::x28, LLDB_INVALID_REGNUM, arm64_gcc::x28, gpr_x28 }, NULL, NULL}, 230 231 { "fp", "x29", 8, GPR_OFFSET(29), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::fp, arm64_dwarf::fp, LLDB_REGNUM_GENERIC_FP, arm64_gcc::fp, gpr_fp }, NULL, NULL}, 232 { "lr", "x30", 8, GPR_OFFSET(30), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::lr, arm64_dwarf::lr, LLDB_REGNUM_GENERIC_RA, arm64_gcc::lr, gpr_lr }, NULL, NULL}, 233 { "sp", "x31", 8, GPR_OFFSET(31), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::sp, arm64_dwarf::sp, LLDB_REGNUM_GENERIC_SP, arm64_gcc::sp, gpr_sp }, NULL, NULL}, 234 { "pc", NULL, 8, GPR_OFFSET(32), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::pc, arm64_dwarf::pc, LLDB_REGNUM_GENERIC_PC, arm64_gcc::pc, gpr_pc }, NULL, NULL}, 235 236 { "cpsr", NULL, 4, GPR_OFFSET_NAME(cpsr), lldb::eEncodingUint, lldb::eFormatHex, { arm64_gcc::cpsr, arm64_dwarf::cpsr, LLDB_REGNUM_GENERIC_FLAGS, arm64_gcc::cpsr, gpr_cpsr }, NULL, NULL}, 237 238 { "v0", NULL, 16, FPU_OFFSET(0), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v0, LLDB_INVALID_REGNUM, arm64_gcc::v0, fpu_v0 }, NULL, NULL}, 239 { "v1", NULL, 16, FPU_OFFSET(1), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v1, LLDB_INVALID_REGNUM, arm64_gcc::v1, fpu_v1 }, NULL, NULL}, 240 { "v2", NULL, 16, FPU_OFFSET(2), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v2, LLDB_INVALID_REGNUM, arm64_gcc::v2, fpu_v2 }, NULL, NULL}, 241 { "v3", NULL, 16, FPU_OFFSET(3), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v3, LLDB_INVALID_REGNUM, arm64_gcc::v3, fpu_v3 }, NULL, NULL}, 242 { "v4", NULL, 16, FPU_OFFSET(4), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v4, LLDB_INVALID_REGNUM, arm64_gcc::v4, fpu_v4 }, NULL, NULL}, 243 { "v5", NULL, 16, FPU_OFFSET(5), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v5, LLDB_INVALID_REGNUM, arm64_gcc::v5, fpu_v5 }, NULL, NULL}, 244 { "v6", NULL, 16, FPU_OFFSET(6), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v6, LLDB_INVALID_REGNUM, arm64_gcc::v6, fpu_v6 }, NULL, NULL}, 245 { "v7", NULL, 16, FPU_OFFSET(7), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v7, LLDB_INVALID_REGNUM, arm64_gcc::v7, fpu_v7 }, NULL, NULL}, 246 { "v8", NULL, 16, FPU_OFFSET(8), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v8, LLDB_INVALID_REGNUM, arm64_gcc::v8, fpu_v8 }, NULL, NULL}, 247 { "v9", NULL, 16, FPU_OFFSET(9), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v9, LLDB_INVALID_REGNUM, arm64_gcc::v9, fpu_v9 }, NULL, NULL}, 248 { "v10", NULL, 16, FPU_OFFSET(10), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v10, LLDB_INVALID_REGNUM, arm64_gcc::v10, fpu_v10 }, NULL, NULL}, 249 { "v11", NULL, 16, FPU_OFFSET(11), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v11, LLDB_INVALID_REGNUM, arm64_gcc::v11, fpu_v11 }, NULL, NULL}, 250 { "v12", NULL, 16, FPU_OFFSET(12), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v12, LLDB_INVALID_REGNUM, arm64_gcc::v12, fpu_v12 }, NULL, NULL}, 251 { "v13", NULL, 16, FPU_OFFSET(13), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v13, LLDB_INVALID_REGNUM, arm64_gcc::v13, fpu_v13 }, NULL, NULL}, 252 { "v14", NULL, 16, FPU_OFFSET(14), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v14, LLDB_INVALID_REGNUM, arm64_gcc::v14, fpu_v14 }, NULL, NULL}, 253 { "v15", NULL, 16, FPU_OFFSET(15), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v15, LLDB_INVALID_REGNUM, arm64_gcc::v15, fpu_v15 }, NULL, NULL}, 254 { "v16", NULL, 16, FPU_OFFSET(16), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v16, LLDB_INVALID_REGNUM, arm64_gcc::v16, fpu_v16 }, NULL, NULL}, 255 { "v17", NULL, 16, FPU_OFFSET(17), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v17, LLDB_INVALID_REGNUM, arm64_gcc::v17, fpu_v17 }, NULL, NULL}, 256 { "v18", NULL, 16, FPU_OFFSET(18), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v18, LLDB_INVALID_REGNUM, arm64_gcc::v18, fpu_v18 }, NULL, NULL}, 257 { "v19", NULL, 16, FPU_OFFSET(19), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v19, LLDB_INVALID_REGNUM, arm64_gcc::v19, fpu_v19 }, NULL, NULL}, 258 { "v20", NULL, 16, FPU_OFFSET(20), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v20, LLDB_INVALID_REGNUM, arm64_gcc::v20, fpu_v20 }, NULL, NULL}, 259 { "v21", NULL, 16, FPU_OFFSET(21), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v21, LLDB_INVALID_REGNUM, arm64_gcc::v21, fpu_v21 }, NULL, NULL}, 260 { "v22", NULL, 16, FPU_OFFSET(22), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v22, LLDB_INVALID_REGNUM, arm64_gcc::v22, fpu_v22 }, NULL, NULL}, 261 { "v23", NULL, 16, FPU_OFFSET(23), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v23, LLDB_INVALID_REGNUM, arm64_gcc::v23, fpu_v23 }, NULL, NULL}, 262 { "v24", NULL, 16, FPU_OFFSET(24), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v24, LLDB_INVALID_REGNUM, arm64_gcc::v24, fpu_v24 }, NULL, NULL}, 263 { "v25", NULL, 16, FPU_OFFSET(25), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v25, LLDB_INVALID_REGNUM, arm64_gcc::v25, fpu_v25 }, NULL, NULL}, 264 { "v26", NULL, 16, FPU_OFFSET(26), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v26, LLDB_INVALID_REGNUM, arm64_gcc::v26, fpu_v26 }, NULL, NULL}, 265 { "v27", NULL, 16, FPU_OFFSET(27), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v27, LLDB_INVALID_REGNUM, arm64_gcc::v27, fpu_v27 }, NULL, NULL}, 266 { "v28", NULL, 16, FPU_OFFSET(28), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v28, LLDB_INVALID_REGNUM, arm64_gcc::v28, fpu_v28 }, NULL, NULL}, 267 { "v29", NULL, 16, FPU_OFFSET(29), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v29, LLDB_INVALID_REGNUM, arm64_gcc::v29, fpu_v29 }, NULL, NULL}, 268 { "v30", NULL, 16, FPU_OFFSET(30), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v30, LLDB_INVALID_REGNUM, arm64_gcc::v30, fpu_v30 }, NULL, NULL}, 269 { "v31", NULL, 16, FPU_OFFSET(31), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v31, LLDB_INVALID_REGNUM, arm64_gcc::v31, fpu_v31 }, NULL, NULL}, 270 271 { "fpsr", NULL, 4, FPU_OFFSET_NAME(fpsr), lldb::eEncodingUint, lldb::eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_fpsr }, NULL, NULL}, 272 { "fpcr", NULL, 4, FPU_OFFSET_NAME(fpcr), lldb::eEncodingUint, lldb::eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_fpcr }, NULL, NULL}, 273 274 { "far", NULL, 8, EXC_OFFSET_NAME(far), lldb::eEncodingUint, lldb::eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, exc_far }, NULL, NULL}, 275 { "esr", NULL, 4, EXC_OFFSET_NAME(esr), lldb::eEncodingUint, lldb::eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, exc_esr }, NULL, NULL}, 276 { "exception",NULL, 4, EXC_OFFSET_NAME(exception), lldb::eEncodingUint, lldb::eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, exc_exception }, NULL, NULL}, 277 278 { DEFINE_DBG (bvr, 0) }, 279 { DEFINE_DBG (bvr, 1) }, 280 { DEFINE_DBG (bvr, 2) }, 281 { DEFINE_DBG (bvr, 3) }, 282 { DEFINE_DBG (bvr, 4) }, 283 { DEFINE_DBG (bvr, 5) }, 284 { DEFINE_DBG (bvr, 6) }, 285 { DEFINE_DBG (bvr, 7) }, 286 { DEFINE_DBG (bvr, 8) }, 287 { DEFINE_DBG (bvr, 9) }, 288 { DEFINE_DBG (bvr, 10) }, 289 { DEFINE_DBG (bvr, 11) }, 290 { DEFINE_DBG (bvr, 12) }, 291 { DEFINE_DBG (bvr, 13) }, 292 { DEFINE_DBG (bvr, 14) }, 293 { DEFINE_DBG (bvr, 15) }, 294 295 { DEFINE_DBG (bcr, 0) }, 296 { DEFINE_DBG (bcr, 1) }, 297 { DEFINE_DBG (bcr, 2) }, 298 { DEFINE_DBG (bcr, 3) }, 299 { DEFINE_DBG (bcr, 4) }, 300 { DEFINE_DBG (bcr, 5) }, 301 { DEFINE_DBG (bcr, 6) }, 302 { DEFINE_DBG (bcr, 7) }, 303 { DEFINE_DBG (bcr, 8) }, 304 { DEFINE_DBG (bcr, 9) }, 305 { DEFINE_DBG (bcr, 10) }, 306 { DEFINE_DBG (bcr, 11) }, 307 { DEFINE_DBG (bcr, 12) }, 308 { DEFINE_DBG (bcr, 13) }, 309 { DEFINE_DBG (bcr, 14) }, 310 { DEFINE_DBG (bcr, 15) }, 311 312 { DEFINE_DBG (wvr, 0) }, 313 { DEFINE_DBG (wvr, 1) }, 314 { DEFINE_DBG (wvr, 2) }, 315 { DEFINE_DBG (wvr, 3) }, 316 { DEFINE_DBG (wvr, 4) }, 317 { DEFINE_DBG (wvr, 5) }, 318 { DEFINE_DBG (wvr, 6) }, 319 { DEFINE_DBG (wvr, 7) }, 320 { DEFINE_DBG (wvr, 8) }, 321 { DEFINE_DBG (wvr, 9) }, 322 { DEFINE_DBG (wvr, 10) }, 323 { DEFINE_DBG (wvr, 11) }, 324 { DEFINE_DBG (wvr, 12) }, 325 { DEFINE_DBG (wvr, 13) }, 326 { DEFINE_DBG (wvr, 14) }, 327 { DEFINE_DBG (wvr, 15) }, 328 329 { DEFINE_DBG (wcr, 0) }, 330 { DEFINE_DBG (wcr, 1) }, 331 { DEFINE_DBG (wcr, 2) }, 332 { DEFINE_DBG (wcr, 3) }, 333 { DEFINE_DBG (wcr, 4) }, 334 { DEFINE_DBG (wcr, 5) }, 335 { DEFINE_DBG (wcr, 6) }, 336 { DEFINE_DBG (wcr, 7) }, 337 { DEFINE_DBG (wcr, 8) }, 338 { DEFINE_DBG (wcr, 9) }, 339 { DEFINE_DBG (wcr, 10) }, 340 { DEFINE_DBG (wcr, 11) }, 341 { DEFINE_DBG (wcr, 12) }, 342 { DEFINE_DBG (wcr, 13) }, 343 { DEFINE_DBG (wcr, 14) }, 344 { DEFINE_DBG (wcr, 15) } 345 }; 346 347 #endif // DECLARE_REGISTER_INFOS_ARM64_STRUCT 348