brintos

brintos / llvm-project-archived public Read only

0
0
Text · 23.8 KiB · 18489fb Raw
475 lines · c
1//===-- RegisterInfos_ppc64le.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-exception6//7//===----------------------------------------------------------------------===//8 9#ifdef DECLARE_REGISTER_INFOS_PPC64LE_STRUCT10 11#include <cstddef>12 13// Computes the offset of the given GPR in the user data area.14#define GPR_OFFSET(regname) (offsetof(GPR, regname))15#define FPR_OFFSET(regname) (offsetof(FPR, regname) + sizeof(GPR))16#define VMX_OFFSET(regname) (offsetof(VMX, regname) + sizeof(GPR) + sizeof(FPR))17#define VSX_OFFSET(regname)                                                    \18  (offsetof(VSX, regname) + sizeof(GPR) + sizeof(FPR) + sizeof(VMX))19#define GPR_SIZE(regname) (sizeof(((GPR *)NULL)->regname))20 21#include "Utility/PPC64LE_DWARF_Registers.h"22#include "lldb-ppc64le-register-enums.h"23 24// Note that the size and offset will be updated by platform-specific classes.25#define DEFINE_GPR(reg, alt, lldb_kind)                                        \26  {                                                                            \27    #reg, alt, GPR_SIZE(reg), GPR_OFFSET(reg), lldb::eEncodingUint,            \28                                         lldb::eFormatHex,                     \29                                         {ppc64le_dwarf::dwarf_##reg##_ppc64le,\30                                          ppc64le_dwarf::dwarf_##reg##_ppc64le,\31                                          lldb_kind,                           \32                                          LLDB_INVALID_REGNUM,                 \33                                          gpr_##reg##_ppc64le },               \34                                          NULL, NULL, NULL,                    \35  }36#define DEFINE_FPR(reg, alt, lldb_kind)                                        \37  {                                                                            \38#reg, alt, 8, FPR_OFFSET(reg), lldb::eEncodingIEEE754, lldb::eFormatFloat, \39        {ppc64le_dwarf::dwarf_##reg##_ppc64le,                                 \40         ppc64le_dwarf::dwarf_##reg##_ppc64le, lldb_kind, LLDB_INVALID_REGNUM, \41         fpr_##reg##_ppc64le },                                                \42         NULL, NULL, NULL,                                                     \43  }44#define DEFINE_VMX(reg, lldb_kind)                                             \45  {                                                                            \46#reg, NULL, 16, VMX_OFFSET(reg), lldb::eEncodingVector,                    \47        lldb::eFormatVectorOfUInt32,                                           \48        {ppc64le_dwarf::dwarf_##reg##_ppc64le,                                 \49         ppc64le_dwarf::dwarf_##reg##_ppc64le, lldb_kind, LLDB_INVALID_REGNUM, \50         vmx_##reg##_ppc64le },                                                \51         NULL, NULL, NULL,                                                     \52  }53#define DEFINE_VSX(reg, lldb_kind)                                             \54  {                                                                            \55#reg, NULL, 16, VSX_OFFSET(reg), lldb::eEncodingVector,                    \56        lldb::eFormatVectorOfUInt32,                                           \57        {ppc64le_dwarf::dwarf_##reg##_ppc64le,                                 \58         ppc64le_dwarf::dwarf_##reg##_ppc64le, lldb_kind, LLDB_INVALID_REGNUM, \59         vsx_##reg##_ppc64le },                                                \60         NULL, NULL, NULL,                                                     \61  }62 63// General purpose registers.64// EH_Frame, Generic, Process Plugin65#define POWERPC_REGS                                                           \66  DEFINE_GPR(r0, NULL, LLDB_INVALID_REGNUM)                                    \67  , DEFINE_GPR(r1, NULL, LLDB_REGNUM_GENERIC_SP),                              \68      DEFINE_GPR(r2, NULL, LLDB_INVALID_REGNUM),                               \69      DEFINE_GPR(r3, NULL, LLDB_REGNUM_GENERIC_ARG1),                          \70      DEFINE_GPR(r4, NULL, LLDB_REGNUM_GENERIC_ARG2),                          \71      DEFINE_GPR(r5, NULL, LLDB_REGNUM_GENERIC_ARG3),                          \72      DEFINE_GPR(r6, NULL, LLDB_REGNUM_GENERIC_ARG4),                          \73      DEFINE_GPR(r7, NULL, LLDB_REGNUM_GENERIC_ARG5),                          \74      DEFINE_GPR(r8, NULL, LLDB_REGNUM_GENERIC_ARG6),                          \75      DEFINE_GPR(r9, NULL, LLDB_REGNUM_GENERIC_ARG7),                          \76      DEFINE_GPR(r10, NULL, LLDB_REGNUM_GENERIC_ARG8),                         \77      DEFINE_GPR(r11, NULL, LLDB_INVALID_REGNUM),                              \78      DEFINE_GPR(r12, NULL, LLDB_INVALID_REGNUM),                              \79      DEFINE_GPR(r13, NULL, LLDB_INVALID_REGNUM),                              \80      DEFINE_GPR(r14, NULL, LLDB_INVALID_REGNUM),                              \81      DEFINE_GPR(r15, NULL, LLDB_INVALID_REGNUM),                              \82      DEFINE_GPR(r16, NULL, LLDB_INVALID_REGNUM),                              \83      DEFINE_GPR(r17, NULL, LLDB_INVALID_REGNUM),                              \84      DEFINE_GPR(r18, NULL, LLDB_INVALID_REGNUM),                              \85      DEFINE_GPR(r19, NULL, LLDB_INVALID_REGNUM),                              \86      DEFINE_GPR(r20, NULL, LLDB_INVALID_REGNUM),                              \87      DEFINE_GPR(r21, NULL, LLDB_INVALID_REGNUM),                              \88      DEFINE_GPR(r22, NULL, LLDB_INVALID_REGNUM),                              \89      DEFINE_GPR(r23, NULL, LLDB_INVALID_REGNUM),                              \90      DEFINE_GPR(r24, NULL, LLDB_INVALID_REGNUM),                              \91      DEFINE_GPR(r25, NULL, LLDB_INVALID_REGNUM),                              \92      DEFINE_GPR(r26, NULL, LLDB_INVALID_REGNUM),                              \93      DEFINE_GPR(r27, NULL, LLDB_INVALID_REGNUM),                              \94      DEFINE_GPR(r28, NULL, LLDB_INVALID_REGNUM),                              \95      DEFINE_GPR(r29, NULL, LLDB_INVALID_REGNUM),                              \96      DEFINE_GPR(r30, NULL, LLDB_INVALID_REGNUM),                              \97      DEFINE_GPR(r31, NULL, LLDB_INVALID_REGNUM),                              \98      DEFINE_GPR(pc, NULL, LLDB_REGNUM_GENERIC_PC),                            \99      DEFINE_GPR(msr, NULL, LLDB_INVALID_REGNUM),                              \100      DEFINE_GPR(origr3, "orig_r3", LLDB_INVALID_REGNUM),                      \101      DEFINE_GPR(ctr, NULL, LLDB_INVALID_REGNUM),                              \102      DEFINE_GPR(lr, NULL, LLDB_REGNUM_GENERIC_RA),                            \103      DEFINE_GPR(xer, NULL, LLDB_INVALID_REGNUM),                              \104      DEFINE_GPR(cr, NULL, LLDB_REGNUM_GENERIC_FLAGS),                         \105      DEFINE_GPR(softe, NULL, LLDB_INVALID_REGNUM),                            \106      DEFINE_GPR(trap, NULL, LLDB_INVALID_REGNUM),                             \107      DEFINE_FPR(f0, NULL, LLDB_INVALID_REGNUM),                               \108      DEFINE_FPR(f1, NULL, LLDB_INVALID_REGNUM),                               \109      DEFINE_FPR(f2, NULL, LLDB_INVALID_REGNUM),                               \110      DEFINE_FPR(f3, NULL, LLDB_INVALID_REGNUM),                               \111      DEFINE_FPR(f4, NULL, LLDB_INVALID_REGNUM),                               \112      DEFINE_FPR(f5, NULL, LLDB_INVALID_REGNUM),                               \113      DEFINE_FPR(f6, NULL, LLDB_INVALID_REGNUM),                               \114      DEFINE_FPR(f7, NULL, LLDB_INVALID_REGNUM),                               \115      DEFINE_FPR(f8, NULL, LLDB_INVALID_REGNUM),                               \116      DEFINE_FPR(f9, NULL, LLDB_INVALID_REGNUM),                               \117      DEFINE_FPR(f10, NULL, LLDB_INVALID_REGNUM),                              \118      DEFINE_FPR(f11, NULL, LLDB_INVALID_REGNUM),                              \119      DEFINE_FPR(f12, NULL, LLDB_INVALID_REGNUM),                              \120      DEFINE_FPR(f13, NULL, LLDB_INVALID_REGNUM),                              \121      DEFINE_FPR(f14, NULL, LLDB_INVALID_REGNUM),                              \122      DEFINE_FPR(f15, NULL, LLDB_INVALID_REGNUM),                              \123      DEFINE_FPR(f16, NULL, LLDB_INVALID_REGNUM),                              \124      DEFINE_FPR(f17, NULL, LLDB_INVALID_REGNUM),                              \125      DEFINE_FPR(f18, NULL, LLDB_INVALID_REGNUM),                              \126      DEFINE_FPR(f19, NULL, LLDB_INVALID_REGNUM),                              \127      DEFINE_FPR(f20, NULL, LLDB_INVALID_REGNUM),                              \128      DEFINE_FPR(f21, NULL, LLDB_INVALID_REGNUM),                              \129      DEFINE_FPR(f22, NULL, LLDB_INVALID_REGNUM),                              \130      DEFINE_FPR(f23, NULL, LLDB_INVALID_REGNUM),                              \131      DEFINE_FPR(f24, NULL, LLDB_INVALID_REGNUM),                              \132      DEFINE_FPR(f25, NULL, LLDB_INVALID_REGNUM),                              \133      DEFINE_FPR(f26, NULL, LLDB_INVALID_REGNUM),                              \134      DEFINE_FPR(f27, NULL, LLDB_INVALID_REGNUM),                              \135      DEFINE_FPR(f28, NULL, LLDB_INVALID_REGNUM),                              \136      DEFINE_FPR(f29, NULL, LLDB_INVALID_REGNUM),                              \137      DEFINE_FPR(f30, NULL, LLDB_INVALID_REGNUM),                              \138      DEFINE_FPR(f31, NULL, LLDB_INVALID_REGNUM),                              \139      {"fpscr",                                                                \140       NULL,                                                                   \141       8,                                                                      \142       FPR_OFFSET(fpscr),                                                      \143       lldb::eEncodingUint,                                                    \144       lldb::eFormatHex,                                                       \145       {ppc64le_dwarf::dwarf_fpscr_ppc64le,                                    \146        ppc64le_dwarf::dwarf_fpscr_ppc64le, LLDB_INVALID_REGNUM,               \147        LLDB_INVALID_REGNUM, fpr_fpscr_ppc64le},                               \148       NULL,                                                                   \149       NULL,                                                                   \150       NULL,                                                                   \151       },                                                                     \152      DEFINE_VMX(vr0, LLDB_INVALID_REGNUM),                                    \153      DEFINE_VMX(vr1, LLDB_INVALID_REGNUM),                                    \154      DEFINE_VMX(vr2, LLDB_INVALID_REGNUM),                                    \155      DEFINE_VMX(vr3, LLDB_INVALID_REGNUM),                                    \156      DEFINE_VMX(vr4, LLDB_INVALID_REGNUM),                                    \157      DEFINE_VMX(vr5, LLDB_INVALID_REGNUM),                                    \158      DEFINE_VMX(vr6, LLDB_INVALID_REGNUM),                                    \159      DEFINE_VMX(vr7, LLDB_INVALID_REGNUM),                                    \160      DEFINE_VMX(vr8, LLDB_INVALID_REGNUM),                                    \161      DEFINE_VMX(vr9, LLDB_INVALID_REGNUM),                                    \162      DEFINE_VMX(vr10, LLDB_INVALID_REGNUM),                                   \163      DEFINE_VMX(vr11, LLDB_INVALID_REGNUM),                                   \164      DEFINE_VMX(vr12, LLDB_INVALID_REGNUM),                                   \165      DEFINE_VMX(vr13, LLDB_INVALID_REGNUM),                                   \166      DEFINE_VMX(vr14, LLDB_INVALID_REGNUM),                                   \167      DEFINE_VMX(vr15, LLDB_INVALID_REGNUM),                                   \168      DEFINE_VMX(vr16, LLDB_INVALID_REGNUM),                                   \169      DEFINE_VMX(vr17, LLDB_INVALID_REGNUM),                                   \170      DEFINE_VMX(vr18, LLDB_INVALID_REGNUM),                                   \171      DEFINE_VMX(vr19, LLDB_INVALID_REGNUM),                                   \172      DEFINE_VMX(vr20, LLDB_INVALID_REGNUM),                                   \173      DEFINE_VMX(vr21, LLDB_INVALID_REGNUM),                                   \174      DEFINE_VMX(vr22, LLDB_INVALID_REGNUM),                                   \175      DEFINE_VMX(vr23, LLDB_INVALID_REGNUM),                                   \176      DEFINE_VMX(vr24, LLDB_INVALID_REGNUM),                                   \177      DEFINE_VMX(vr25, LLDB_INVALID_REGNUM),                                   \178      DEFINE_VMX(vr26, LLDB_INVALID_REGNUM),                                   \179      DEFINE_VMX(vr27, LLDB_INVALID_REGNUM),                                   \180      DEFINE_VMX(vr28, LLDB_INVALID_REGNUM),                                   \181      DEFINE_VMX(vr29, LLDB_INVALID_REGNUM),                                   \182      DEFINE_VMX(vr30, LLDB_INVALID_REGNUM),                                   \183      DEFINE_VMX(vr31, LLDB_INVALID_REGNUM),                                   \184      {"vscr",                                                                 \185       NULL,                                                                   \186       4,                                                                      \187       VMX_OFFSET(vscr),                                                       \188       lldb::eEncodingUint,                                                    \189       lldb::eFormatHex,                                                       \190       {ppc64le_dwarf::dwarf_vscr_ppc64le, ppc64le_dwarf::dwarf_vscr_ppc64le,  \191        LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, vmx_vscr_ppc64le},           \192       NULL,                                                                   \193       NULL,                                                                   \194       NULL,                                                                   \195       },                                                                     \196      {"vrsave",                                                               \197       NULL,                                                                   \198       4,                                                                      \199       VMX_OFFSET(vrsave),                                                     \200       lldb::eEncodingUint,                                                    \201       lldb::eFormatHex,                                                       \202       {ppc64le_dwarf::dwarf_vrsave_ppc64le,                                   \203        ppc64le_dwarf::dwarf_vrsave_ppc64le, LLDB_INVALID_REGNUM,              \204        LLDB_INVALID_REGNUM, vmx_vrsave_ppc64le},                              \205       NULL,                                                                   \206       NULL,                                                                   \207       NULL,                                                                   \208       },                                                                     \209      DEFINE_VSX(vs0, LLDB_INVALID_REGNUM),                                    \210      DEFINE_VSX(vs1, LLDB_INVALID_REGNUM),                                    \211      DEFINE_VSX(vs2, LLDB_INVALID_REGNUM),                                    \212      DEFINE_VSX(vs3, LLDB_INVALID_REGNUM),                                    \213      DEFINE_VSX(vs4, LLDB_INVALID_REGNUM),                                    \214      DEFINE_VSX(vs5, LLDB_INVALID_REGNUM),                                    \215      DEFINE_VSX(vs6, LLDB_INVALID_REGNUM),                                    \216      DEFINE_VSX(vs7, LLDB_INVALID_REGNUM),                                    \217      DEFINE_VSX(vs8, LLDB_INVALID_REGNUM),                                    \218      DEFINE_VSX(vs9, LLDB_INVALID_REGNUM),                                    \219      DEFINE_VSX(vs10, LLDB_INVALID_REGNUM),                                   \220      DEFINE_VSX(vs11, LLDB_INVALID_REGNUM),                                   \221      DEFINE_VSX(vs12, LLDB_INVALID_REGNUM),                                   \222      DEFINE_VSX(vs13, LLDB_INVALID_REGNUM),                                   \223      DEFINE_VSX(vs14, LLDB_INVALID_REGNUM),                                   \224      DEFINE_VSX(vs15, LLDB_INVALID_REGNUM),                                   \225      DEFINE_VSX(vs16, LLDB_INVALID_REGNUM),                                   \226      DEFINE_VSX(vs17, LLDB_INVALID_REGNUM),                                   \227      DEFINE_VSX(vs18, LLDB_INVALID_REGNUM),                                   \228      DEFINE_VSX(vs19, LLDB_INVALID_REGNUM),                                   \229      DEFINE_VSX(vs20, LLDB_INVALID_REGNUM),                                   \230      DEFINE_VSX(vs21, LLDB_INVALID_REGNUM),                                   \231      DEFINE_VSX(vs22, LLDB_INVALID_REGNUM),                                   \232      DEFINE_VSX(vs23, LLDB_INVALID_REGNUM),                                   \233      DEFINE_VSX(vs24, LLDB_INVALID_REGNUM),                                   \234      DEFINE_VSX(vs25, LLDB_INVALID_REGNUM),                                   \235      DEFINE_VSX(vs26, LLDB_INVALID_REGNUM),                                   \236      DEFINE_VSX(vs27, LLDB_INVALID_REGNUM),                                   \237      DEFINE_VSX(vs28, LLDB_INVALID_REGNUM),                                   \238      DEFINE_VSX(vs29, LLDB_INVALID_REGNUM),                                   \239      DEFINE_VSX(vs30, LLDB_INVALID_REGNUM),                                   \240      DEFINE_VSX(vs31, LLDB_INVALID_REGNUM),                                   \241      DEFINE_VSX(vs32, LLDB_INVALID_REGNUM),                                   \242      DEFINE_VSX(vs33, LLDB_INVALID_REGNUM),                                   \243      DEFINE_VSX(vs34, LLDB_INVALID_REGNUM),                                   \244      DEFINE_VSX(vs35, LLDB_INVALID_REGNUM),                                   \245      DEFINE_VSX(vs36, LLDB_INVALID_REGNUM),                                   \246      DEFINE_VSX(vs37, LLDB_INVALID_REGNUM),                                   \247      DEFINE_VSX(vs38, LLDB_INVALID_REGNUM),                                   \248      DEFINE_VSX(vs39, LLDB_INVALID_REGNUM),                                   \249      DEFINE_VSX(vs40, LLDB_INVALID_REGNUM),                                   \250      DEFINE_VSX(vs41, LLDB_INVALID_REGNUM),                                   \251      DEFINE_VSX(vs42, LLDB_INVALID_REGNUM),                                   \252      DEFINE_VSX(vs43, LLDB_INVALID_REGNUM),                                   \253      DEFINE_VSX(vs44, LLDB_INVALID_REGNUM),                                   \254      DEFINE_VSX(vs45, LLDB_INVALID_REGNUM),                                   \255      DEFINE_VSX(vs46, LLDB_INVALID_REGNUM),                                   \256      DEFINE_VSX(vs47, LLDB_INVALID_REGNUM),                                   \257      DEFINE_VSX(vs48, LLDB_INVALID_REGNUM),                                   \258      DEFINE_VSX(vs49, LLDB_INVALID_REGNUM),                                   \259      DEFINE_VSX(vs50, LLDB_INVALID_REGNUM),                                   \260      DEFINE_VSX(vs51, LLDB_INVALID_REGNUM),                                   \261      DEFINE_VSX(vs52, LLDB_INVALID_REGNUM),                                   \262      DEFINE_VSX(vs53, LLDB_INVALID_REGNUM),                                   \263      DEFINE_VSX(vs54, LLDB_INVALID_REGNUM),                                   \264      DEFINE_VSX(vs55, LLDB_INVALID_REGNUM),                                   \265      DEFINE_VSX(vs56, LLDB_INVALID_REGNUM),                                   \266      DEFINE_VSX(vs57, LLDB_INVALID_REGNUM),                                   \267      DEFINE_VSX(vs58, LLDB_INVALID_REGNUM),                                   \268      DEFINE_VSX(vs59, LLDB_INVALID_REGNUM),                                   \269      DEFINE_VSX(vs50, LLDB_INVALID_REGNUM),                                   \270      DEFINE_VSX(vs61, LLDB_INVALID_REGNUM),                                   \271      DEFINE_VSX(vs62, LLDB_INVALID_REGNUM),                                   \272      DEFINE_VSX(vs63, LLDB_INVALID_REGNUM), /* */273 274typedef struct _GPR {275  uint64_t r0;276  uint64_t r1;277  uint64_t r2;278  uint64_t r3;279  uint64_t r4;280  uint64_t r5;281  uint64_t r6;282  uint64_t r7;283  uint64_t r8;284  uint64_t r9;285  uint64_t r10;286  uint64_t r11;287  uint64_t r12;288  uint64_t r13;289  uint64_t r14;290  uint64_t r15;291  uint64_t r16;292  uint64_t r17;293  uint64_t r18;294  uint64_t r19;295  uint64_t r20;296  uint64_t r21;297  uint64_t r22;298  uint64_t r23;299  uint64_t r24;300  uint64_t r25;301  uint64_t r26;302  uint64_t r27;303  uint64_t r28;304  uint64_t r29;305  uint64_t r30;306  uint64_t r31;307  uint64_t pc;308  uint64_t msr;309  uint64_t origr3;310  uint64_t ctr;311  uint64_t lr;312  uint64_t xer;313  uint64_t cr;314  uint64_t softe;315  uint64_t trap;316  uint64_t pad[3];317} GPR;318 319typedef struct _FPR {320  uint64_t f0;321  uint64_t f1;322  uint64_t f2;323  uint64_t f3;324  uint64_t f4;325  uint64_t f5;326  uint64_t f6;327  uint64_t f7;328  uint64_t f8;329  uint64_t f9;330  uint64_t f10;331  uint64_t f11;332  uint64_t f12;333  uint64_t f13;334  uint64_t f14;335  uint64_t f15;336  uint64_t f16;337  uint64_t f17;338  uint64_t f18;339  uint64_t f19;340  uint64_t f20;341  uint64_t f21;342  uint64_t f22;343  uint64_t f23;344  uint64_t f24;345  uint64_t f25;346  uint64_t f26;347  uint64_t f27;348  uint64_t f28;349  uint64_t f29;350  uint64_t f30;351  uint64_t f31;352  uint64_t fpscr;353} FPR;354 355typedef struct _VMX {356  uint32_t vr0[4];357  uint32_t vr1[4];358  uint32_t vr2[4];359  uint32_t vr3[4];360  uint32_t vr4[4];361  uint32_t vr5[4];362  uint32_t vr6[4];363  uint32_t vr7[4];364  uint32_t vr8[4];365  uint32_t vr9[4];366  uint32_t vr10[4];367  uint32_t vr11[4];368  uint32_t vr12[4];369  uint32_t vr13[4];370  uint32_t vr14[4];371  uint32_t vr15[4];372  uint32_t vr16[4];373  uint32_t vr17[4];374  uint32_t vr18[4];375  uint32_t vr19[4];376  uint32_t vr20[4];377  uint32_t vr21[4];378  uint32_t vr22[4];379  uint32_t vr23[4];380  uint32_t vr24[4];381  uint32_t vr25[4];382  uint32_t vr26[4];383  uint32_t vr27[4];384  uint32_t vr28[4];385  uint32_t vr29[4];386  uint32_t vr30[4];387  uint32_t vr31[4];388  uint32_t pad[2];389  uint32_t vscr[2];390  uint32_t vrsave;391} VMX;392 393typedef struct _VSX {394  uint32_t vs0[4];395  uint32_t vs1[4];396  uint32_t vs2[4];397  uint32_t vs3[4];398  uint32_t vs4[4];399  uint32_t vs5[4];400  uint32_t vs6[4];401  uint32_t vs7[4];402  uint32_t vs8[4];403  uint32_t vs9[4];404  uint32_t vs10[4];405  uint32_t vs11[4];406  uint32_t vs12[4];407  uint32_t vs13[4];408  uint32_t vs14[4];409  uint32_t vs15[4];410  uint32_t vs16[4];411  uint32_t vs17[4];412  uint32_t vs18[4];413  uint32_t vs19[4];414  uint32_t vs20[4];415  uint32_t vs21[4];416  uint32_t vs22[4];417  uint32_t vs23[4];418  uint32_t vs24[4];419  uint32_t vs25[4];420  uint32_t vs26[4];421  uint32_t vs27[4];422  uint32_t vs28[4];423  uint32_t vs29[4];424  uint32_t vs30[4];425  uint32_t vs31[4];426  uint32_t vs32[4];427  uint32_t vs33[4];428  uint32_t vs34[4];429  uint32_t vs35[4];430  uint32_t vs36[4];431  uint32_t vs37[4];432  uint32_t vs38[4];433  uint32_t vs39[4];434  uint32_t vs40[4];435  uint32_t vs41[4];436  uint32_t vs42[4];437  uint32_t vs43[4];438  uint32_t vs44[4];439  uint32_t vs45[4];440  uint32_t vs46[4];441  uint32_t vs47[4];442  uint32_t vs48[4];443  uint32_t vs49[4];444  uint32_t vs50[4];445  uint32_t vs51[4];446  uint32_t vs52[4];447  uint32_t vs53[4];448  uint32_t vs54[4];449  uint32_t vs55[4];450  uint32_t vs56[4];451  uint32_t vs57[4];452  uint32_t vs58[4];453  uint32_t vs59[4];454  uint32_t vs60[4];455  uint32_t vs61[4];456  uint32_t vs62[4];457  uint32_t vs63[4];458} VSX;459 460static lldb_private::RegisterInfo g_register_infos_ppc64le[] = {461    POWERPC_REGS462};463 464static_assert((sizeof(g_register_infos_ppc64le) /465               sizeof(g_register_infos_ppc64le[0])) ==466                  k_num_registers_ppc64le,467              "g_register_infos_powerpc64 has wrong number of register infos");468 469#undef DEFINE_FPR470#undef DEFINE_GPR471#undef DEFINE_VMX472#undef DEFINE_VSX473 474#endif // DECLARE_REGISTER_INFOS_PPC64LE_STRUCT475