type
  TA64Register = (
    REG_INVALID,
    { 32-bit  general purpose registers }
    REG_W0,
    REG_W1,
    REG_W2,
    REG_W3,
    REG_W4,
    REG_W5,
    REG_W6,
    REG_W7,
    REG_W8,
    REG_W9,
    REG_W10,
    REG_W11,
    REG_W12,
    REG_W13,
    REG_W14,
    REG_W15,
    REG_W16,
    REG_W17,
    REG_W18,
    REG_W19,
    REG_W20,
    REG_W21,
    REG_W22,
    REG_W23,
    REG_W24,
    REG_W25,
    REG_W26,
    REG_W27,
    REG_W28,
    REG_W29,
    REG_W30,
    REG_WZR,
    REG_WSP,
    { 64-bit  general purpose registers }
    REG_X0,
    REG_X1,
    REG_X2,
    REG_X3,
    REG_X4,
    REG_X5,
    REG_X6,
    REG_X7,
    REG_X8,
    REG_X9,
    REG_X10,
    REG_X11,
    REG_X12,
    REG_X13,
    REG_X14,
    REG_X15,
    REG_X16,
    REG_X17,
    REG_X18,
    REG_X19,
    REG_X20,
    REG_X21,
    REG_X22,
    REG_X23,
    REG_X24,
    REG_X25,
    REG_X26,
    REG_X27,
    REG_X28,
    REG_X29,
    REG_X30,
    REG_XZR,
    REG_SP,
    { 8-bit   SIMD&FP registers }
    REG_B0,
    REG_B1,
    REG_B2,
    REG_B3,
    REG_B4,
    REG_B5,
    REG_B6,
    REG_B7,
    REG_B8,
    REG_B9,
    REG_B10,
    REG_B11,
    REG_B12,
    REG_B13,
    REG_B14,
    REG_B15,
    REG_B16,
    REG_B17,
    REG_B18,
    REG_B19,
    REG_B20,
    REG_B21,
    REG_B22,
    REG_B23,
    REG_B24,
    REG_B25,
    REG_B26,
    REG_B27,
    REG_B28,
    REG_B29,
    REG_B30,
    REG_B31,
    { 16-bit  SIMD&FP registers }
    REG_H0,
    REG_H1,
    REG_H2,
    REG_H3,
    REG_H4,
    REG_H5,
    REG_H6,
    REG_H7,
    REG_H8,
    REG_H9,
    REG_H10,
    REG_H11,
    REG_H12,
    REG_H13,
    REG_H14,
    REG_H15,
    REG_H16,
    REG_H17,
    REG_H18,
    REG_H19,
    REG_H20,
    REG_H21,
    REG_H22,
    REG_H23,
    REG_H24,
    REG_H25,
    REG_H26,
    REG_H27,
    REG_H28,
    REG_H29,
    REG_H30,
    REG_H31,
    { 32-bit  SIMD&FP registers }
    REG_S0,
    REG_S1,
    REG_S2,
    REG_S3,
    REG_S4,
    REG_S5,
    REG_S6,
    REG_S7,
    REG_S8,
    REG_S9,
    REG_S10,
    REG_S11,
    REG_S12,
    REG_S13,
    REG_S14,
    REG_S15,
    REG_S16,
    REG_S17,
    REG_S18,
    REG_S19,
    REG_S20,
    REG_S21,
    REG_S22,
    REG_S23,
    REG_S24,
    REG_S25,
    REG_S26,
    REG_S27,
    REG_S28,
    REG_S29,
    REG_S30,
    REG_S31,
    { 64-bit  SIMD&FP registers }
    REG_D0,
    REG_D1,
    REG_D2,
    REG_D3,
    REG_D4,
    REG_D5,
    REG_D6,
    REG_D7,
    REG_D8,
    REG_D9,
    REG_D10,
    REG_D11,
    REG_D12,
    REG_D13,
    REG_D14,
    REG_D15,
    REG_D16,
    REG_D17,
    REG_D18,
    REG_D19,
    REG_D20,
    REG_D21,
    REG_D22,
    REG_D23,
    REG_D24,
    REG_D25,
    REG_D26,
    REG_D27,
    REG_D28,
    REG_D29,
    REG_D30,
    REG_D31,
    { 128-bit SIMD&FP registers }
    REG_Q0,
    REG_Q1,
    REG_Q2,
    REG_Q3,
    REG_Q4,
    REG_Q5,
    REG_Q6,
    REG_Q7,
    REG_Q8,
    REG_Q9,
    REG_Q10,
    REG_Q11,
    REG_Q12,
    REG_Q13,
    REG_Q14,
    REG_Q15,
    REG_Q16,
    REG_Q17,
    REG_Q18,
    REG_Q19,
    REG_Q20,
    REG_Q21,
    REG_Q22,
    REG_Q23,
    REG_Q24,
    REG_Q25,
    REG_Q26,
    REG_Q27,
    REG_Q28,
    REG_Q29,
    REG_Q30,
    REG_Q31,
    { Vector registers }
    REG_V0,
    REG_V1,
    REG_V2,
    REG_V3,
    REG_V4,
    REG_V5,
    REG_V6,
    REG_V7,
    REG_V8,
    REG_V9,
    REG_V10,
    REG_V11,
    REG_V12,
    REG_V13,
    REG_V14,
    REG_V15,
    REG_V16,
    REG_V17,
    REG_V18,
    REG_V19,
    REG_V20,
    REG_V21,
    REG_V22,
    REG_V23,
    REG_V24,
    REG_V25,
    REG_V26,
    REG_V27,
    REG_V28,
    REG_V29,
    REG_V30,
    REG_V31
);
