RegisterInfos_arm64.h revision 309124
14Srgrimes//===-- RegisterInfos_arm64.h -----------------------------------*- C++ -*-===//
2549Srgrimes//
34Srgrimes//                     The LLVM Compiler Infrastructure
44Srgrimes//
54Srgrimes// This file is distributed under the University of Illinois Open Source
64Srgrimes// License. See LICENSE.TXT for details.
74Srgrimes//
84Srgrimes//===----------------------------------------------------------------------===//
94Srgrimes
104Srgrimes#ifdef DECLARE_REGISTER_INFOS_ARM64_STRUCT
114Srgrimes
124Srgrimes// C Includes
134Srgrimes#include <stddef.h>
144Srgrimes
154Srgrimes// C++ Includes
164Srgrimes// Other libraries and framework includes
174Srgrimes// Project includes
184Srgrimes#include "lldb/lldb-private.h"
194Srgrimes#include "lldb/lldb-defines.h"
204Srgrimes#include "lldb/lldb-enumerations.h"
214Srgrimes
224Srgrimes#include "Utility/ARM64_DWARF_Registers.h"
234Srgrimes#include "Utility/ARM64_ehframe_Registers.h"
244Srgrimes
254Srgrimes#ifndef GPR_OFFSET
264Srgrimes#error GPR_OFFSET must be defined before including this header file
274Srgrimes#endif
284Srgrimes
294Srgrimes#ifndef GPR_OFFSET_NAME
304Srgrimes#error GPR_OFFSET_NAME must be defined before including this header file
314Srgrimes#endif
324Srgrimes
334Srgrimes#ifndef FPU_OFFSET
344Srgrimes#error FPU_OFFSET must be defined before including this header file
354Srgrimes#endif
364Srgrimes
37549Srgrimes#ifndef FPU_OFFSET_NAME
3812186Sphk#error FPU_OFFSET_NAME must be defined before including this header file
394Srgrimes#endif
404Srgrimes
41556Srgrimes#ifndef EXC_OFFSET_NAME
42556Srgrimes#error EXC_OFFSET_NAME must be defined before including this header file
434Srgrimes#endif
441549Srgrimes
451549Srgrimes#ifndef DBG_OFFSET_NAME
4611390Sbde#error DBG_OFFSET_NAME must be defined before including this header file
471549Srgrimes#endif
481549Srgrimes
491549Srgrimes#ifndef DEFINE_DBG
501549Srgrimes#error DEFINE_DBG must be defined before including this header file
511549Srgrimes#endif
521549Srgrimes
531549Srgrimesenum
541549Srgrimes{
551549Srgrimes    gpr_x0 = 0,
561549Srgrimes    gpr_x1,
571549Srgrimes    gpr_x2,
587090Sbde    gpr_x3,
591549Srgrimes    gpr_x4,
601549Srgrimes    gpr_x5,
612254Ssos    gpr_x6,
621549Srgrimes    gpr_x7,
631549Srgrimes    gpr_x8,
647103Sdg    gpr_x9,
654Srgrimes    gpr_x10,
66556Srgrimes    gpr_x11,
672056Swollman    gpr_x12,
68556Srgrimes    gpr_x13,
69556Srgrimes    gpr_x14,
70990Sdg    gpr_x15,
712056Swollman    gpr_x16,
72990Sdg    gpr_x17,
73990Sdg    gpr_x18,
74990Sdg    gpr_x19,
752056Swollman    gpr_x20,
76990Sdg    gpr_x21,
77990Sdg    gpr_x22,
782056Swollman    gpr_x23,
792056Swollman    gpr_x24,
802056Swollman    gpr_x25,
819507Sdg    gpr_x26,
824Srgrimes    gpr_x27,
832056Swollman    gpr_x28,
842056Swollman    gpr_x29 = 29,  gpr_fp = gpr_x29,
85556Srgrimes    gpr_x30 = 30,  gpr_lr = gpr_x30,  gpr_ra = gpr_x30,
867090Sbde    gpr_x31 = 31,  gpr_sp = gpr_x31,
877090Sbde    gpr_pc = 32,
882772Swollman    gpr_cpsr,
892772Swollman
907090Sbde    fpu_v0,
917090Sbde    fpu_v1,
927090Sbde    fpu_v2,
934Srgrimes    fpu_v3,
947090Sbde    fpu_v4,
957090Sbde    fpu_v5,
967090Sbde    fpu_v6,
977090Sbde    fpu_v7,
987090Sbde    fpu_v8,
997090Sbde    fpu_v9,
1007090Sbde    fpu_v10,
1017090Sbde    fpu_v11,
1027090Sbde    fpu_v12,
1037090Sbde    fpu_v13,
1047090Sbde    fpu_v14,
1057090Sbde    fpu_v15,
1067090Sbde    fpu_v16,
1077090Sbde    fpu_v17,
1087090Sbde    fpu_v18,
1097090Sbde    fpu_v19,
1107090Sbde    fpu_v20,
1117090Sbde    fpu_v21,
1124193Sbde    fpu_v22,
1134193Sbde    fpu_v23,
1142056Swollman    fpu_v24,
1154193Sbde    fpu_v25,
1162056Swollman    fpu_v26,
1172056Swollman    fpu_v27,
1184193Sbde    fpu_v28,
1192056Swollman    fpu_v29,
1202056Swollman    fpu_v30,
1212056Swollman    fpu_v31,
1223703Swollman
1234819Sphk    fpu_fpsr,
1247090Sbde    fpu_fpcr,
125556Srgrimes
1262056Swollman    exc_far,
1274193Sbde    exc_esr,
1282056Swollman    exc_exception,
12911875Smarkm
1304Srgrimes    dbg_bvr0,
13111390Sbde    dbg_bvr1,
13211390Sbde    dbg_bvr2,
13311390Sbde    dbg_bvr3,
13411390Sbde    dbg_bvr4,
13511390Sbde    dbg_bvr5,
13611390Sbde    dbg_bvr6,
13711390Sbde    dbg_bvr7,
13810358Sjulian    dbg_bvr8,
13910653Sdg    dbg_bvr9,
14010358Sjulian    dbg_bvr10,
14110358Sjulian    dbg_bvr11,
142798Swollman    dbg_bvr12,
1434Srgrimes    dbg_bvr13,
1441999Swollman    dbg_bvr14,
1457780Swollman    dbg_bvr15,
1461127Sdg
1477780Swollman    dbg_bcr0,
1487780Swollman    dbg_bcr1,
1497780Swollman    dbg_bcr2,
1507780Swollman    dbg_bcr3,
1517780Swollman    dbg_bcr4,
1527780Swollman    dbg_bcr5,
1537780Swollman    dbg_bcr6,
1547780Swollman    dbg_bcr7,
1557780Swollman    dbg_bcr8,
1567780Swollman    dbg_bcr9,
1577780Swollman    dbg_bcr10,
158757Sdg    dbg_bcr11,
159757Sdg    dbg_bcr12,
160757Sdg    dbg_bcr13,
161757Sdg    dbg_bcr14,
1622426Sdg    dbg_bcr15,
1632426Sdg
1642426Sdg    dbg_wvr0,
1651298Sdg    dbg_wvr1,
1661298Sdg    dbg_wvr2,
1671298Sdg    dbg_wvr3,
1681298Sdg    dbg_wvr4,
1691298Sdg    dbg_wvr5,
1702426Sdg    dbg_wvr6,
1712426Sdg    dbg_wvr7,
1722426Sdg    dbg_wvr8,
1731549Srgrimes    dbg_wvr9,
174556Srgrimes    dbg_wvr10,
175556Srgrimes    dbg_wvr11,
1762818Sache    dbg_wvr12,
1774Srgrimes    dbg_wvr13,
1784Srgrimes    dbg_wvr14,
1794Srgrimes    dbg_wvr15,
1804819Sphk
1814Srgrimes    dbg_wcr0,
1824Srgrimes    dbg_wcr1,
1834Srgrimes    dbg_wcr2,
1844Srgrimes    dbg_wcr3,
1859744Sdg    dbg_wcr4,
186974Sdg    dbg_wcr5,
1879578Sdg    dbg_wcr6,
1889578Sdg    dbg_wcr7,
1899578Sdg    dbg_wcr8,
190556Srgrimes    dbg_wcr9,
191556Srgrimes    dbg_wcr10,
192556Srgrimes    dbg_wcr11,
1938426Swollman    dbg_wcr12,
1948426Swollman    dbg_wcr13,
1951549Srgrimes    dbg_wcr14,
1961549Srgrimes    dbg_wcr15,
1971549Srgrimes
1988426Swollman    k_num_registers
199556Srgrimes};
2001549Srgrimes
2011549Srgrimesstatic lldb_private::RegisterInfo g_register_infos_arm64[] = {
20210358Sjulian// General purpose registers
20311390Sbde//  NAME        ALT     SZ  OFFSET              ENCODING                FORMAT                 EH_FRAME                     DWARF                      GENERIC                     PROCESS PLUGIN          LLDB NATIVE   VALUE REGS    INVALIDATE REGS
20411390Sbde//  ======      ======= ==  =============       =============         ============            ===============              ===============            =========================   =====================   ============= ==========    ===============
2054Srgrimes{   "x0",       nullptr,  8,  GPR_OFFSET(0),      lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x0,           arm64_dwarf::x0,           LLDB_REGNUM_GENERIC_ARG1,   LLDB_INVALID_REGNUM,       gpr_x0      },      nullptr,        nullptr, nullptr, 0},
2064Srgrimes{   "x1",       nullptr,  8,  GPR_OFFSET(1),      lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x1,           arm64_dwarf::x1,           LLDB_REGNUM_GENERIC_ARG2,   LLDB_INVALID_REGNUM,       gpr_x1      },      nullptr,        nullptr, nullptr, 0},
2074Srgrimes{   "x2",       nullptr,  8,  GPR_OFFSET(2),      lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x2,           arm64_dwarf::x2,           LLDB_REGNUM_GENERIC_ARG3,   LLDB_INVALID_REGNUM,       gpr_x2      },      nullptr,        nullptr, nullptr, 0},
2083489Sphk{   "x3",       nullptr,  8,  GPR_OFFSET(3),      lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x3,           arm64_dwarf::x3,           LLDB_REGNUM_GENERIC_ARG4,   LLDB_INVALID_REGNUM,       gpr_x3      },      nullptr,        nullptr, nullptr, 0},
209798Swollman{   "x4",       nullptr,  8,  GPR_OFFSET(4),      lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x4,           arm64_dwarf::x4,           LLDB_REGNUM_GENERIC_ARG5,   LLDB_INVALID_REGNUM,       gpr_x4      },      nullptr,        nullptr, nullptr, 0},
2109578Sdg{   "x5",       nullptr,  8,  GPR_OFFSET(5),      lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x5,           arm64_dwarf::x5,           LLDB_REGNUM_GENERIC_ARG6,   LLDB_INVALID_REGNUM,       gpr_x5      },      nullptr,        nullptr, nullptr, 0},
2113502Sphk{   "x6",       nullptr,  8,  GPR_OFFSET(6),      lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x6,           arm64_dwarf::x6,           LLDB_REGNUM_GENERIC_ARG7,   LLDB_INVALID_REGNUM,       gpr_x6      },      nullptr,        nullptr, nullptr, 0},
2124Srgrimes{   "x7",       nullptr,  8,  GPR_OFFSET(7),      lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x7,           arm64_dwarf::x7,           LLDB_REGNUM_GENERIC_ARG8,   LLDB_INVALID_REGNUM,       gpr_x7      },      nullptr,        nullptr, nullptr, 0},
2134819Sphk{   "x8",       nullptr,  8,  GPR_OFFSET(8),      lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x8,           arm64_dwarf::x8,           LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x8      },      nullptr,        nullptr, nullptr, 0},
2144819Sphk{   "x9",       nullptr,  8,  GPR_OFFSET(9),      lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x9,           arm64_dwarf::x9,           LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x9      },      nullptr,        nullptr, nullptr, 0},
2154819Sphk{   "x10",      nullptr,  8,  GPR_OFFSET(10),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x10,          arm64_dwarf::x10,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x10     },      nullptr,        nullptr, nullptr, 0},
2164Srgrimes{   "x11",      nullptr,  8,  GPR_OFFSET(11),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x11,          arm64_dwarf::x11,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x11     },      nullptr,        nullptr, nullptr, 0},
2174Srgrimes{   "x12",      nullptr,  8,  GPR_OFFSET(12),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x12,          arm64_dwarf::x12,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x12     },      nullptr,        nullptr, nullptr, 0},
2184Srgrimes{   "x13",      nullptr,  8,  GPR_OFFSET(13),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x13,          arm64_dwarf::x13,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x13     },      nullptr,        nullptr, nullptr, 0},
2194Srgrimes{   "x14",      nullptr,  8,  GPR_OFFSET(14),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x14,          arm64_dwarf::x14,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x14     },      nullptr,        nullptr, nullptr, 0},
2201055Sdg{   "x15",      nullptr,  8,  GPR_OFFSET(15),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x15,          arm64_dwarf::x15,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x15     },      nullptr,        nullptr, nullptr, 0},
2214Srgrimes{   "x16",      nullptr,  8,  GPR_OFFSET(16),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x16,          arm64_dwarf::x16,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x16     },      nullptr,        nullptr, nullptr, 0},
222879Swollman{   "x17",      nullptr,  8,  GPR_OFFSET(17),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x17,          arm64_dwarf::x17,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x17     },      nullptr,        nullptr, nullptr, 0},
223879Swollman{   "x18",      nullptr,  8,  GPR_OFFSET(18),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x18,          arm64_dwarf::x18,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x18     },      nullptr,        nullptr, nullptr, 0},
2244Srgrimes{   "x19",      nullptr,  8,  GPR_OFFSET(19),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x19,          arm64_dwarf::x19,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x19     },      nullptr,        nullptr, nullptr, 0},
2254Srgrimes{   "x20",      nullptr,  8,  GPR_OFFSET(20),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x20,          arm64_dwarf::x20,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x20     },      nullptr,        nullptr, nullptr, 0},
2264Srgrimes{   "x21",      nullptr,  8,  GPR_OFFSET(21),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x21,          arm64_dwarf::x21,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x21     },      nullptr,        nullptr, nullptr, 0},
2274Srgrimes{   "x22",      nullptr,  8,  GPR_OFFSET(22),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x22,          arm64_dwarf::x22,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x22     },      nullptr,        nullptr, nullptr, 0},
2284Srgrimes{   "x23",      nullptr,  8,  GPR_OFFSET(23),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x23,          arm64_dwarf::x23,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x23     },      nullptr,        nullptr, nullptr, 0},
2294Srgrimes{   "x24",      nullptr,  8,  GPR_OFFSET(24),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x24,          arm64_dwarf::x24,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x24     },      nullptr,        nullptr, nullptr, 0},
230556Srgrimes{   "x25",      nullptr,  8,  GPR_OFFSET(25),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x25,          arm64_dwarf::x25,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x25     },      nullptr,        nullptr, nullptr, 0},
2312014Swollman{   "x26",      nullptr,  8,  GPR_OFFSET(26),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x26,          arm64_dwarf::x26,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x26     },      nullptr,        nullptr, nullptr, 0},
232556Srgrimes{   "x27",      nullptr,  8,  GPR_OFFSET(27),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x27,          arm64_dwarf::x27,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x27     },      nullptr,        nullptr, nullptr, 0},
23310616Sdg{   "x28",      nullptr,  8,  GPR_OFFSET(28),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::x28,          arm64_dwarf::x28,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       gpr_x28     },      nullptr,        nullptr, nullptr, 0},
2349578Sdg
2359578Sdg{   "fp",       "x29",    8,  GPR_OFFSET(29),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::fp,           arm64_dwarf::fp,           LLDB_REGNUM_GENERIC_FP,     LLDB_INVALID_REGNUM,       gpr_fp      },      nullptr,        nullptr, nullptr, 0},
2369578Sdg{   "lr",       "x30",    8,  GPR_OFFSET(30),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::lr,           arm64_dwarf::lr,           LLDB_REGNUM_GENERIC_RA,     LLDB_INVALID_REGNUM,       gpr_lr      },      nullptr,        nullptr, nullptr, 0},
2379578Sdg{   "sp",       "x31",    8,  GPR_OFFSET(31),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::sp,           arm64_dwarf::sp,           LLDB_REGNUM_GENERIC_SP,     LLDB_INVALID_REGNUM,       gpr_sp      },      nullptr,        nullptr, nullptr, 0},
2389578Sdg{   "pc",       nullptr,  8,  GPR_OFFSET(32),     lldb::eEncodingUint,  lldb::eFormatHex,     { arm64_ehframe::pc,           arm64_dwarf::pc,           LLDB_REGNUM_GENERIC_PC,     LLDB_INVALID_REGNUM,       gpr_pc      },      nullptr,        nullptr, nullptr, 0},
2394Srgrimes
2409578Sdg{   "cpsr",     nullptr,  4,  GPR_OFFSET_NAME(cpsr), lldb::eEncodingUint,  lldb::eFormatHex,  { arm64_ehframe::cpsr,         arm64_dwarf::cpsr,         LLDB_REGNUM_GENERIC_FLAGS,  LLDB_INVALID_REGNUM,       gpr_cpsr    },      nullptr,        nullptr, nullptr, 0},
2419578Sdg
2429578Sdg{   "v0",       nullptr, 16,  FPU_OFFSET(0),      lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v0,           LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v0      },      nullptr,        nullptr, nullptr, 0},
2439578Sdg{   "v1",       nullptr, 16,  FPU_OFFSET(1),      lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v1,           LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v1      },      nullptr,        nullptr, nullptr, 0},
2449578Sdg{   "v2",       nullptr, 16,  FPU_OFFSET(2),      lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v2,           LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v2      },      nullptr,        nullptr, nullptr, 0},
2459578Sdg{   "v3",       nullptr, 16,  FPU_OFFSET(3),      lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v3,           LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v3      },      nullptr,        nullptr, nullptr, 0},
2469578Sdg{   "v4",       nullptr, 16,  FPU_OFFSET(4),      lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v4,           LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v4      },      nullptr,        nullptr, nullptr, 0},
2479578Sdg{   "v5",       nullptr, 16,  FPU_OFFSET(5),      lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v5,           LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v5      },      nullptr,        nullptr, nullptr, 0},
2489578Sdg{   "v6",       nullptr, 16,  FPU_OFFSET(6),      lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v6,           LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v6      },      nullptr,        nullptr, nullptr, 0},
2499578Sdg{   "v7",       nullptr, 16,  FPU_OFFSET(7),      lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v7,           LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v7      },      nullptr,        nullptr, nullptr, 0},
2509578Sdg{   "v8",       nullptr, 16,  FPU_OFFSET(8),      lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v8,           LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v8      },      nullptr,        nullptr, nullptr, 0},
2519578Sdg{   "v9",       nullptr, 16,  FPU_OFFSET(9),      lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v9,           LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v9      },      nullptr,        nullptr, nullptr, 0},
2529578Sdg{   "v10",      nullptr, 16,  FPU_OFFSET(10),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v10,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v10     },      nullptr,        nullptr, nullptr, 0},
2539578Sdg{   "v11",      nullptr, 16,  FPU_OFFSET(11),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v11,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v11     },      nullptr,        nullptr, nullptr, 0},
2549578Sdg{   "v12",      nullptr, 16,  FPU_OFFSET(12),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v12,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v12     },      nullptr,        nullptr, nullptr, 0},
2554Srgrimes{   "v13",      nullptr, 16,  FPU_OFFSET(13),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v13,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v13     },      nullptr,        nullptr, nullptr, 0},
2562772Swollman{   "v14",      nullptr, 16,  FPU_OFFSET(14),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v14,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v14     },      nullptr,        nullptr, nullptr, 0},
2572772Swollman{   "v15",      nullptr, 16,  FPU_OFFSET(15),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v15,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v15     },      nullptr,        nullptr, nullptr, 0},
2588426Swollman{   "v16",      nullptr, 16,  FPU_OFFSET(16),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v16,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v16     },      nullptr,        nullptr, nullptr, 0},
2598426Swollman{   "v17",      nullptr, 16,  FPU_OFFSET(17),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v17,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v17     },      nullptr,        nullptr, nullptr, 0},
2608426Swollman{   "v18",      nullptr, 16,  FPU_OFFSET(18),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v18,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v18     },      nullptr,        nullptr, nullptr, 0},
2615413Sse{   "v19",      nullptr, 16,  FPU_OFFSET(19),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v19,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v19     },      nullptr,        nullptr, nullptr, 0},
2625413Sse{   "v20",      nullptr, 16,  FPU_OFFSET(20),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v20,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v20     },      nullptr,        nullptr, nullptr, 0},
2635413Sse{   "v21",      nullptr, 16,  FPU_OFFSET(21),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v21,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v21     },      nullptr,        nullptr, nullptr, 0},
2648426Swollman{   "v22",      nullptr, 16,  FPU_OFFSET(22),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v22,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v22     },      nullptr,        nullptr, nullptr, 0},
2652772Swollman{   "v23",      nullptr, 16,  FPU_OFFSET(23),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v23,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v23     },      nullptr,        nullptr, nullptr, 0},
2662772Swollman{   "v24",      nullptr, 16,  FPU_OFFSET(24),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v24,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v24     },      nullptr,        nullptr, nullptr, 0},
2674Srgrimes{   "v25",      nullptr, 16,  FPU_OFFSET(25),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v25,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v25     },      nullptr,        nullptr, nullptr, 0},
2684Srgrimes{   "v26",      nullptr, 16,  FPU_OFFSET(26),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v26,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v26     },      nullptr,        nullptr, nullptr, 0},
2694Srgrimes{   "v27",      nullptr, 16,  FPU_OFFSET(27),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v27,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v27     },      nullptr,        nullptr, nullptr, 0},
2704Srgrimes{   "v28",      nullptr, 16,  FPU_OFFSET(28),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v28,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v28     },      nullptr,        nullptr, nullptr, 0},
2714Srgrimes{   "v29",      nullptr, 16,  FPU_OFFSET(29),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v29,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v29     },      nullptr,        nullptr, nullptr, 0},
2724Srgrimes{   "v30",      nullptr, 16,  FPU_OFFSET(30),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v30,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v30     },      nullptr,        nullptr, nullptr, 0},
2734Srgrimes{   "v31",      nullptr, 16,  FPU_OFFSET(31),     lldb::eEncodingVector, lldb::eFormatVectorOfUInt8,  { LLDB_INVALID_REGNUM,  arm64_dwarf::v31,          LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,       fpu_v31     },      nullptr,        nullptr, nullptr, 0},
2744Srgrimes
2754Srgrimes{   "fpsr",     nullptr,  4,  FPU_OFFSET_NAME(fpsr),     lldb::eEncodingUint,  lldb::eFormatHex,     { LLDB_INVALID_REGNUM,  LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,  fpu_fpsr   },      nullptr,        nullptr, nullptr, 0},
2764Srgrimes{   "fpcr",     nullptr,  4,  FPU_OFFSET_NAME(fpcr),     lldb::eEncodingUint,  lldb::eFormatHex,     { LLDB_INVALID_REGNUM,  LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,  fpu_fpcr   },      nullptr,        nullptr, nullptr, 0},
2774Srgrimes
2784Srgrimes{   "far",      nullptr,  8,  EXC_OFFSET_NAME(far),       lldb::eEncodingUint,  lldb::eFormatHex,     { LLDB_INVALID_REGNUM,  LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,    exc_far       },    nullptr,        nullptr, nullptr, 0},
2794Srgrimes{   "esr",      nullptr,  4,  EXC_OFFSET_NAME(esr),       lldb::eEncodingUint,  lldb::eFormatHex,     { LLDB_INVALID_REGNUM,  LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,    exc_esr       },    nullptr,        nullptr, nullptr, 0},
2804Srgrimes{   "exception",nullptr,  4,  EXC_OFFSET_NAME(exception), lldb::eEncodingUint,  lldb::eFormatHex,     { LLDB_INVALID_REGNUM,  LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,        LLDB_INVALID_REGNUM,    exc_exception },    nullptr,        nullptr, nullptr, 0},
2814Srgrimes
2824Srgrimes{   DEFINE_DBG (bvr, 0) },
2834Srgrimes{   DEFINE_DBG (bvr, 1) },
2844Srgrimes{   DEFINE_DBG (bvr, 2) },
2854Srgrimes{   DEFINE_DBG (bvr, 3) },
2864Srgrimes{   DEFINE_DBG (bvr, 4) },
2874Srgrimes{   DEFINE_DBG (bvr, 5) },
2884Srgrimes{   DEFINE_DBG (bvr, 6) },
2894Srgrimes{   DEFINE_DBG (bvr, 7) },
2904Srgrimes{   DEFINE_DBG (bvr, 8) },
2914Srgrimes{   DEFINE_DBG (bvr, 9) },
2924Srgrimes{   DEFINE_DBG (bvr, 10) },
293990Sdg{   DEFINE_DBG (bvr, 11) },
294990Sdg{   DEFINE_DBG (bvr, 12) },
295990Sdg{   DEFINE_DBG (bvr, 13) },
296990Sdg{   DEFINE_DBG (bvr, 14) },
297990Sdg{   DEFINE_DBG (bvr, 15) },
298990Sdg
299990Sdg{   DEFINE_DBG (bcr, 0) },
300990Sdg{   DEFINE_DBG (bcr, 1) },
301990Sdg{   DEFINE_DBG (bcr, 2) },
302990Sdg{   DEFINE_DBG (bcr, 3) },
303990Sdg{   DEFINE_DBG (bcr, 4) },
304990Sdg{   DEFINE_DBG (bcr, 5) },
3054Srgrimes{   DEFINE_DBG (bcr, 6) },
3065837Sdg{   DEFINE_DBG (bcr, 7) },
3076327Sdg{   DEFINE_DBG (bcr, 8) },
3085837Sdg{   DEFINE_DBG (bcr, 9) },
3096949Sdg{   DEFINE_DBG (bcr, 10) },
3105837Sdg{   DEFINE_DBG (bcr, 11) },
3115837Sdg{   DEFINE_DBG (bcr, 12) },
3125455Sdg{   DEFINE_DBG (bcr, 13) },
3134Srgrimes{   DEFINE_DBG (bcr, 14) },
3144Srgrimes{   DEFINE_DBG (bcr, 15) },
3154Srgrimes
3162422Sdg{   DEFINE_DBG (wvr, 0) },
3174Srgrimes{   DEFINE_DBG (wvr, 1) },
3181298Sdg{   DEFINE_DBG (wvr, 2) },
3191298Sdg{   DEFINE_DBG (wvr, 3) },
3201298Sdg{   DEFINE_DBG (wvr, 4) },
3215455Sdg{   DEFINE_DBG (wvr, 5) },
3225455Sdg{   DEFINE_DBG (wvr, 6) },
3235455Sdg{   DEFINE_DBG (wvr, 7) },
3245455Sdg{   DEFINE_DBG (wvr, 8) },
3251298Sdg{   DEFINE_DBG (wvr, 9) },
3261298Sdg{   DEFINE_DBG (wvr, 10) },
3271298Sdg{   DEFINE_DBG (wvr, 11) },
3281298Sdg{   DEFINE_DBG (wvr, 12) },
3291298Sdg{   DEFINE_DBG (wvr, 13) },
3301298Sdg{   DEFINE_DBG (wvr, 14) },
3314Srgrimes{   DEFINE_DBG (wvr, 15) },
3324Srgrimes
3334Srgrimes{   DEFINE_DBG (wcr, 0) },
3344Srgrimes{   DEFINE_DBG (wcr, 1) },
3354Srgrimes{   DEFINE_DBG (wcr, 2) },
3364Srgrimes{   DEFINE_DBG (wcr, 3) },
3374Srgrimes{   DEFINE_DBG (wcr, 4) },
3384Srgrimes{   DEFINE_DBG (wcr, 5) },
3394Srgrimes{   DEFINE_DBG (wcr, 6) },
3401321Sdg{   DEFINE_DBG (wcr, 7) },
3414Srgrimes{   DEFINE_DBG (wcr, 8) },
3424Srgrimes{   DEFINE_DBG (wcr, 9) },
3434Srgrimes{   DEFINE_DBG (wcr, 10) },
3444Srgrimes{   DEFINE_DBG (wcr, 11) },
3454Srgrimes{   DEFINE_DBG (wcr, 12) },
346556Srgrimes{   DEFINE_DBG (wcr, 13) },
3472426Sdg{   DEFINE_DBG (wcr, 14) },
3481549Srgrimes{   DEFINE_DBG (wcr, 15) }
3491887Sdg};
3501887Sdg
3512426Sdg#endif // DECLARE_REGISTER_INFOS_ARM64_STRUCT
3522426Sdg