#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum Reg {
  NoRegister,
  FFR,
  FP,
  FPCR,
  FPMR,
  FPSR,
  LR,
  NZCV,
  SP,
  VG,
  WSP,
  WSP_HI,
  WZR,
  WZR_HI,
  XZR,
  ZA,
  B0,
  B1,
  B2,
  B3,
  B4,
  B5,
  B6,
  B7,
  B8,
  B9,
  B10,
  B11,
  B12,
  B13,
  B14,
  B15,
  B16,
  B17,
  B18,
  B19,
  B20,
  B21,
  B22,
  B23,
  B24,
  B25,
  B26,
  B27,
  B28,
  B29,
  B30,
  B31,
  D0,
  D1,
  D2,
  D3,
  D4,
  D5,
  D6,
  D7,
  D8,
  D9,
  D10,
  D11,
  D12,
  D13,
  D14,
  D15,
  D16,
  D17,
  D18,
  D19,
  D20,
  D21,
  D22,
  D23,
  D24,
  D25,
  D26,
  D27,
  D28,
  D29,
  D30,
  D31,
  H0,
  H1,
  H2,
  H3,
  H4,
  H5,
  H6,
  H7,
  H8,
  H9,
  H10,
  H11,
  H12,
  H13,
  H14,
  H15,
  H16,
  H17,
  H18,
  H19,
  H20,
  H21,
  H22,
  H23,
  H24,
  H25,
  H26,
  H27,
  H28,
  H29,
  H30,
  H31,
  P0,
  P1,
  P2,
  P3,
  P4,
  P5,
  P6,
  P7,
  P8,
  P9,
  P10,
  P11,
  P12,
  P13,
  P14,
  P15,
  PN0,
  PN1,
  PN2,
  PN3,
  PN4,
  PN5,
  PN6,
  PN7,
  PN8,
  PN9,
  PN10,
  PN11,
  PN12,
  PN13,
  PN14,
  PN15,
  Q0,
  Q1,
  Q2,
  Q3,
  Q4,
  Q5,
  Q6,
  Q7,
  Q8,
  Q9,
  Q10,
  Q11,
  Q12,
  Q13,
  Q14,
  Q15,
  Q16,
  Q17,
  Q18,
  Q19,
  Q20,
  Q21,
  Q22,
  Q23,
  Q24,
  Q25,
  Q26,
  Q27,
  Q28,
  Q29,
  Q30,
  Q31,
  S0,
  S1,
  S2,
  S3,
  S4,
  S5,
  S6,
  S7,
  S8,
  S9,
  S10,
  S11,
  S12,
  S13,
  S14,
  S15,
  S16,
  S17,
  S18,
  S19,
  S20,
  S21,
  S22,
  S23,
  S24,
  S25,
  S26,
  S27,
  S28,
  S29,
  S30,
  S31,
  W0,
  W1,
  W2,
  W3,
  W4,
  W5,
  W6,
  W7,
  W8,
  W9,
  W10,
  W11,
  W12,
  W13,
  W14,
  W15,
  W16,
  W17,
  W18,
  W19,
  W20,
  W21,
  W22,
  W23,
  W24,
  W25,
  W26,
  W27,
  W28,
  W29,
  W30,
  X0,
  X1,
  X2,
  X3,
  X4,
  X5,
  X6,
  X7,
  X8,
  X9,
  X10,
  X11,
  X12,
  X13,
  X14,
  X15,
  X16,
  X17,
  X18,
  X19,
  X20,
  X21,
  X22,
  X23,
  X24,
  X25,
  X26,
  X27,
  X28,
  Z0,
  Z1,
  Z2,
  Z3,
  Z4,
  Z5,
  Z6,
  Z7,
  Z8,
  Z9,
  Z10,
  Z11,
  Z12,
  Z13,
  Z14,
  Z15,
  Z16,
  Z17,
  Z18,
  Z19,
  Z20,
  Z21,
  Z22,
  Z23,
  Z24,
  Z25,
  Z26,
  Z27,
  Z28,
  Z29,
  Z30,
  Z31,
  ZAB0,
  ZAD0,
  ZAD1,
  ZAD2,
  ZAD3,
  ZAD4,
  ZAD5,
  ZAD6,
  ZAD7,
  ZAH0,
  ZAH1,
  ZAQ0,
  ZAQ1,
  ZAQ2,
  ZAQ3,
  ZAQ4,
  ZAQ5,
  ZAQ6,
  ZAQ7,
  ZAQ8,
  ZAQ9,
  ZAQ10,
  ZAQ11,
  ZAQ12,
  ZAQ13,
  ZAQ14,
  ZAQ15,
  ZAS0,
  ZAS1,
  ZAS2,
  ZAS3,
  ZT0,
  B0_HI,
  B1_HI,
  B2_HI,
  B3_HI,
  B4_HI,
  B5_HI,
  B6_HI,
  B7_HI,
  B8_HI,
  B9_HI,
  B10_HI,
  B11_HI,
  B12_HI,
  B13_HI,
  B14_HI,
  B15_HI,
  B16_HI,
  B17_HI,
  B18_HI,
  B19_HI,
  B20_HI,
  B21_HI,
  B22_HI,
  B23_HI,
  B24_HI,
  B25_HI,
  B26_HI,
  B27_HI,
  B28_HI,
  B29_HI,
  B30_HI,
  B31_HI,
  D0_HI,
  D1_HI,
  D2_HI,
  D3_HI,
  D4_HI,
  D5_HI,
  D6_HI,
  D7_HI,
  D8_HI,
  D9_HI,
  D10_HI,
  D11_HI,
  D12_HI,
  D13_HI,
  D14_HI,
  D15_HI,
  D16_HI,
  D17_HI,
  D18_HI,
  D19_HI,
  D20_HI,
  D21_HI,
  D22_HI,
  D23_HI,
  D24_HI,
  D25_HI,
  D26_HI,
  D27_HI,
  D28_HI,
  D29_HI,
  D30_HI,
  D31_HI,
  H0_HI,
  H1_HI,
  H2_HI,
  H3_HI,
  H4_HI,
  H5_HI,
  H6_HI,
  H7_HI,
  H8_HI,
  H9_HI,
  H10_HI,
  H11_HI,
  H12_HI,
  H13_HI,
  H14_HI,
  H15_HI,
  H16_HI,
  H17_HI,
  H18_HI,
  H19_HI,
  H20_HI,
  H21_HI,
  H22_HI,
  H23_HI,
  H24_HI,
  H25_HI,
  H26_HI,
  H27_HI,
  H28_HI,
  H29_HI,
  H30_HI,
  H31_HI,
  Q0_HI,
  Q1_HI,
  Q2_HI,
  Q3_HI,
  Q4_HI,
  Q5_HI,
  Q6_HI,
  Q7_HI,
  Q8_HI,
  Q9_HI,
  Q10_HI,
  Q11_HI,
  Q12_HI,
  Q13_HI,
  Q14_HI,
  Q15_HI,
  Q16_HI,
  Q17_HI,
  Q18_HI,
  Q19_HI,
  Q20_HI,
  Q21_HI,
  Q22_HI,
  Q23_HI,
  Q24_HI,
  Q25_HI,
  Q26_HI,
  Q27_HI,
  Q28_HI,
  Q29_HI,
  Q30_HI,
  Q31_HI,
  S0_HI,
  S1_HI,
  S2_HI,
  S3_HI,
  S4_HI,
  S5_HI,
  S6_HI,
  S7_HI,
  S8_HI,
  S9_HI,
  S10_HI,
  S11_HI,
  S12_HI,
  S13_HI,
  S14_HI,
  S15_HI,
  S16_HI,
  S17_HI,
  S18_HI,
  S19_HI,
  S20_HI,
  S21_HI,
  S22_HI,
  S23_HI,
  S24_HI,
  S25_HI,
  S26_HI,
  S27_HI,
  S28_HI,
  S29_HI,
  S30_HI,
  S31_HI,
  W0_HI,
  W1_HI,
  W2_HI,
  W3_HI,
  W4_HI,
  W5_HI,
  W6_HI,
  W7_HI,
  W8_HI,
  W9_HI,
  W10_HI,
  W11_HI,
  W12_HI,
  W13_HI,
  W14_HI,
  W15_HI,
  W16_HI,
  W17_HI,
  W18_HI,
  W19_HI,
  W20_HI,
  W21_HI,
  W22_HI,
  W23_HI,
  W24_HI,
  W25_HI,
  W26_HI,
  W27_HI,
  W28_HI,
  W29_HI,
  W30_HI,
  D0_D1,
  D1_D2,
  D2_D3,
  D3_D4,
  D4_D5,
  D5_D6,
  D6_D7,
  D7_D8,
  D8_D9,
  D9_D10,
  D10_D11,
  D11_D12,
  D12_D13,
  D13_D14,
  D14_D15,
  D15_D16,
  D16_D17,
  D17_D18,
  D18_D19,
  D19_D20,
  D20_D21,
  D21_D22,
  D22_D23,
  D23_D24,
  D24_D25,
  D25_D26,
  D26_D27,
  D27_D28,
  D28_D29,
  D29_D30,
  D30_D31,
  D31_D0,
  D0_D1_D2_D3,
  D1_D2_D3_D4,
  D2_D3_D4_D5,
  D3_D4_D5_D6,
  D4_D5_D6_D7,
  D5_D6_D7_D8,
  D6_D7_D8_D9,
  D7_D8_D9_D10,
  D8_D9_D10_D11,
  D9_D10_D11_D12,
  D10_D11_D12_D13,
  D11_D12_D13_D14,
  D12_D13_D14_D15,
  D13_D14_D15_D16,
  D14_D15_D16_D17,
  D15_D16_D17_D18,
  D16_D17_D18_D19,
  D17_D18_D19_D20,
  D18_D19_D20_D21,
  D19_D20_D21_D22,
  D20_D21_D22_D23,
  D21_D22_D23_D24,
  D22_D23_D24_D25,
  D23_D24_D25_D26,
  D24_D25_D26_D27,
  D25_D26_D27_D28,
  D26_D27_D28_D29,
  D27_D28_D29_D30,
  D28_D29_D30_D31,
  D29_D30_D31_D0,
  D30_D31_D0_D1,
  D31_D0_D1_D2,
  D0_D1_D2,
  D1_D2_D3,
  D2_D3_D4,
  D3_D4_D5,
  D4_D5_D6,
  D5_D6_D7,
  D6_D7_D8,
  D7_D8_D9,
  D8_D9_D10,
  D9_D10_D11,
  D10_D11_D12,
  D11_D12_D13,
  D12_D13_D14,
  D13_D14_D15,
  D14_D15_D16,
  D15_D16_D17,
  D16_D17_D18,
  D17_D18_D19,
  D18_D19_D20,
  D19_D20_D21,
  D20_D21_D22,
  D21_D22_D23,
  D22_D23_D24,
  D23_D24_D25,
  D24_D25_D26,
  D25_D26_D27,
  D26_D27_D28,
  D27_D28_D29,
  D28_D29_D30,
  D29_D30_D31,
  D30_D31_D0,
  D31_D0_D1,
  P0_P1,
  P1_P2,
  P2_P3,
  P3_P4,
  P4_P5,
  P5_P6,
  P6_P7,
  P7_P8,
  P8_P9,
  P9_P10,
  P10_P11,
  P11_P12,
  P12_P13,
  P13_P14,
  P14_P15,
  P15_P0,
  Q0_Q1,
  Q1_Q2,
  Q2_Q3,
  Q3_Q4,
  Q4_Q5,
  Q5_Q6,
  Q6_Q7,
  Q7_Q8,
  Q8_Q9,
  Q9_Q10,
  Q10_Q11,
  Q11_Q12,
  Q12_Q13,
  Q13_Q14,
  Q14_Q15,
  Q15_Q16,
  Q16_Q17,
  Q17_Q18,
  Q18_Q19,
  Q19_Q20,
  Q20_Q21,
  Q21_Q22,
  Q22_Q23,
  Q23_Q24,
  Q24_Q25,
  Q25_Q26,
  Q26_Q27,
  Q27_Q28,
  Q28_Q29,
  Q29_Q30,
  Q30_Q31,
  Q31_Q0,
  Q0_Q1_Q2_Q3,
  Q1_Q2_Q3_Q4,
  Q2_Q3_Q4_Q5,
  Q3_Q4_Q5_Q6,
  Q4_Q5_Q6_Q7,
  Q5_Q6_Q7_Q8,
  Q6_Q7_Q8_Q9,
  Q7_Q8_Q9_Q10,
  Q8_Q9_Q10_Q11,
  Q9_Q10_Q11_Q12,
  Q10_Q11_Q12_Q13,
  Q11_Q12_Q13_Q14,
  Q12_Q13_Q14_Q15,
  Q13_Q14_Q15_Q16,
  Q14_Q15_Q16_Q17,
  Q15_Q16_Q17_Q18,
  Q16_Q17_Q18_Q19,
  Q17_Q18_Q19_Q20,
  Q18_Q19_Q20_Q21,
  Q19_Q20_Q21_Q22,
  Q20_Q21_Q22_Q23,
  Q21_Q22_Q23_Q24,
  Q22_Q23_Q24_Q25,
  Q23_Q24_Q25_Q26,
  Q24_Q25_Q26_Q27,
  Q25_Q26_Q27_Q28,
  Q26_Q27_Q28_Q29,
  Q27_Q28_Q29_Q30,
  Q28_Q29_Q30_Q31,
  Q29_Q30_Q31_Q0,
  Q30_Q31_Q0_Q1,
  Q31_Q0_Q1_Q2,
  Q0_Q1_Q2,
  Q1_Q2_Q3,
  Q2_Q3_Q4,
  Q3_Q4_Q5,
  Q4_Q5_Q6,
  Q5_Q6_Q7,
  Q6_Q7_Q8,
  Q7_Q8_Q9,
  Q8_Q9_Q10,
  Q9_Q10_Q11,
  Q10_Q11_Q12,
  Q11_Q12_Q13,
  Q12_Q13_Q14,
  Q13_Q14_Q15,
  Q14_Q15_Q16,
  Q15_Q16_Q17,
  Q16_Q17_Q18,
  Q17_Q18_Q19,
  Q18_Q19_Q20,
  Q19_Q20_Q21,
  Q20_Q21_Q22,
  Q21_Q22_Q23,
  Q22_Q23_Q24,
  Q23_Q24_Q25,
  Q24_Q25_Q26,
  Q25_Q26_Q27,
  Q26_Q27_Q28,
  Q27_Q28_Q29,
  Q28_Q29_Q30,
  Q29_Q30_Q31,
  Q30_Q31_Q0,
  Q31_Q0_Q1,
  X22_X23_X24_X25_X26_X27_X28_FP,
  X0_X1_X2_X3_X4_X5_X6_X7,
  X2_X3_X4_X5_X6_X7_X8_X9,
  X4_X5_X6_X7_X8_X9_X10_X11,
  X6_X7_X8_X9_X10_X11_X12_X13,
  X8_X9_X10_X11_X12_X13_X14_X15,
  X10_X11_X12_X13_X14_X15_X16_X17,
  X12_X13_X14_X15_X16_X17_X18_X19,
  X14_X15_X16_X17_X18_X19_X20_X21,
  X16_X17_X18_X19_X20_X21_X22_X23,
  X18_X19_X20_X21_X22_X23_X24_X25,
  X20_X21_X22_X23_X24_X25_X26_X27,
  W30_WZR,
  W0_W1,
  W2_W3,
  W4_W5,
  W6_W7,
  W8_W9,
  W10_W11,
  W12_W13,
  W14_W15,
  W16_W17,
  W18_W19,
  W20_W21,
  W22_W23,
  W24_W25,
  W26_W27,
  W28_W29,
  LR_XZR,
  X28_FP,
  X0_X1,
  X2_X3,
  X4_X5,
  X6_X7,
  X8_X9,
  X10_X11,
  X12_X13,
  X14_X15,
  X16_X17,
  X18_X19,
  X20_X21,
  X22_X23,
  X24_X25,
  X26_X27,
  Z0_Z1,
  Z1_Z2,
  Z2_Z3,
  Z3_Z4,
  Z4_Z5,
  Z5_Z6,
  Z6_Z7,
  Z7_Z8,
  Z8_Z9,
  Z9_Z10,
  Z10_Z11,
  Z11_Z12,
  Z12_Z13,
  Z13_Z14,
  Z14_Z15,
  Z15_Z16,
  Z16_Z17,
  Z17_Z18,
  Z18_Z19,
  Z19_Z20,
  Z20_Z21,
  Z21_Z22,
  Z22_Z23,
  Z23_Z24,
  Z24_Z25,
  Z25_Z26,
  Z26_Z27,
  Z27_Z28,
  Z28_Z29,
  Z29_Z30,
  Z30_Z31,
  Z31_Z0,
  Z0_Z1_Z2_Z3,
  Z1_Z2_Z3_Z4,
  Z2_Z3_Z4_Z5,
  Z3_Z4_Z5_Z6,
  Z4_Z5_Z6_Z7,
  Z5_Z6_Z7_Z8,
  Z6_Z7_Z8_Z9,
  Z7_Z8_Z9_Z10,
  Z8_Z9_Z10_Z11,
  Z9_Z10_Z11_Z12,
  Z10_Z11_Z12_Z13,
  Z11_Z12_Z13_Z14,
  Z12_Z13_Z14_Z15,
  Z13_Z14_Z15_Z16,
  Z14_Z15_Z16_Z17,
  Z15_Z16_Z17_Z18,
  Z16_Z17_Z18_Z19,
  Z17_Z18_Z19_Z20,
  Z18_Z19_Z20_Z21,
  Z19_Z20_Z21_Z22,
  Z20_Z21_Z22_Z23,
  Z21_Z22_Z23_Z24,
  Z22_Z23_Z24_Z25,
  Z23_Z24_Z25_Z26,
  Z24_Z25_Z26_Z27,
  Z25_Z26_Z27_Z28,
  Z26_Z27_Z28_Z29,
  Z27_Z28_Z29_Z30,
  Z28_Z29_Z30_Z31,
  Z29_Z30_Z31_Z0,
  Z30_Z31_Z0_Z1,
  Z31_Z0_Z1_Z2,
  Z0_Z1_Z2,
  Z1_Z2_Z3,
  Z2_Z3_Z4,
  Z3_Z4_Z5,
  Z4_Z5_Z6,
  Z5_Z6_Z7,
  Z6_Z7_Z8,
  Z7_Z8_Z9,
  Z8_Z9_Z10,
  Z9_Z10_Z11,
  Z10_Z11_Z12,
  Z11_Z12_Z13,
  Z12_Z13_Z14,
  Z13_Z14_Z15,
  Z14_Z15_Z16,
  Z15_Z16_Z17,
  Z16_Z17_Z18,
  Z17_Z18_Z19,
  Z18_Z19_Z20,
  Z19_Z20_Z21,
  Z20_Z21_Z22,
  Z21_Z22_Z23,
  Z22_Z23_Z24,
  Z23_Z24_Z25,
  Z24_Z25_Z26,
  Z25_Z26_Z27,
  Z26_Z27_Z28,
  Z27_Z28_Z29,
  Z28_Z29_Z30,
  Z29_Z30_Z31,
  Z30_Z31_Z0,
  Z31_Z0_Z1,
  Z16_Z24,
  Z17_Z25,
  Z18_Z26,
  Z19_Z27,
  Z20_Z28,
  Z21_Z29,
  Z22_Z30,
  Z23_Z31,
  Z0_Z8,
  Z1_Z9,
  Z2_Z10,
  Z3_Z11,
  Z4_Z12,
  Z5_Z13,
  Z6_Z14,
  Z7_Z15,
  Z16_Z20_Z24_Z28,
  Z17_Z21_Z25_Z29,
  Z18_Z22_Z26_Z30,
  Z19_Z23_Z27_Z31,
  Z0_Z4_Z8_Z12,
  Z1_Z5_Z9_Z13,
  Z2_Z6_Z10_Z14,
  Z3_Z7_Z11_Z15,
  NUM_TARGET_REGS,
  UNKNOWN(u64),
}

impl From<u64> for Reg {
    fn from(value: u64) -> Self {
        match value {
          0 => Reg::NoRegister,
          1 => Reg::FFR,
          2 => Reg::FP,
          3 => Reg::FPCR,
          4 => Reg::FPMR,
          5 => Reg::FPSR,
          6 => Reg::LR,
          7 => Reg::NZCV,
          8 => Reg::SP,
          9 => Reg::VG,
          10 => Reg::WSP,
          11 => Reg::WSP_HI,
          12 => Reg::WZR,
          13 => Reg::WZR_HI,
          14 => Reg::XZR,
          15 => Reg::ZA,
          16 => Reg::B0,
          17 => Reg::B1,
          18 => Reg::B2,
          19 => Reg::B3,
          20 => Reg::B4,
          21 => Reg::B5,
          22 => Reg::B6,
          23 => Reg::B7,
          24 => Reg::B8,
          25 => Reg::B9,
          26 => Reg::B10,
          27 => Reg::B11,
          28 => Reg::B12,
          29 => Reg::B13,
          30 => Reg::B14,
          31 => Reg::B15,
          32 => Reg::B16,
          33 => Reg::B17,
          34 => Reg::B18,
          35 => Reg::B19,
          36 => Reg::B20,
          37 => Reg::B21,
          38 => Reg::B22,
          39 => Reg::B23,
          40 => Reg::B24,
          41 => Reg::B25,
          42 => Reg::B26,
          43 => Reg::B27,
          44 => Reg::B28,
          45 => Reg::B29,
          46 => Reg::B30,
          47 => Reg::B31,
          48 => Reg::D0,
          49 => Reg::D1,
          50 => Reg::D2,
          51 => Reg::D3,
          52 => Reg::D4,
          53 => Reg::D5,
          54 => Reg::D6,
          55 => Reg::D7,
          56 => Reg::D8,
          57 => Reg::D9,
          58 => Reg::D10,
          59 => Reg::D11,
          60 => Reg::D12,
          61 => Reg::D13,
          62 => Reg::D14,
          63 => Reg::D15,
          64 => Reg::D16,
          65 => Reg::D17,
          66 => Reg::D18,
          67 => Reg::D19,
          68 => Reg::D20,
          69 => Reg::D21,
          70 => Reg::D22,
          71 => Reg::D23,
          72 => Reg::D24,
          73 => Reg::D25,
          74 => Reg::D26,
          75 => Reg::D27,
          76 => Reg::D28,
          77 => Reg::D29,
          78 => Reg::D30,
          79 => Reg::D31,
          80 => Reg::H0,
          81 => Reg::H1,
          82 => Reg::H2,
          83 => Reg::H3,
          84 => Reg::H4,
          85 => Reg::H5,
          86 => Reg::H6,
          87 => Reg::H7,
          88 => Reg::H8,
          89 => Reg::H9,
          90 => Reg::H10,
          91 => Reg::H11,
          92 => Reg::H12,
          93 => Reg::H13,
          94 => Reg::H14,
          95 => Reg::H15,
          96 => Reg::H16,
          97 => Reg::H17,
          98 => Reg::H18,
          99 => Reg::H19,
          100 => Reg::H20,
          101 => Reg::H21,
          102 => Reg::H22,
          103 => Reg::H23,
          104 => Reg::H24,
          105 => Reg::H25,
          106 => Reg::H26,
          107 => Reg::H27,
          108 => Reg::H28,
          109 => Reg::H29,
          110 => Reg::H30,
          111 => Reg::H31,
          112 => Reg::P0,
          113 => Reg::P1,
          114 => Reg::P2,
          115 => Reg::P3,
          116 => Reg::P4,
          117 => Reg::P5,
          118 => Reg::P6,
          119 => Reg::P7,
          120 => Reg::P8,
          121 => Reg::P9,
          122 => Reg::P10,
          123 => Reg::P11,
          124 => Reg::P12,
          125 => Reg::P13,
          126 => Reg::P14,
          127 => Reg::P15,
          128 => Reg::PN0,
          129 => Reg::PN1,
          130 => Reg::PN2,
          131 => Reg::PN3,
          132 => Reg::PN4,
          133 => Reg::PN5,
          134 => Reg::PN6,
          135 => Reg::PN7,
          136 => Reg::PN8,
          137 => Reg::PN9,
          138 => Reg::PN10,
          139 => Reg::PN11,
          140 => Reg::PN12,
          141 => Reg::PN13,
          142 => Reg::PN14,
          143 => Reg::PN15,
          144 => Reg::Q0,
          145 => Reg::Q1,
          146 => Reg::Q2,
          147 => Reg::Q3,
          148 => Reg::Q4,
          149 => Reg::Q5,
          150 => Reg::Q6,
          151 => Reg::Q7,
          152 => Reg::Q8,
          153 => Reg::Q9,
          154 => Reg::Q10,
          155 => Reg::Q11,
          156 => Reg::Q12,
          157 => Reg::Q13,
          158 => Reg::Q14,
          159 => Reg::Q15,
          160 => Reg::Q16,
          161 => Reg::Q17,
          162 => Reg::Q18,
          163 => Reg::Q19,
          164 => Reg::Q20,
          165 => Reg::Q21,
          166 => Reg::Q22,
          167 => Reg::Q23,
          168 => Reg::Q24,
          169 => Reg::Q25,
          170 => Reg::Q26,
          171 => Reg::Q27,
          172 => Reg::Q28,
          173 => Reg::Q29,
          174 => Reg::Q30,
          175 => Reg::Q31,
          176 => Reg::S0,
          177 => Reg::S1,
          178 => Reg::S2,
          179 => Reg::S3,
          180 => Reg::S4,
          181 => Reg::S5,
          182 => Reg::S6,
          183 => Reg::S7,
          184 => Reg::S8,
          185 => Reg::S9,
          186 => Reg::S10,
          187 => Reg::S11,
          188 => Reg::S12,
          189 => Reg::S13,
          190 => Reg::S14,
          191 => Reg::S15,
          192 => Reg::S16,
          193 => Reg::S17,
          194 => Reg::S18,
          195 => Reg::S19,
          196 => Reg::S20,
          197 => Reg::S21,
          198 => Reg::S22,
          199 => Reg::S23,
          200 => Reg::S24,
          201 => Reg::S25,
          202 => Reg::S26,
          203 => Reg::S27,
          204 => Reg::S28,
          205 => Reg::S29,
          206 => Reg::S30,
          207 => Reg::S31,
          208 => Reg::W0,
          209 => Reg::W1,
          210 => Reg::W2,
          211 => Reg::W3,
          212 => Reg::W4,
          213 => Reg::W5,
          214 => Reg::W6,
          215 => Reg::W7,
          216 => Reg::W8,
          217 => Reg::W9,
          218 => Reg::W10,
          219 => Reg::W11,
          220 => Reg::W12,
          221 => Reg::W13,
          222 => Reg::W14,
          223 => Reg::W15,
          224 => Reg::W16,
          225 => Reg::W17,
          226 => Reg::W18,
          227 => Reg::W19,
          228 => Reg::W20,
          229 => Reg::W21,
          230 => Reg::W22,
          231 => Reg::W23,
          232 => Reg::W24,
          233 => Reg::W25,
          234 => Reg::W26,
          235 => Reg::W27,
          236 => Reg::W28,
          237 => Reg::W29,
          238 => Reg::W30,
          239 => Reg::X0,
          240 => Reg::X1,
          241 => Reg::X2,
          242 => Reg::X3,
          243 => Reg::X4,
          244 => Reg::X5,
          245 => Reg::X6,
          246 => Reg::X7,
          247 => Reg::X8,
          248 => Reg::X9,
          249 => Reg::X10,
          250 => Reg::X11,
          251 => Reg::X12,
          252 => Reg::X13,
          253 => Reg::X14,
          254 => Reg::X15,
          255 => Reg::X16,
          256 => Reg::X17,
          257 => Reg::X18,
          258 => Reg::X19,
          259 => Reg::X20,
          260 => Reg::X21,
          261 => Reg::X22,
          262 => Reg::X23,
          263 => Reg::X24,
          264 => Reg::X25,
          265 => Reg::X26,
          266 => Reg::X27,
          267 => Reg::X28,
          268 => Reg::Z0,
          269 => Reg::Z1,
          270 => Reg::Z2,
          271 => Reg::Z3,
          272 => Reg::Z4,
          273 => Reg::Z5,
          274 => Reg::Z6,
          275 => Reg::Z7,
          276 => Reg::Z8,
          277 => Reg::Z9,
          278 => Reg::Z10,
          279 => Reg::Z11,
          280 => Reg::Z12,
          281 => Reg::Z13,
          282 => Reg::Z14,
          283 => Reg::Z15,
          284 => Reg::Z16,
          285 => Reg::Z17,
          286 => Reg::Z18,
          287 => Reg::Z19,
          288 => Reg::Z20,
          289 => Reg::Z21,
          290 => Reg::Z22,
          291 => Reg::Z23,
          292 => Reg::Z24,
          293 => Reg::Z25,
          294 => Reg::Z26,
          295 => Reg::Z27,
          296 => Reg::Z28,
          297 => Reg::Z29,
          298 => Reg::Z30,
          299 => Reg::Z31,
          300 => Reg::ZAB0,
          301 => Reg::ZAD0,
          302 => Reg::ZAD1,
          303 => Reg::ZAD2,
          304 => Reg::ZAD3,
          305 => Reg::ZAD4,
          306 => Reg::ZAD5,
          307 => Reg::ZAD6,
          308 => Reg::ZAD7,
          309 => Reg::ZAH0,
          310 => Reg::ZAH1,
          311 => Reg::ZAQ0,
          312 => Reg::ZAQ1,
          313 => Reg::ZAQ2,
          314 => Reg::ZAQ3,
          315 => Reg::ZAQ4,
          316 => Reg::ZAQ5,
          317 => Reg::ZAQ6,
          318 => Reg::ZAQ7,
          319 => Reg::ZAQ8,
          320 => Reg::ZAQ9,
          321 => Reg::ZAQ10,
          322 => Reg::ZAQ11,
          323 => Reg::ZAQ12,
          324 => Reg::ZAQ13,
          325 => Reg::ZAQ14,
          326 => Reg::ZAQ15,
          327 => Reg::ZAS0,
          328 => Reg::ZAS1,
          329 => Reg::ZAS2,
          330 => Reg::ZAS3,
          331 => Reg::ZT0,
          332 => Reg::B0_HI,
          333 => Reg::B1_HI,
          334 => Reg::B2_HI,
          335 => Reg::B3_HI,
          336 => Reg::B4_HI,
          337 => Reg::B5_HI,
          338 => Reg::B6_HI,
          339 => Reg::B7_HI,
          340 => Reg::B8_HI,
          341 => Reg::B9_HI,
          342 => Reg::B10_HI,
          343 => Reg::B11_HI,
          344 => Reg::B12_HI,
          345 => Reg::B13_HI,
          346 => Reg::B14_HI,
          347 => Reg::B15_HI,
          348 => Reg::B16_HI,
          349 => Reg::B17_HI,
          350 => Reg::B18_HI,
          351 => Reg::B19_HI,
          352 => Reg::B20_HI,
          353 => Reg::B21_HI,
          354 => Reg::B22_HI,
          355 => Reg::B23_HI,
          356 => Reg::B24_HI,
          357 => Reg::B25_HI,
          358 => Reg::B26_HI,
          359 => Reg::B27_HI,
          360 => Reg::B28_HI,
          361 => Reg::B29_HI,
          362 => Reg::B30_HI,
          363 => Reg::B31_HI,
          364 => Reg::D0_HI,
          365 => Reg::D1_HI,
          366 => Reg::D2_HI,
          367 => Reg::D3_HI,
          368 => Reg::D4_HI,
          369 => Reg::D5_HI,
          370 => Reg::D6_HI,
          371 => Reg::D7_HI,
          372 => Reg::D8_HI,
          373 => Reg::D9_HI,
          374 => Reg::D10_HI,
          375 => Reg::D11_HI,
          376 => Reg::D12_HI,
          377 => Reg::D13_HI,
          378 => Reg::D14_HI,
          379 => Reg::D15_HI,
          380 => Reg::D16_HI,
          381 => Reg::D17_HI,
          382 => Reg::D18_HI,
          383 => Reg::D19_HI,
          384 => Reg::D20_HI,
          385 => Reg::D21_HI,
          386 => Reg::D22_HI,
          387 => Reg::D23_HI,
          388 => Reg::D24_HI,
          389 => Reg::D25_HI,
          390 => Reg::D26_HI,
          391 => Reg::D27_HI,
          392 => Reg::D28_HI,
          393 => Reg::D29_HI,
          394 => Reg::D30_HI,
          395 => Reg::D31_HI,
          396 => Reg::H0_HI,
          397 => Reg::H1_HI,
          398 => Reg::H2_HI,
          399 => Reg::H3_HI,
          400 => Reg::H4_HI,
          401 => Reg::H5_HI,
          402 => Reg::H6_HI,
          403 => Reg::H7_HI,
          404 => Reg::H8_HI,
          405 => Reg::H9_HI,
          406 => Reg::H10_HI,
          407 => Reg::H11_HI,
          408 => Reg::H12_HI,
          409 => Reg::H13_HI,
          410 => Reg::H14_HI,
          411 => Reg::H15_HI,
          412 => Reg::H16_HI,
          413 => Reg::H17_HI,
          414 => Reg::H18_HI,
          415 => Reg::H19_HI,
          416 => Reg::H20_HI,
          417 => Reg::H21_HI,
          418 => Reg::H22_HI,
          419 => Reg::H23_HI,
          420 => Reg::H24_HI,
          421 => Reg::H25_HI,
          422 => Reg::H26_HI,
          423 => Reg::H27_HI,
          424 => Reg::H28_HI,
          425 => Reg::H29_HI,
          426 => Reg::H30_HI,
          427 => Reg::H31_HI,
          428 => Reg::Q0_HI,
          429 => Reg::Q1_HI,
          430 => Reg::Q2_HI,
          431 => Reg::Q3_HI,
          432 => Reg::Q4_HI,
          433 => Reg::Q5_HI,
          434 => Reg::Q6_HI,
          435 => Reg::Q7_HI,
          436 => Reg::Q8_HI,
          437 => Reg::Q9_HI,
          438 => Reg::Q10_HI,
          439 => Reg::Q11_HI,
          440 => Reg::Q12_HI,
          441 => Reg::Q13_HI,
          442 => Reg::Q14_HI,
          443 => Reg::Q15_HI,
          444 => Reg::Q16_HI,
          445 => Reg::Q17_HI,
          446 => Reg::Q18_HI,
          447 => Reg::Q19_HI,
          448 => Reg::Q20_HI,
          449 => Reg::Q21_HI,
          450 => Reg::Q22_HI,
          451 => Reg::Q23_HI,
          452 => Reg::Q24_HI,
          453 => Reg::Q25_HI,
          454 => Reg::Q26_HI,
          455 => Reg::Q27_HI,
          456 => Reg::Q28_HI,
          457 => Reg::Q29_HI,
          458 => Reg::Q30_HI,
          459 => Reg::Q31_HI,
          460 => Reg::S0_HI,
          461 => Reg::S1_HI,
          462 => Reg::S2_HI,
          463 => Reg::S3_HI,
          464 => Reg::S4_HI,
          465 => Reg::S5_HI,
          466 => Reg::S6_HI,
          467 => Reg::S7_HI,
          468 => Reg::S8_HI,
          469 => Reg::S9_HI,
          470 => Reg::S10_HI,
          471 => Reg::S11_HI,
          472 => Reg::S12_HI,
          473 => Reg::S13_HI,
          474 => Reg::S14_HI,
          475 => Reg::S15_HI,
          476 => Reg::S16_HI,
          477 => Reg::S17_HI,
          478 => Reg::S18_HI,
          479 => Reg::S19_HI,
          480 => Reg::S20_HI,
          481 => Reg::S21_HI,
          482 => Reg::S22_HI,
          483 => Reg::S23_HI,
          484 => Reg::S24_HI,
          485 => Reg::S25_HI,
          486 => Reg::S26_HI,
          487 => Reg::S27_HI,
          488 => Reg::S28_HI,
          489 => Reg::S29_HI,
          490 => Reg::S30_HI,
          491 => Reg::S31_HI,
          492 => Reg::W0_HI,
          493 => Reg::W1_HI,
          494 => Reg::W2_HI,
          495 => Reg::W3_HI,
          496 => Reg::W4_HI,
          497 => Reg::W5_HI,
          498 => Reg::W6_HI,
          499 => Reg::W7_HI,
          500 => Reg::W8_HI,
          501 => Reg::W9_HI,
          502 => Reg::W10_HI,
          503 => Reg::W11_HI,
          504 => Reg::W12_HI,
          505 => Reg::W13_HI,
          506 => Reg::W14_HI,
          507 => Reg::W15_HI,
          508 => Reg::W16_HI,
          509 => Reg::W17_HI,
          510 => Reg::W18_HI,
          511 => Reg::W19_HI,
          512 => Reg::W20_HI,
          513 => Reg::W21_HI,
          514 => Reg::W22_HI,
          515 => Reg::W23_HI,
          516 => Reg::W24_HI,
          517 => Reg::W25_HI,
          518 => Reg::W26_HI,
          519 => Reg::W27_HI,
          520 => Reg::W28_HI,
          521 => Reg::W29_HI,
          522 => Reg::W30_HI,
          523 => Reg::D0_D1,
          524 => Reg::D1_D2,
          525 => Reg::D2_D3,
          526 => Reg::D3_D4,
          527 => Reg::D4_D5,
          528 => Reg::D5_D6,
          529 => Reg::D6_D7,
          530 => Reg::D7_D8,
          531 => Reg::D8_D9,
          532 => Reg::D9_D10,
          533 => Reg::D10_D11,
          534 => Reg::D11_D12,
          535 => Reg::D12_D13,
          536 => Reg::D13_D14,
          537 => Reg::D14_D15,
          538 => Reg::D15_D16,
          539 => Reg::D16_D17,
          540 => Reg::D17_D18,
          541 => Reg::D18_D19,
          542 => Reg::D19_D20,
          543 => Reg::D20_D21,
          544 => Reg::D21_D22,
          545 => Reg::D22_D23,
          546 => Reg::D23_D24,
          547 => Reg::D24_D25,
          548 => Reg::D25_D26,
          549 => Reg::D26_D27,
          550 => Reg::D27_D28,
          551 => Reg::D28_D29,
          552 => Reg::D29_D30,
          553 => Reg::D30_D31,
          554 => Reg::D31_D0,
          555 => Reg::D0_D1_D2_D3,
          556 => Reg::D1_D2_D3_D4,
          557 => Reg::D2_D3_D4_D5,
          558 => Reg::D3_D4_D5_D6,
          559 => Reg::D4_D5_D6_D7,
          560 => Reg::D5_D6_D7_D8,
          561 => Reg::D6_D7_D8_D9,
          562 => Reg::D7_D8_D9_D10,
          563 => Reg::D8_D9_D10_D11,
          564 => Reg::D9_D10_D11_D12,
          565 => Reg::D10_D11_D12_D13,
          566 => Reg::D11_D12_D13_D14,
          567 => Reg::D12_D13_D14_D15,
          568 => Reg::D13_D14_D15_D16,
          569 => Reg::D14_D15_D16_D17,
          570 => Reg::D15_D16_D17_D18,
          571 => Reg::D16_D17_D18_D19,
          572 => Reg::D17_D18_D19_D20,
          573 => Reg::D18_D19_D20_D21,
          574 => Reg::D19_D20_D21_D22,
          575 => Reg::D20_D21_D22_D23,
          576 => Reg::D21_D22_D23_D24,
          577 => Reg::D22_D23_D24_D25,
          578 => Reg::D23_D24_D25_D26,
          579 => Reg::D24_D25_D26_D27,
          580 => Reg::D25_D26_D27_D28,
          581 => Reg::D26_D27_D28_D29,
          582 => Reg::D27_D28_D29_D30,
          583 => Reg::D28_D29_D30_D31,
          584 => Reg::D29_D30_D31_D0,
          585 => Reg::D30_D31_D0_D1,
          586 => Reg::D31_D0_D1_D2,
          587 => Reg::D0_D1_D2,
          588 => Reg::D1_D2_D3,
          589 => Reg::D2_D3_D4,
          590 => Reg::D3_D4_D5,
          591 => Reg::D4_D5_D6,
          592 => Reg::D5_D6_D7,
          593 => Reg::D6_D7_D8,
          594 => Reg::D7_D8_D9,
          595 => Reg::D8_D9_D10,
          596 => Reg::D9_D10_D11,
          597 => Reg::D10_D11_D12,
          598 => Reg::D11_D12_D13,
          599 => Reg::D12_D13_D14,
          600 => Reg::D13_D14_D15,
          601 => Reg::D14_D15_D16,
          602 => Reg::D15_D16_D17,
          603 => Reg::D16_D17_D18,
          604 => Reg::D17_D18_D19,
          605 => Reg::D18_D19_D20,
          606 => Reg::D19_D20_D21,
          607 => Reg::D20_D21_D22,
          608 => Reg::D21_D22_D23,
          609 => Reg::D22_D23_D24,
          610 => Reg::D23_D24_D25,
          611 => Reg::D24_D25_D26,
          612 => Reg::D25_D26_D27,
          613 => Reg::D26_D27_D28,
          614 => Reg::D27_D28_D29,
          615 => Reg::D28_D29_D30,
          616 => Reg::D29_D30_D31,
          617 => Reg::D30_D31_D0,
          618 => Reg::D31_D0_D1,
          619 => Reg::P0_P1,
          620 => Reg::P1_P2,
          621 => Reg::P2_P3,
          622 => Reg::P3_P4,
          623 => Reg::P4_P5,
          624 => Reg::P5_P6,
          625 => Reg::P6_P7,
          626 => Reg::P7_P8,
          627 => Reg::P8_P9,
          628 => Reg::P9_P10,
          629 => Reg::P10_P11,
          630 => Reg::P11_P12,
          631 => Reg::P12_P13,
          632 => Reg::P13_P14,
          633 => Reg::P14_P15,
          634 => Reg::P15_P0,
          635 => Reg::Q0_Q1,
          636 => Reg::Q1_Q2,
          637 => Reg::Q2_Q3,
          638 => Reg::Q3_Q4,
          639 => Reg::Q4_Q5,
          640 => Reg::Q5_Q6,
          641 => Reg::Q6_Q7,
          642 => Reg::Q7_Q8,
          643 => Reg::Q8_Q9,
          644 => Reg::Q9_Q10,
          645 => Reg::Q10_Q11,
          646 => Reg::Q11_Q12,
          647 => Reg::Q12_Q13,
          648 => Reg::Q13_Q14,
          649 => Reg::Q14_Q15,
          650 => Reg::Q15_Q16,
          651 => Reg::Q16_Q17,
          652 => Reg::Q17_Q18,
          653 => Reg::Q18_Q19,
          654 => Reg::Q19_Q20,
          655 => Reg::Q20_Q21,
          656 => Reg::Q21_Q22,
          657 => Reg::Q22_Q23,
          658 => Reg::Q23_Q24,
          659 => Reg::Q24_Q25,
          660 => Reg::Q25_Q26,
          661 => Reg::Q26_Q27,
          662 => Reg::Q27_Q28,
          663 => Reg::Q28_Q29,
          664 => Reg::Q29_Q30,
          665 => Reg::Q30_Q31,
          666 => Reg::Q31_Q0,
          667 => Reg::Q0_Q1_Q2_Q3,
          668 => Reg::Q1_Q2_Q3_Q4,
          669 => Reg::Q2_Q3_Q4_Q5,
          670 => Reg::Q3_Q4_Q5_Q6,
          671 => Reg::Q4_Q5_Q6_Q7,
          672 => Reg::Q5_Q6_Q7_Q8,
          673 => Reg::Q6_Q7_Q8_Q9,
          674 => Reg::Q7_Q8_Q9_Q10,
          675 => Reg::Q8_Q9_Q10_Q11,
          676 => Reg::Q9_Q10_Q11_Q12,
          677 => Reg::Q10_Q11_Q12_Q13,
          678 => Reg::Q11_Q12_Q13_Q14,
          679 => Reg::Q12_Q13_Q14_Q15,
          680 => Reg::Q13_Q14_Q15_Q16,
          681 => Reg::Q14_Q15_Q16_Q17,
          682 => Reg::Q15_Q16_Q17_Q18,
          683 => Reg::Q16_Q17_Q18_Q19,
          684 => Reg::Q17_Q18_Q19_Q20,
          685 => Reg::Q18_Q19_Q20_Q21,
          686 => Reg::Q19_Q20_Q21_Q22,
          687 => Reg::Q20_Q21_Q22_Q23,
          688 => Reg::Q21_Q22_Q23_Q24,
          689 => Reg::Q22_Q23_Q24_Q25,
          690 => Reg::Q23_Q24_Q25_Q26,
          691 => Reg::Q24_Q25_Q26_Q27,
          692 => Reg::Q25_Q26_Q27_Q28,
          693 => Reg::Q26_Q27_Q28_Q29,
          694 => Reg::Q27_Q28_Q29_Q30,
          695 => Reg::Q28_Q29_Q30_Q31,
          696 => Reg::Q29_Q30_Q31_Q0,
          697 => Reg::Q30_Q31_Q0_Q1,
          698 => Reg::Q31_Q0_Q1_Q2,
          699 => Reg::Q0_Q1_Q2,
          700 => Reg::Q1_Q2_Q3,
          701 => Reg::Q2_Q3_Q4,
          702 => Reg::Q3_Q4_Q5,
          703 => Reg::Q4_Q5_Q6,
          704 => Reg::Q5_Q6_Q7,
          705 => Reg::Q6_Q7_Q8,
          706 => Reg::Q7_Q8_Q9,
          707 => Reg::Q8_Q9_Q10,
          708 => Reg::Q9_Q10_Q11,
          709 => Reg::Q10_Q11_Q12,
          710 => Reg::Q11_Q12_Q13,
          711 => Reg::Q12_Q13_Q14,
          712 => Reg::Q13_Q14_Q15,
          713 => Reg::Q14_Q15_Q16,
          714 => Reg::Q15_Q16_Q17,
          715 => Reg::Q16_Q17_Q18,
          716 => Reg::Q17_Q18_Q19,
          717 => Reg::Q18_Q19_Q20,
          718 => Reg::Q19_Q20_Q21,
          719 => Reg::Q20_Q21_Q22,
          720 => Reg::Q21_Q22_Q23,
          721 => Reg::Q22_Q23_Q24,
          722 => Reg::Q23_Q24_Q25,
          723 => Reg::Q24_Q25_Q26,
          724 => Reg::Q25_Q26_Q27,
          725 => Reg::Q26_Q27_Q28,
          726 => Reg::Q27_Q28_Q29,
          727 => Reg::Q28_Q29_Q30,
          728 => Reg::Q29_Q30_Q31,
          729 => Reg::Q30_Q31_Q0,
          730 => Reg::Q31_Q0_Q1,
          731 => Reg::X22_X23_X24_X25_X26_X27_X28_FP,
          732 => Reg::X0_X1_X2_X3_X4_X5_X6_X7,
          733 => Reg::X2_X3_X4_X5_X6_X7_X8_X9,
          734 => Reg::X4_X5_X6_X7_X8_X9_X10_X11,
          735 => Reg::X6_X7_X8_X9_X10_X11_X12_X13,
          736 => Reg::X8_X9_X10_X11_X12_X13_X14_X15,
          737 => Reg::X10_X11_X12_X13_X14_X15_X16_X17,
          738 => Reg::X12_X13_X14_X15_X16_X17_X18_X19,
          739 => Reg::X14_X15_X16_X17_X18_X19_X20_X21,
          740 => Reg::X16_X17_X18_X19_X20_X21_X22_X23,
          741 => Reg::X18_X19_X20_X21_X22_X23_X24_X25,
          742 => Reg::X20_X21_X22_X23_X24_X25_X26_X27,
          743 => Reg::W30_WZR,
          744 => Reg::W0_W1,
          745 => Reg::W2_W3,
          746 => Reg::W4_W5,
          747 => Reg::W6_W7,
          748 => Reg::W8_W9,
          749 => Reg::W10_W11,
          750 => Reg::W12_W13,
          751 => Reg::W14_W15,
          752 => Reg::W16_W17,
          753 => Reg::W18_W19,
          754 => Reg::W20_W21,
          755 => Reg::W22_W23,
          756 => Reg::W24_W25,
          757 => Reg::W26_W27,
          758 => Reg::W28_W29,
          759 => Reg::LR_XZR,
          760 => Reg::X28_FP,
          761 => Reg::X0_X1,
          762 => Reg::X2_X3,
          763 => Reg::X4_X5,
          764 => Reg::X6_X7,
          765 => Reg::X8_X9,
          766 => Reg::X10_X11,
          767 => Reg::X12_X13,
          768 => Reg::X14_X15,
          769 => Reg::X16_X17,
          770 => Reg::X18_X19,
          771 => Reg::X20_X21,
          772 => Reg::X22_X23,
          773 => Reg::X24_X25,
          774 => Reg::X26_X27,
          775 => Reg::Z0_Z1,
          776 => Reg::Z1_Z2,
          777 => Reg::Z2_Z3,
          778 => Reg::Z3_Z4,
          779 => Reg::Z4_Z5,
          780 => Reg::Z5_Z6,
          781 => Reg::Z6_Z7,
          782 => Reg::Z7_Z8,
          783 => Reg::Z8_Z9,
          784 => Reg::Z9_Z10,
          785 => Reg::Z10_Z11,
          786 => Reg::Z11_Z12,
          787 => Reg::Z12_Z13,
          788 => Reg::Z13_Z14,
          789 => Reg::Z14_Z15,
          790 => Reg::Z15_Z16,
          791 => Reg::Z16_Z17,
          792 => Reg::Z17_Z18,
          793 => Reg::Z18_Z19,
          794 => Reg::Z19_Z20,
          795 => Reg::Z20_Z21,
          796 => Reg::Z21_Z22,
          797 => Reg::Z22_Z23,
          798 => Reg::Z23_Z24,
          799 => Reg::Z24_Z25,
          800 => Reg::Z25_Z26,
          801 => Reg::Z26_Z27,
          802 => Reg::Z27_Z28,
          803 => Reg::Z28_Z29,
          804 => Reg::Z29_Z30,
          805 => Reg::Z30_Z31,
          806 => Reg::Z31_Z0,
          807 => Reg::Z0_Z1_Z2_Z3,
          808 => Reg::Z1_Z2_Z3_Z4,
          809 => Reg::Z2_Z3_Z4_Z5,
          810 => Reg::Z3_Z4_Z5_Z6,
          811 => Reg::Z4_Z5_Z6_Z7,
          812 => Reg::Z5_Z6_Z7_Z8,
          813 => Reg::Z6_Z7_Z8_Z9,
          814 => Reg::Z7_Z8_Z9_Z10,
          815 => Reg::Z8_Z9_Z10_Z11,
          816 => Reg::Z9_Z10_Z11_Z12,
          817 => Reg::Z10_Z11_Z12_Z13,
          818 => Reg::Z11_Z12_Z13_Z14,
          819 => Reg::Z12_Z13_Z14_Z15,
          820 => Reg::Z13_Z14_Z15_Z16,
          821 => Reg::Z14_Z15_Z16_Z17,
          822 => Reg::Z15_Z16_Z17_Z18,
          823 => Reg::Z16_Z17_Z18_Z19,
          824 => Reg::Z17_Z18_Z19_Z20,
          825 => Reg::Z18_Z19_Z20_Z21,
          826 => Reg::Z19_Z20_Z21_Z22,
          827 => Reg::Z20_Z21_Z22_Z23,
          828 => Reg::Z21_Z22_Z23_Z24,
          829 => Reg::Z22_Z23_Z24_Z25,
          830 => Reg::Z23_Z24_Z25_Z26,
          831 => Reg::Z24_Z25_Z26_Z27,
          832 => Reg::Z25_Z26_Z27_Z28,
          833 => Reg::Z26_Z27_Z28_Z29,
          834 => Reg::Z27_Z28_Z29_Z30,
          835 => Reg::Z28_Z29_Z30_Z31,
          836 => Reg::Z29_Z30_Z31_Z0,
          837 => Reg::Z30_Z31_Z0_Z1,
          838 => Reg::Z31_Z0_Z1_Z2,
          839 => Reg::Z0_Z1_Z2,
          840 => Reg::Z1_Z2_Z3,
          841 => Reg::Z2_Z3_Z4,
          842 => Reg::Z3_Z4_Z5,
          843 => Reg::Z4_Z5_Z6,
          844 => Reg::Z5_Z6_Z7,
          845 => Reg::Z6_Z7_Z8,
          846 => Reg::Z7_Z8_Z9,
          847 => Reg::Z8_Z9_Z10,
          848 => Reg::Z9_Z10_Z11,
          849 => Reg::Z10_Z11_Z12,
          850 => Reg::Z11_Z12_Z13,
          851 => Reg::Z12_Z13_Z14,
          852 => Reg::Z13_Z14_Z15,
          853 => Reg::Z14_Z15_Z16,
          854 => Reg::Z15_Z16_Z17,
          855 => Reg::Z16_Z17_Z18,
          856 => Reg::Z17_Z18_Z19,
          857 => Reg::Z18_Z19_Z20,
          858 => Reg::Z19_Z20_Z21,
          859 => Reg::Z20_Z21_Z22,
          860 => Reg::Z21_Z22_Z23,
          861 => Reg::Z22_Z23_Z24,
          862 => Reg::Z23_Z24_Z25,
          863 => Reg::Z24_Z25_Z26,
          864 => Reg::Z25_Z26_Z27,
          865 => Reg::Z26_Z27_Z28,
          866 => Reg::Z27_Z28_Z29,
          867 => Reg::Z28_Z29_Z30,
          868 => Reg::Z29_Z30_Z31,
          869 => Reg::Z30_Z31_Z0,
          870 => Reg::Z31_Z0_Z1,
          871 => Reg::Z16_Z24,
          872 => Reg::Z17_Z25,
          873 => Reg::Z18_Z26,
          874 => Reg::Z19_Z27,
          875 => Reg::Z20_Z28,
          876 => Reg::Z21_Z29,
          877 => Reg::Z22_Z30,
          878 => Reg::Z23_Z31,
          879 => Reg::Z0_Z8,
          880 => Reg::Z1_Z9,
          881 => Reg::Z2_Z10,
          882 => Reg::Z3_Z11,
          883 => Reg::Z4_Z12,
          884 => Reg::Z5_Z13,
          885 => Reg::Z6_Z14,
          886 => Reg::Z7_Z15,
          887 => Reg::Z16_Z20_Z24_Z28,
          888 => Reg::Z17_Z21_Z25_Z29,
          889 => Reg::Z18_Z22_Z26_Z30,
          890 => Reg::Z19_Z23_Z27_Z31,
          891 => Reg::Z0_Z4_Z8_Z12,
          892 => Reg::Z1_Z5_Z9_Z13,
          893 => Reg::Z2_Z6_Z10_Z14,
          894 => Reg::Z3_Z7_Z11_Z15,
          895 => Reg::NUM_TARGET_REGS,
          _ => Reg::UNKNOWN(value),
        }
    }
}

#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum SysReg {
  OSDTRRX_EL1,
  DBGBVR0_EL1,
  DBGBCR0_EL1,
  DBGWVR0_EL1,
  DBGWCR0_EL1,
  DBGBVR1_EL1,
  DBGBCR1_EL1,
  DBGWVR1_EL1,
  DBGWCR1_EL1,
  MDCCINT_EL1,
  MDSCR_EL1,
  DBGBVR2_EL1,
  DBGBCR2_EL1,
  DBGWVR2_EL1,
  DBGWCR2_EL1,
  OSDTRTX_EL1,
  DBGBVR3_EL1,
  DBGBCR3_EL1,
  DBGWVR3_EL1,
  DBGWCR3_EL1,
  MDSELR_EL1,
  DBGBVR4_EL1,
  DBGBCR4_EL1,
  DBGWVR4_EL1,
  DBGWCR4_EL1,
  MDSTEPOP_EL1,
  DBGBVR5_EL1,
  DBGBCR5_EL1,
  DBGWVR5_EL1,
  DBGWCR5_EL1,
  OSECCR_EL1,
  DBGBVR6_EL1,
  DBGBCR6_EL1,
  DBGWVR6_EL1,
  DBGWCR6_EL1,
  DBGBVR7_EL1,
  DBGBCR7_EL1,
  DBGWVR7_EL1,
  DBGWCR7_EL1,
  DBGBVR8_EL1,
  DBGBCR8_EL1,
  DBGWVR8_EL1,
  DBGWCR8_EL1,
  DBGBVR9_EL1,
  DBGBCR9_EL1,
  DBGWVR9_EL1,
  DBGWCR9_EL1,
  DBGBVR10_EL1,
  DBGBCR10_EL1,
  DBGWVR10_EL1,
  DBGWCR10_EL1,
  DBGBVR11_EL1,
  DBGBCR11_EL1,
  DBGWVR11_EL1,
  DBGWCR11_EL1,
  DBGBVR12_EL1,
  DBGBCR12_EL1,
  DBGWVR12_EL1,
  DBGWCR12_EL1,
  DBGBVR13_EL1,
  DBGBCR13_EL1,
  DBGWVR13_EL1,
  DBGWCR13_EL1,
  DBGBVR14_EL1,
  DBGBCR14_EL1,
  DBGWVR14_EL1,
  DBGWCR14_EL1,
  DBGBVR15_EL1,
  DBGBCR15_EL1,
  DBGWVR15_EL1,
  DBGWCR15_EL1,
  MDRAR_EL1,
  OSLAR_EL1,
  OSLSR_EL1,
  OSDLR_EL1,
  DBGPRCR_EL1,
  DBGCLAIMSET_EL1,
  DBGCLAIMCLR_EL1,
  DBGAUTHSTATUS_EL1,
  SPMCGCR0_EL1,
  SPMCGCR1_EL1,
  SPMACCESSR_EL1,
  SPMIIDR_EL1,
  SPMDEVARCH_EL1,
  SPMDEVAFF_EL1,
  SPMCFGR_EL1,
  SPMINTENSET_EL1,
  SPMINTENCLR_EL1,
  PMEVCNTSVR0_EL1,
  PMEVCNTSVR1_EL1,
  PMEVCNTSVR2_EL1,
  PMEVCNTSVR3_EL1,
  PMEVCNTSVR4_EL1,
  PMEVCNTSVR5_EL1,
  PMEVCNTSVR6_EL1,
  PMEVCNTSVR7_EL1,
  PMEVCNTSVR8_EL1,
  PMEVCNTSVR9_EL1,
  PMEVCNTSVR10_EL1,
  PMEVCNTSVR11_EL1,
  PMEVCNTSVR12_EL1,
  PMEVCNTSVR13_EL1,
  PMEVCNTSVR14_EL1,
  PMEVCNTSVR15_EL1,
  PMEVCNTSVR16_EL1,
  PMEVCNTSVR17_EL1,
  PMEVCNTSVR18_EL1,
  PMEVCNTSVR19_EL1,
  PMEVCNTSVR20_EL1,
  PMEVCNTSVR21_EL1,
  PMEVCNTSVR22_EL1,
  PMEVCNTSVR23_EL1,
  PMEVCNTSVR24_EL1,
  PMEVCNTSVR25_EL1,
  PMEVCNTSVR26_EL1,
  PMEVCNTSVR27_EL1,
  PMEVCNTSVR28_EL1,
  PMEVCNTSVR29_EL1,
  PMEVCNTSVR30_EL1,
  PMCCNTSVR_EL1,
  PMICNTSVR_EL1,
  TRCTRACEIDR,
  TRCVICTLR,
  TRCSEQEVR0,
  TRCCNTRLDVR0,
  TRCIDR8,
  TRCIMSPEC0,
  TRCPRGCTLR,
  TRCQCTLR,
  TRCVIIECTLR,
  TRCSEQEVR1,
  TRCCNTRLDVR1,
  TRCIDR9,
  TRCIMSPEC1,
  TRCPROCSELR,
  TRCITEEDCR,
  TRCVISSCTLR,
  TRCSEQEVR2,
  TRCCNTRLDVR2,
  TRCIDR10,
  TRCIMSPEC2,
  TRCSTATR,
  TRCVIPCSSCTLR,
  TRCCNTRLDVR3,
  TRCIDR11,
  TRCIMSPEC3,
  TRCCONFIGR,
  TRCCNTCTLR0,
  TRCIDR12,
  TRCIMSPEC4,
  TRCCNTCTLR1,
  TRCIDR13,
  TRCIMSPEC5,
  TRCAUXCTLR,
  TRCSEQRSTEVR,
  TRCCNTCTLR2,
  TRCIMSPEC6,
  TRCSEQSTR,
  TRCCNTCTLR3,
  TRCIMSPEC7,
  TRCEVENTCTL0R,
  TRCVDCTLR,
  TRCEXTINSELR,
  TRCEXTINSELR0,
  TRCCNTVR0,
  TRCIDR0,
  TRCEVENTCTL1R,
  TRCVDSACCTLR,
  TRCEXTINSELR1,
  TRCCNTVR1,
  TRCIDR1,
  TRCRSR,
  TRCVDARCCTLR,
  TRCEXTINSELR2,
  TRCCNTVR2,
  TRCIDR2,
  TRCSTALLCTLR,
  TRCEXTINSELR3,
  TRCCNTVR3,
  TRCIDR3,
  TRCTSCTLR,
  TRCIDR4,
  TRCSYNCPR,
  TRCIDR5,
  TRCCCCTLR,
  TRCIDR6,
  TRCBBCTLR,
  TRCIDR7,
  TRCRSCTLR16,
  TRCSSCCR0,
  TRCSSPCICR0,
  TRCOSLAR,
  TRCRSCTLR17,
  TRCSSCCR1,
  TRCSSPCICR1,
  TRCOSLSR,
  TRCRSCTLR2,
  TRCRSCTLR18,
  TRCSSCCR2,
  TRCSSPCICR2,
  TRCRSCTLR3,
  TRCRSCTLR19,
  TRCSSCCR3,
  TRCSSPCICR3,
  TRCRSCTLR4,
  TRCRSCTLR20,
  TRCSSCCR4,
  TRCSSPCICR4,
  TRCPDCR,
  TRCRSCTLR5,
  TRCRSCTLR21,
  TRCSSCCR5,
  TRCSSPCICR5,
  TRCPDSR,
  TRCRSCTLR6,
  TRCRSCTLR22,
  TRCSSCCR6,
  TRCSSPCICR6,
  TRCRSCTLR7,
  TRCRSCTLR23,
  TRCSSCCR7,
  TRCSSPCICR7,
  TRCRSCTLR8,
  TRCRSCTLR24,
  TRCSSCSR0,
  TRCRSCTLR9,
  TRCRSCTLR25,
  TRCSSCSR1,
  TRCRSCTLR10,
  TRCRSCTLR26,
  TRCSSCSR2,
  TRCRSCTLR11,
  TRCRSCTLR27,
  TRCSSCSR3,
  TRCRSCTLR12,
  TRCRSCTLR28,
  TRCSSCSR4,
  TRCRSCTLR13,
  TRCRSCTLR29,
  TRCSSCSR5,
  TRCRSCTLR14,
  TRCRSCTLR30,
  TRCSSCSR6,
  TRCRSCTLR15,
  TRCRSCTLR31,
  TRCSSCSR7,
  TRCACVR0,
  TRCACVR8,
  TRCACATR0,
  TRCACATR8,
  TRCDVCVR0,
  TRCDVCVR4,
  TRCDVCMR0,
  TRCDVCMR4,
  TRCACVR1,
  TRCACVR9,
  TRCACATR1,
  TRCACATR9,
  TRCACVR2,
  TRCACVR10,
  TRCACATR2,
  TRCACATR10,
  TRCDVCVR1,
  TRCDVCVR5,
  TRCDVCMR1,
  TRCDVCMR5,
  TRCACVR3,
  TRCACVR11,
  TRCACATR3,
  TRCACATR11,
  TRCACVR4,
  TRCACVR12,
  TRCACATR4,
  TRCACATR12,
  TRCDVCVR2,
  TRCDVCVR6,
  TRCDVCMR2,
  TRCDVCMR6,
  TRCACVR5,
  TRCACVR13,
  TRCACATR5,
  TRCACATR13,
  TRCACVR6,
  TRCACVR14,
  TRCACATR6,
  TRCACATR14,
  TRCDVCVR3,
  TRCDVCVR7,
  TRCDVCMR3,
  TRCDVCMR7,
  TRCACVR7,
  TRCACVR15,
  TRCACATR7,
  TRCACATR15,
  TRCCIDCVR0,
  TRCVMIDCVR0,
  TRCCIDCCTLR0,
  TRCCIDCCTLR1,
  TRCCIDCVR1,
  TRCVMIDCVR1,
  TRCVMIDCCTLR0,
  TRCVMIDCCTLR1,
  TRCCIDCVR2,
  TRCVMIDCVR2,
  TRCCIDCVR3,
  TRCVMIDCVR3,
  TRCCIDCVR4,
  TRCVMIDCVR4,
  TRCCIDCVR5,
  TRCVMIDCVR5,
  TRCCIDCVR6,
  TRCVMIDCVR6,
  TRCCIDCVR7,
  TRCVMIDCVR7,
  TRCITCTRL,
  TRCDEVID,
  TRCDEVTYPE,
  TRCPIDR4,
  TRCPIDR5,
  TRCPIDR6,
  TRCPIDR7,
  TRCCLAIMSET,
  TRCPIDR0,
  TRCCLAIMCLR,
  TRCPIDR1,
  TRCDEVAFF0,
  TRCPIDR2,
  TRCDEVAFF1,
  TRCPIDR3,
  TRCLAR,
  TRCCIDR0,
  TRCLSR,
  TRCCIDR1,
  TRCAUTHSTATUS,
  TRCCIDR2,
  TRCDEVARCH,
  TRCCIDR3,
  BRBINF0_EL1,
  BRBSRC0_EL1,
  BRBTGT0_EL1,
  BRBINF16_EL1,
  BRBSRC16_EL1,
  BRBTGT16_EL1,
  BRBINF1_EL1,
  BRBSRC1_EL1,
  BRBTGT1_EL1,
  BRBINF17_EL1,
  BRBSRC17_EL1,
  BRBTGT17_EL1,
  BRBINF2_EL1,
  BRBSRC2_EL1,
  BRBTGT2_EL1,
  BRBINF18_EL1,
  BRBSRC18_EL1,
  BRBTGT18_EL1,
  BRBINF3_EL1,
  BRBSRC3_EL1,
  BRBTGT3_EL1,
  BRBINF19_EL1,
  BRBSRC19_EL1,
  BRBTGT19_EL1,
  BRBINF4_EL1,
  BRBSRC4_EL1,
  BRBTGT4_EL1,
  BRBINF20_EL1,
  BRBSRC20_EL1,
  BRBTGT20_EL1,
  BRBINF5_EL1,
  BRBSRC5_EL1,
  BRBTGT5_EL1,
  BRBINF21_EL1,
  BRBSRC21_EL1,
  BRBTGT21_EL1,
  BRBINF6_EL1,
  BRBSRC6_EL1,
  BRBTGT6_EL1,
  BRBINF22_EL1,
  BRBSRC22_EL1,
  BRBTGT22_EL1,
  BRBINF7_EL1,
  BRBSRC7_EL1,
  BRBTGT7_EL1,
  BRBINF23_EL1,
  BRBSRC23_EL1,
  BRBTGT23_EL1,
  BRBINF8_EL1,
  BRBSRC8_EL1,
  BRBTGT8_EL1,
  BRBINF24_EL1,
  BRBSRC24_EL1,
  BRBTGT24_EL1,
  BRBINF9_EL1,
  BRBSRC9_EL1,
  BRBTGT9_EL1,
  BRBINF25_EL1,
  BRBSRC25_EL1,
  BRBTGT25_EL1,
  BRBINF10_EL1,
  BRBSRC10_EL1,
  BRBTGT10_EL1,
  BRBINF26_EL1,
  BRBSRC26_EL1,
  BRBTGT26_EL1,
  BRBINF11_EL1,
  BRBSRC11_EL1,
  BRBTGT11_EL1,
  BRBINF27_EL1,
  BRBSRC27_EL1,
  BRBTGT27_EL1,
  BRBINF12_EL1,
  BRBSRC12_EL1,
  BRBTGT12_EL1,
  BRBINF28_EL1,
  BRBSRC28_EL1,
  BRBTGT28_EL1,
  BRBINF13_EL1,
  BRBSRC13_EL1,
  BRBTGT13_EL1,
  BRBINF29_EL1,
  BRBSRC29_EL1,
  BRBTGT29_EL1,
  BRBINF14_EL1,
  BRBSRC14_EL1,
  BRBTGT14_EL1,
  BRBINF30_EL1,
  BRBSRC30_EL1,
  BRBTGT30_EL1,
  BRBINF15_EL1,
  BRBSRC15_EL1,
  BRBTGT15_EL1,
  BRBINF31_EL1,
  BRBSRC31_EL1,
  BRBTGT31_EL1,
  BRBCR_EL1,
  BRBFCR_EL1,
  BRBTS_EL1,
  BRBINFINJ_EL1,
  BRBSRCINJ_EL1,
  BRBTGTINJ_EL1,
  BRBIDR0_EL1,
  TEECR32_EL1,
  TEEHBR32_EL1,
  MDCCSR_EL0,
  DBGDTR_EL0,
  DBGDTRRX_EL0,
  DBGDTRTX_EL0,
  SPMCR_EL0,
  SPMCNTENSET_EL0,
  SPMCNTENCLR_EL0,
  SPMOVSCLR_EL0,
  SPMZR_EL0,
  SPMSELR_EL0,
  SPMOVSSET_EL0,
  SPMEVCNTR0_EL0,
  SPMEVCNTR1_EL0,
  SPMEVCNTR2_EL0,
  SPMEVCNTR3_EL0,
  SPMEVCNTR4_EL0,
  SPMEVCNTR5_EL0,
  SPMEVCNTR6_EL0,
  SPMEVCNTR7_EL0,
  SPMEVCNTR8_EL0,
  SPMEVCNTR9_EL0,
  SPMEVCNTR10_EL0,
  SPMEVCNTR11_EL0,
  SPMEVCNTR12_EL0,
  SPMEVCNTR13_EL0,
  SPMEVCNTR14_EL0,
  SPMEVCNTR15_EL0,
  SPMEVTYPER0_EL0,
  SPMEVTYPER1_EL0,
  SPMEVTYPER2_EL0,
  SPMEVTYPER3_EL0,
  SPMEVTYPER4_EL0,
  SPMEVTYPER5_EL0,
  SPMEVTYPER6_EL0,
  SPMEVTYPER7_EL0,
  SPMEVTYPER8_EL0,
  SPMEVTYPER9_EL0,
  SPMEVTYPER10_EL0,
  SPMEVTYPER11_EL0,
  SPMEVTYPER12_EL0,
  SPMEVTYPER13_EL0,
  SPMEVTYPER14_EL0,
  SPMEVTYPER15_EL0,
  SPMEVFILTR0_EL0,
  SPMEVFILTR1_EL0,
  SPMEVFILTR2_EL0,
  SPMEVFILTR3_EL0,
  SPMEVFILTR4_EL0,
  SPMEVFILTR5_EL0,
  SPMEVFILTR6_EL0,
  SPMEVFILTR7_EL0,
  SPMEVFILTR8_EL0,
  SPMEVFILTR9_EL0,
  SPMEVFILTR10_EL0,
  SPMEVFILTR11_EL0,
  SPMEVFILTR12_EL0,
  SPMEVFILTR13_EL0,
  SPMEVFILTR14_EL0,
  SPMEVFILTR15_EL0,
  SPMEVFILT2R0_EL0,
  SPMEVFILT2R1_EL0,
  SPMEVFILT2R2_EL0,
  SPMEVFILT2R3_EL0,
  SPMEVFILT2R4_EL0,
  SPMEVFILT2R5_EL0,
  SPMEVFILT2R6_EL0,
  SPMEVFILT2R7_EL0,
  SPMEVFILT2R8_EL0,
  SPMEVFILT2R9_EL0,
  SPMEVFILT2R10_EL0,
  SPMEVFILT2R11_EL0,
  SPMEVFILT2R12_EL0,
  SPMEVFILT2R13_EL0,
  SPMEVFILT2R14_EL0,
  SPMEVFILT2R15_EL0,
  DBGVCR32_EL2,
  BRBCR_EL2,
  SPMACCESSR_EL2,
  BRBCR_EL12,
  SPMACCESSR_EL12,
  SPMACCESSR_EL3,
  SPMROOTCR_EL3,
  SPMSCR_EL1,
  MIDR_EL1,
  MPUIR_EL1,
  MPIDR_EL1,
  REVIDR_EL1,
  ID_PFR0_EL1,
  ID_PFR1_EL1,
  ID_DFR0_EL1,
  ID_AFR0_EL1,
  ID_MMFR0_EL1,
  ID_MMFR1_EL1,
  ID_MMFR2_EL1,
  ID_MMFR3_EL1,
  ID_ISAR0_EL1,
  ID_ISAR1_EL1,
  ID_ISAR2_EL1,
  ID_ISAR3_EL1,
  ID_ISAR4_EL1,
  ID_ISAR5_EL1,
  ID_MMFR4_EL1,
  ID_ISAR6_EL1,
  MVFR0_EL1,
  MVFR1_EL1,
  MVFR2_EL1,
  ID_PFR2_EL1,
  ID_DFR1_EL1,
  ID_MMFR5_EL1,
  ID_AA64PFR0_EL1,
  ID_AA64PFR1_EL1,
  ID_AA64PFR2_EL1,
  ID_AA64ZFR0_EL1,
  ID_AA64SMFR0_EL1,
  ID_AA64FPFR0_EL1,
  ID_AA64DFR0_EL1,
  ID_AA64DFR1_EL1,
  ID_AA64DFR2_EL1,
  ID_AA64AFR0_EL1,
  ID_AA64AFR1_EL1,
  ID_AA64ISAR0_EL1,
  ID_AA64ISAR1_EL1,
  ID_AA64ISAR2_EL1,
  ID_AA64ISAR3_EL1,
  ID_AA64MMFR0_EL1,
  ID_AA64MMFR1_EL1,
  ID_AA64MMFR2_EL1,
  ID_AA64MMFR3_EL1,
  ID_AA64MMFR4_EL1,
  SCTLR_EL1,
  ACTLR_EL1,
  CPACR_EL1,
  SCTLR2_EL1,
  RGSR_EL1,
  GCR_EL1,
  ZCR_EL1,
  TRFCR_EL1,
  TRCITECR_EL1,
  SMPRI_EL1,
  SMCR_EL1,
  SCTLRMASK_EL1,
  ACTLRMASK_EL1,
  CPACRMASK_EL1,
  SCTLR2MASK_EL1,
  CPACRALIAS_EL1,
  ACTLRALIAS_EL1,
  SCTLRALIAS_EL1,
  SCTLR2ALIAS_EL1,
  TTBR0_EL1,
  TTBR1_EL1,
  TCR_EL1,
  TCR2_EL1,
  APIAKeyLo_EL1,
  APIAKeyHi_EL1,
  APIBKeyLo_EL1,
  APIBKeyHi_EL1,
  APDAKeyLo_EL1,
  APDAKeyHi_EL1,
  APDBKeyLo_EL1,
  APDBKeyHi_EL1,
  APGAKeyLo_EL1,
  APGAKeyHi_EL1,
  GCSCR_EL1,
  GCSPR_EL1,
  GCSCRE0_EL1,
  TCRMASK_EL1,
  TCR2MASK_EL1,
  TCRALIAS_EL1,
  TCR2ALIAS_EL1,
  SPSR_EL1,
  ELR_EL1,
  SP_EL0,
  SPSel,
  CurrentEL,
  PAN,
  UAO,
  ALLINT,
  PM,
  ICC_PMR_EL1,
  AFSR0_EL1,
  AFSR1_EL1,
  ESR_EL1,
  ERRIDR_EL1,
  ERRSELR_EL1,
  ERXGSR_EL1,
  ERXFR_EL1,
  ERXCTLR_EL1,
  ERXSTATUS_EL1,
  ERXADDR_EL1,
  ERXPFGF_EL1,
  ERXPFGCTL_EL1,
  ERXPFGCDN_EL1,
  ERXMISC0_EL1,
  ERXMISC1_EL1,
  ERXMISC2_EL1,
  ERXMISC3_EL1,
  TFSR_EL1,
  TFSRE0_EL1,
  FAR_EL1,
  PFAR_EL1,
  PRENR_EL1,
  PRSELR_EL1,
  PRBAR_EL1,
  PRLAR_EL1,
  PRBAR1_EL1,
  PRLAR1_EL1,
  PRBAR2_EL1,
  PRLAR2_EL1,
  PRBAR3_EL1,
  PRLAR3_EL1,
  PRBAR4_EL1,
  PRLAR4_EL1,
  PRBAR5_EL1,
  PRLAR5_EL1,
  PRBAR6_EL1,
  PRLAR6_EL1,
  PRBAR7_EL1,
  PRLAR7_EL1,
  PRBAR8_EL1,
  PRLAR8_EL1,
  PRBAR9_EL1,
  PRLAR9_EL1,
  PRBAR10_EL1,
  PRLAR10_EL1,
  PRBAR11_EL1,
  PRLAR11_EL1,
  PRBAR12_EL1,
  PRLAR12_EL1,
  PRBAR13_EL1,
  PRLAR13_EL1,
  PRBAR14_EL1,
  PRLAR14_EL1,
  PRBAR15_EL1,
  PRLAR15_EL1,
  PAR_EL1,
  PMSCR_EL1,
  PMSNEVFR_EL1,
  PMSICR_EL1,
  PMSIRR_EL1,
  PMSFCR_EL1,
  PMSEVFR_EL1,
  PMSLATFR_EL1,
  PMSIDR_EL1,
  PMBLIMITR_EL1,
  PMBPTR_EL1,
  PMBSR_EL1,
  PMSDSFR_EL1,
  PMBMAR_EL1,
  PMBIDR_EL1,
  TRBLIMITR_EL1,
  TRBPTR_EL1,
  TRBBASER_EL1,
  TRBSR_EL1,
  TRBMAR_EL1,
  TRBMPAM_EL1,
  TRBTRG_EL1,
  TRBIDR_EL1,
  PMSSCR_EL1,
  PMINTENSET_EL1,
  PMINTENCLR_EL1,
  PMUACR_EL1,
  PMECR_EL1,
  PMMIR_EL1,
  PMIAR_EL1,
  MAIR_EL1,
  MAIR2_EL1,
  PIRE0_EL1,
  PIR_EL1,
  POR_EL1,
  S2POR_EL1,
  AMAIR_EL1,
  AMAIR2_EL1,
  LORSA_EL1,
  LOREA_EL1,
  LORN_EL1,
  LORC_EL1,
  MPAMIDR_EL1,
  MPAMBWIDR_EL1,
  LORID_EL1,
  MPAM1_EL1,
  MPAM0_EL1,
  MPAMSM_EL1,
  MPAMBW1_EL1,
  MPAMBW0_EL1,
  MPAMBWSM_EL1,
  VBAR_EL1,
  RVBAR_EL1,
  RMR_EL1,
  ISR_EL1,
  DISR_EL1,
  ICC_IAR0_EL1,
  ICC_EOIR0_EL1,
  ICC_HPPIR0_EL1,
  ICC_BPR0_EL1,
  ICC_AP0R0_EL1,
  ICC_AP0R1_EL1,
  ICC_AP0R2_EL1,
  ICC_AP0R3_EL1,
  ICC_AP1R0_EL1,
  ICC_AP1R1_EL1,
  ICC_AP1R2_EL1,
  ICC_AP1R3_EL1,
  ICC_NMIAR1_EL1,
  ICC_DIR_EL1,
  ICC_RPR_EL1,
  ICC_SGI1R_EL1,
  ICC_ASGI1R_EL1,
  ICC_SGI0R_EL1,
  ICC_IAR1_EL1,
  ICC_EOIR1_EL1,
  ICC_HPPIR1_EL1,
  ICC_BPR1_EL1,
  ICC_CTLR_EL1,
  ICC_SRE_EL1,
  ICC_IGRPEN0_EL1,
  ICC_IGRPEN1_EL1,
  CONTEXTIDR_EL1,
  RCWSMASK_EL1,
  TPIDR_EL1,
  ACCDATA_EL1,
  RCWMASK_EL1,
  SCXTNUM_EL1,
  CNTKCTL_EL1,
  CCSIDR_EL1,
  CLIDR_EL1,
  CCSIDR2_EL1,
  GMID_EL1,
  SMIDR_EL1,
  AIDR_EL1,
  CSSELR_EL1,
  CTR_EL0,
  DCZID_EL0,
  RNDR,
  RNDRRS,
  GCSPR_EL0,
  NZCV,
  DAIF,
  SVCR,
  DIT,
  SSBS,
  TCO,
  FPCR,
  FPSR,
  FPMR,
  DSPSR_EL0,
  DLR_EL0,
  PMICNTR_EL0,
  PMICFILTR_EL0,
  PMCR_EL0,
  PMCNTENSET_EL0,
  PMCNTENCLR_EL0,
  PMOVSCLR_EL0,
  PMSWINC_EL0,
  PMSELR_EL0,
  PMCEID0_EL0,
  PMCEID1_EL0,
  PMCCNTR_EL0,
  PMXEVTYPER_EL0,
  PMXEVCNTR_EL0,
  PMZR_EL0,
  PMUSERENR_EL0,
  PMOVSSET_EL0,
  POR_EL0,
  TPIDR_EL0,
  TPIDRRO_EL0,
  TPIDR2_EL0,
  SCXTNUM_EL0,
  AMCR_EL0,
  AMCFGR_EL0,
  AMCGCR_EL0,
  AMUSERENR_EL0,
  AMCNTENCLR0_EL0,
  AMCNTENSET0_EL0,
  AMCG1IDR_EL0,
  AMCNTENCLR1_EL0,
  AMCNTENSET1_EL0,
  AMEVCNTR00_EL0,
  AMEVCNTR01_EL0,
  AMEVCNTR02_EL0,
  AMEVCNTR03_EL0,
  AMEVTYPER00_EL0,
  AMEVTYPER01_EL0,
  AMEVTYPER02_EL0,
  AMEVTYPER03_EL0,
  AMEVCNTR10_EL0,
  AMEVCNTR11_EL0,
  AMEVCNTR12_EL0,
  AMEVCNTR13_EL0,
  AMEVCNTR14_EL0,
  AMEVCNTR15_EL0,
  AMEVCNTR16_EL0,
  AMEVCNTR17_EL0,
  AMEVCNTR18_EL0,
  AMEVCNTR19_EL0,
  AMEVCNTR110_EL0,
  AMEVCNTR111_EL0,
  AMEVCNTR112_EL0,
  AMEVCNTR113_EL0,
  AMEVCNTR114_EL0,
  AMEVCNTR115_EL0,
  AMEVTYPER10_EL0,
  AMEVTYPER11_EL0,
  AMEVTYPER12_EL0,
  AMEVTYPER13_EL0,
  AMEVTYPER14_EL0,
  AMEVTYPER15_EL0,
  AMEVTYPER16_EL0,
  AMEVTYPER17_EL0,
  AMEVTYPER18_EL0,
  AMEVTYPER19_EL0,
  AMEVTYPER110_EL0,
  AMEVTYPER111_EL0,
  AMEVTYPER112_EL0,
  AMEVTYPER113_EL0,
  AMEVTYPER114_EL0,
  AMEVTYPER115_EL0,
  CNTFRQ_EL0,
  CNTPCT_EL0,
  CNTVCT_EL0,
  CNTPCTSS_EL0,
  CNTVCTSS_EL0,
  CNTP_TVAL_EL0,
  CNTP_CTL_EL0,
  CNTP_CVAL_EL0,
  CNTV_TVAL_EL0,
  CNTV_CTL_EL0,
  CNTV_CVAL_EL0,
  PMEVCNTR0_EL0,
  PMEVCNTR1_EL0,
  PMEVCNTR2_EL0,
  PMEVCNTR3_EL0,
  PMEVCNTR4_EL0,
  PMEVCNTR5_EL0,
  PMEVCNTR6_EL0,
  PMEVCNTR7_EL0,
  PMEVCNTR8_EL0,
  PMEVCNTR9_EL0,
  PMEVCNTR10_EL0,
  PMEVCNTR11_EL0,
  PMEVCNTR12_EL0,
  PMEVCNTR13_EL0,
  PMEVCNTR14_EL0,
  PMEVCNTR15_EL0,
  PMEVCNTR16_EL0,
  PMEVCNTR17_EL0,
  PMEVCNTR18_EL0,
  PMEVCNTR19_EL0,
  PMEVCNTR20_EL0,
  PMEVCNTR21_EL0,
  PMEVCNTR22_EL0,
  PMEVCNTR23_EL0,
  PMEVCNTR24_EL0,
  PMEVCNTR25_EL0,
  PMEVCNTR26_EL0,
  PMEVCNTR27_EL0,
  PMEVCNTR28_EL0,
  PMEVCNTR29_EL0,
  PMEVCNTR30_EL0,
  PMEVTYPER0_EL0,
  PMEVTYPER1_EL0,
  PMEVTYPER2_EL0,
  PMEVTYPER3_EL0,
  PMEVTYPER4_EL0,
  PMEVTYPER5_EL0,
  PMEVTYPER6_EL0,
  PMEVTYPER7_EL0,
  PMEVTYPER8_EL0,
  PMEVTYPER9_EL0,
  PMEVTYPER10_EL0,
  PMEVTYPER11_EL0,
  PMEVTYPER12_EL0,
  PMEVTYPER13_EL0,
  PMEVTYPER14_EL0,
  PMEVTYPER15_EL0,
  PMEVTYPER16_EL0,
  PMEVTYPER17_EL0,
  PMEVTYPER18_EL0,
  PMEVTYPER19_EL0,
  PMEVTYPER20_EL0,
  PMEVTYPER21_EL0,
  PMEVTYPER22_EL0,
  PMEVTYPER23_EL0,
  PMEVTYPER24_EL0,
  PMEVTYPER25_EL0,
  PMEVTYPER26_EL0,
  PMEVTYPER27_EL0,
  PMEVTYPER28_EL0,
  PMEVTYPER29_EL0,
  PMEVTYPER30_EL0,
  PMCCFILTR_EL0,
  VPIDR_EL2,
  MPUIR_EL2,
  VMPIDR_EL2,
  SCTLR_EL2,
  ACTLR_EL2,
  SCTLR2_EL2,
  HCR_EL2,
  MDCR_EL2,
  CPTR_EL2,
  HSTR_EL2,
  HFGRTR_EL2,
  HFGWTR_EL2,
  HFGITR_EL2,
  HACR_EL2,
  ZCR_EL2,
  TRFCR_EL2,
  HCRX_EL2,
  TRCITECR_EL2,
  SMPRIMAP_EL2,
  SMCR_EL2,
  SDER32_EL2,
  SCTLRMASK_EL2,
  ACTLRMASK_EL2,
  CPTRMASK_EL2,
  SCTLR2MASK_EL2,
  TTBR0_EL2,
  VSCTLR_EL2,
  TTBR1_EL2,
  TCR_EL2,
  TCR2_EL2,
  VTTBR_EL2,
  VTCR_EL2,
  VNCR_EL2,
  HDBSSBR_EL2,
  HDBSSPROD_EL2,
  HACDBSBR_EL2,
  HACDBSCONS_EL2,
  GCSCR_EL2,
  GCSPR_EL2,
  VSTTBR_EL2,
  VSTCR_EL2,
  TCRMASK_EL2,
  TCR2MASK_EL2,
  DACR32_EL2,
  HDFGRTR2_EL2,
  HDFGWTR2_EL2,
  HFGRTR2_EL2,
  HFGWTR2_EL2,
  HDFGRTR_EL2,
  HDFGWTR_EL2,
  HAFGRTR_EL2,
  HFGITR2_EL2,
  SPSR_EL2,
  ELR_EL2,
  SP_EL1,
  SPSR_irq,
  SPSR_abt,
  SPSR_und,
  SPSR_fiq,
  IFSR32_EL2,
  AFSR0_EL2,
  AFSR1_EL2,
  ESR_EL2,
  VSESR_EL2,
  FPEXC32_EL2,
  TFSR_EL2,
  FAR_EL2,
  HPFAR_EL2,
  PFAR_EL2,
  PRENR_EL2,
  PRSELR_EL2,
  PRBAR_EL2,
  PRLAR_EL2,
  PRBAR1_EL2,
  PRLAR1_EL2,
  PRBAR2_EL2,
  PRLAR2_EL2,
  PRBAR3_EL2,
  PRLAR3_EL2,
  PRBAR4_EL2,
  PRLAR4_EL2,
  PRBAR5_EL2,
  PRLAR5_EL2,
  PRBAR6_EL2,
  PRLAR6_EL2,
  PRBAR7_EL2,
  PRLAR7_EL2,
  PRBAR8_EL2,
  PRLAR8_EL2,
  PRBAR9_EL2,
  PRLAR9_EL2,
  PRBAR10_EL2,
  PRLAR10_EL2,
  PRBAR11_EL2,
  PRLAR11_EL2,
  PRBAR12_EL2,
  PRLAR12_EL2,
  PRBAR13_EL2,
  PRLAR13_EL2,
  PRBAR14_EL2,
  PRLAR14_EL2,
  PRBAR15_EL2,
  PRLAR15_EL2,
  PMSCR_EL2,
  PMBSR_EL2,
  TRBSR_EL2,
  MAIR2_EL2,
  MAIR_EL2,
  PIRE0_EL2,
  PIR_EL2,
  POR_EL2,
  S2PIR_EL2,
  AMAIR_EL2,
  AMAIR2_EL2,
  MPAMHCR_EL2,
  MPAMVPMV_EL2,
  MPAM2_EL2,
  MPAMBW2_EL2,
  MPAMBWCAP_EL2,
  MPAMVPM0_EL2,
  MPAMVPM1_EL2,
  MPAMVPM2_EL2,
  MPAMVPM3_EL2,
  MPAMVPM4_EL2,
  MPAMVPM5_EL2,
  MPAMVPM6_EL2,
  MPAMVPM7_EL2,
  MECID_P0_EL2,
  MECID_A0_EL2,
  MECID_P1_EL2,
  MECID_A1_EL2,
  MECIDR_EL2,
  VMECID_P_EL2,
  VMECID_A_EL2,
  VBAR_EL2,
  RVBAR_EL2,
  RMR_EL2,
  VDISR_EL2,
  ICH_AP0R0_EL2,
  ICH_AP0R1_EL2,
  ICH_AP0R2_EL2,
  ICH_AP0R3_EL2,
  ICH_AP1R0_EL2,
  ICH_AP1R1_EL2,
  ICH_AP1R2_EL2,
  ICH_AP1R3_EL2,
  ICC_SRE_EL2,
  ICH_HCR_EL2,
  ICH_VTR_EL2,
  ICH_MISR_EL2,
  ICH_EISR_EL2,
  ICH_ELRSR_EL2,
  ICH_VMCR_EL2,
  ICH_LR0_EL2,
  ICH_LR1_EL2,
  ICH_LR2_EL2,
  ICH_LR3_EL2,
  ICH_LR4_EL2,
  ICH_LR5_EL2,
  ICH_LR6_EL2,
  ICH_LR7_EL2,
  ICH_LR8_EL2,
  ICH_LR9_EL2,
  ICH_LR10_EL2,
  ICH_LR11_EL2,
  ICH_LR12_EL2,
  ICH_LR13_EL2,
  ICH_LR14_EL2,
  ICH_LR15_EL2,
  CONTEXTIDR_EL2,
  TPIDR_EL2,
  SCXTNUM_EL2,
  AMEVCNTVOFF00_EL2,
  AMEVCNTVOFF01_EL2,
  AMEVCNTVOFF02_EL2,
  AMEVCNTVOFF03_EL2,
  AMEVCNTVOFF04_EL2,
  AMEVCNTVOFF05_EL2,
  AMEVCNTVOFF06_EL2,
  AMEVCNTVOFF07_EL2,
  AMEVCNTVOFF08_EL2,
  AMEVCNTVOFF09_EL2,
  AMEVCNTVOFF010_EL2,
  AMEVCNTVOFF011_EL2,
  AMEVCNTVOFF012_EL2,
  AMEVCNTVOFF013_EL2,
  AMEVCNTVOFF014_EL2,
  AMEVCNTVOFF015_EL2,
  AMEVCNTVOFF10_EL2,
  AMEVCNTVOFF11_EL2,
  AMEVCNTVOFF12_EL2,
  AMEVCNTVOFF13_EL2,
  AMEVCNTVOFF14_EL2,
  AMEVCNTVOFF15_EL2,
  AMEVCNTVOFF16_EL2,
  AMEVCNTVOFF17_EL2,
  AMEVCNTVOFF18_EL2,
  AMEVCNTVOFF19_EL2,
  AMEVCNTVOFF110_EL2,
  AMEVCNTVOFF111_EL2,
  AMEVCNTVOFF112_EL2,
  AMEVCNTVOFF113_EL2,
  AMEVCNTVOFF114_EL2,
  AMEVCNTVOFF115_EL2,
  CNTVOFF_EL2,
  CNTSCALE_EL2,
  CNTISCALE_EL2,
  CNTPOFF_EL2,
  CNTVFRQ_EL2,
  CNTHCTL_EL2,
  CNTHP_TVAL_EL2,
  CNTHP_CTL_EL2,
  CNTHP_CVAL_EL2,
  CNTHV_TVAL_EL2,
  CNTHV_CTL_EL2,
  CNTHV_CVAL_EL2,
  CNTHVS_TVAL_EL2,
  CNTHVS_CTL_EL2,
  CNTHVS_CVAL_EL2,
  CNTHPS_TVAL_EL2,
  CNTHPS_CTL_EL2,
  CNTHPS_CVAL_EL2,
  SCTLR_EL12,
  ACTLR_EL12,
  CPACR_EL12,
  SCTLR2_EL12,
  ZCR_EL12,
  TRFCR_EL12,
  TRCITECR_EL12,
  SMCR_EL12,
  SCTLRMASK_EL12,
  ACTLRMASK_EL12,
  CPACRMASK_EL12,
  SCTLR2MASK_EL12,
  TTBR0_EL12,
  TTBR1_EL12,
  TCR_EL12,
  TCR2_EL12,
  GCSCR_EL12,
  GCSPR_EL12,
  TCRMASK_EL12,
  TCR2MASK_EL12,
  SPSR_EL12,
  ELR_EL12,
  AFSR0_EL12,
  AFSR1_EL12,
  ESR_EL12,
  TFSR_EL12,
  FAR_EL12,
  PFAR_EL12,
  PMSCR_EL12,
  PMBSR_EL12,
  TRBSR_EL12,
  MAIR_EL12,
  MAIR2_EL12,
  PIRE0_EL12,
  PIR_EL12,
  POR_EL12,
  AMAIR_EL12,
  AMAIR2_EL12,
  MPAM1_EL12,
  MPAMBW1_EL12,
  VBAR_EL12,
  CONTEXTIDR_EL12,
  SCXTNUM_EL12,
  CNTKCTL_EL12,
  CNTP_TVAL_EL02,
  CNTP_CTL_EL02,
  CNTP_CVAL_EL02,
  CNTV_TVAL_EL02,
  CNTV_CTL_EL02,
  CNTV_CVAL_EL02,
  SCTLR_EL3,
  ACTLR_EL3,
  SCTLR2_EL3,
  SCR_EL3,
  SDER32_EL3,
  CPTR_EL3,
  FGWTE3_EL3,
  ZCR_EL3,
  SMCR_EL3,
  MDCR_EL3,
  TTBR0_EL3,
  TCR_EL3,
  GPTBR_EL3,
  GPCBW_EL3,
  GPCCR_EL3,
  GCSCR_EL3,
  GCSPR_EL3,
  SPSR_EL3,
  ELR_EL3,
  SP_EL2,
  AFSR0_EL3,
  AFSR1_EL3,
  ESR_EL3,
  VSESR_EL3,
  TFSR_EL3,
  FAR_EL3,
  MFAR_EL3,
  PMBSR_EL3,
  TRBSR_EL3,
  MAIR2_EL3,
  MAIR_EL3,
  PIR_EL3,
  POR_EL3,
  AMAIR_EL3,
  AMAIR2_EL3,
  MPAM3_EL3,
  MPAMBW3_EL3,
  MECID_RL_A_EL3,
  VBAR_EL3,
  RVBAR_EL3,
  RMR_EL3,
  VDISR_EL3,
  ICC_CTLR_EL3,
  ICC_SRE_EL3,
  ICC_IGRPEN1_EL3,
  TPIDR_EL3,
  SCXTNUM_EL3,
  CNTPS_TVAL_EL1,
  CNTPS_CTL_EL1,
  CNTPS_CVAL_EL1,
  NUM_TARGET_SYSREGS,
  UNKNOWN(u64),
}

impl From<u64> for SysReg {
    fn from(value: u64) -> Self {
        match value {
          32770 => SysReg::OSDTRRX_EL1,
          32772 => SysReg::DBGBVR0_EL1,
          32773 => SysReg::DBGBCR0_EL1,
          32774 => SysReg::DBGWVR0_EL1,
          32775 => SysReg::DBGWCR0_EL1,
          32780 => SysReg::DBGBVR1_EL1,
          32781 => SysReg::DBGBCR1_EL1,
          32782 => SysReg::DBGWVR1_EL1,
          32783 => SysReg::DBGWCR1_EL1,
          32784 => SysReg::MDCCINT_EL1,
          32786 => SysReg::MDSCR_EL1,
          32788 => SysReg::DBGBVR2_EL1,
          32789 => SysReg::DBGBCR2_EL1,
          32790 => SysReg::DBGWVR2_EL1,
          32791 => SysReg::DBGWCR2_EL1,
          32794 => SysReg::OSDTRTX_EL1,
          32796 => SysReg::DBGBVR3_EL1,
          32797 => SysReg::DBGBCR3_EL1,
          32798 => SysReg::DBGWVR3_EL1,
          32799 => SysReg::DBGWCR3_EL1,
          32802 => SysReg::MDSELR_EL1,
          32804 => SysReg::DBGBVR4_EL1,
          32805 => SysReg::DBGBCR4_EL1,
          32806 => SysReg::DBGWVR4_EL1,
          32807 => SysReg::DBGWCR4_EL1,
          32810 => SysReg::MDSTEPOP_EL1,
          32812 => SysReg::DBGBVR5_EL1,
          32813 => SysReg::DBGBCR5_EL1,
          32814 => SysReg::DBGWVR5_EL1,
          32815 => SysReg::DBGWCR5_EL1,
          32818 => SysReg::OSECCR_EL1,
          32820 => SysReg::DBGBVR6_EL1,
          32821 => SysReg::DBGBCR6_EL1,
          32822 => SysReg::DBGWVR6_EL1,
          32823 => SysReg::DBGWCR6_EL1,
          32828 => SysReg::DBGBVR7_EL1,
          32829 => SysReg::DBGBCR7_EL1,
          32830 => SysReg::DBGWVR7_EL1,
          32831 => SysReg::DBGWCR7_EL1,
          32836 => SysReg::DBGBVR8_EL1,
          32837 => SysReg::DBGBCR8_EL1,
          32838 => SysReg::DBGWVR8_EL1,
          32839 => SysReg::DBGWCR8_EL1,
          32844 => SysReg::DBGBVR9_EL1,
          32845 => SysReg::DBGBCR9_EL1,
          32846 => SysReg::DBGWVR9_EL1,
          32847 => SysReg::DBGWCR9_EL1,
          32852 => SysReg::DBGBVR10_EL1,
          32853 => SysReg::DBGBCR10_EL1,
          32854 => SysReg::DBGWVR10_EL1,
          32855 => SysReg::DBGWCR10_EL1,
          32860 => SysReg::DBGBVR11_EL1,
          32861 => SysReg::DBGBCR11_EL1,
          32862 => SysReg::DBGWVR11_EL1,
          32863 => SysReg::DBGWCR11_EL1,
          32868 => SysReg::DBGBVR12_EL1,
          32869 => SysReg::DBGBCR12_EL1,
          32870 => SysReg::DBGWVR12_EL1,
          32871 => SysReg::DBGWCR12_EL1,
          32876 => SysReg::DBGBVR13_EL1,
          32877 => SysReg::DBGBCR13_EL1,
          32878 => SysReg::DBGWVR13_EL1,
          32879 => SysReg::DBGWCR13_EL1,
          32884 => SysReg::DBGBVR14_EL1,
          32885 => SysReg::DBGBCR14_EL1,
          32886 => SysReg::DBGWVR14_EL1,
          32887 => SysReg::DBGWCR14_EL1,
          32892 => SysReg::DBGBVR15_EL1,
          32893 => SysReg::DBGBCR15_EL1,
          32894 => SysReg::DBGWVR15_EL1,
          32895 => SysReg::DBGWCR15_EL1,
          32896 => SysReg::MDRAR_EL1,
          32900 => SysReg::OSLAR_EL1,
          32908 => SysReg::OSLSR_EL1,
          32924 => SysReg::OSDLR_EL1,
          32932 => SysReg::DBGPRCR_EL1,
          33734 => SysReg::DBGCLAIMSET_EL1,
          33742 => SysReg::DBGCLAIMCLR_EL1,
          33782 => SysReg::DBGAUTHSTATUS_EL1,
          34024 => SysReg::SPMCGCR0_EL1,
          34025 => SysReg::SPMCGCR1_EL1,
          34027 => SysReg::SPMACCESSR_EL1,
          34028 => SysReg::SPMIIDR_EL1,
          34029 => SysReg::SPMDEVARCH_EL1,
          34030 => SysReg::SPMDEVAFF_EL1,
          34031 => SysReg::SPMCFGR_EL1,
          34033 => SysReg::SPMINTENSET_EL1,
          34034 => SysReg::SPMINTENCLR_EL1,
          34624 => SysReg::PMEVCNTSVR0_EL1,
          34625 => SysReg::PMEVCNTSVR1_EL1,
          34626 => SysReg::PMEVCNTSVR2_EL1,
          34627 => SysReg::PMEVCNTSVR3_EL1,
          34628 => SysReg::PMEVCNTSVR4_EL1,
          34629 => SysReg::PMEVCNTSVR5_EL1,
          34630 => SysReg::PMEVCNTSVR6_EL1,
          34631 => SysReg::PMEVCNTSVR7_EL1,
          34632 => SysReg::PMEVCNTSVR8_EL1,
          34633 => SysReg::PMEVCNTSVR9_EL1,
          34634 => SysReg::PMEVCNTSVR10_EL1,
          34635 => SysReg::PMEVCNTSVR11_EL1,
          34636 => SysReg::PMEVCNTSVR12_EL1,
          34637 => SysReg::PMEVCNTSVR13_EL1,
          34638 => SysReg::PMEVCNTSVR14_EL1,
          34639 => SysReg::PMEVCNTSVR15_EL1,
          34640 => SysReg::PMEVCNTSVR16_EL1,
          34641 => SysReg::PMEVCNTSVR17_EL1,
          34642 => SysReg::PMEVCNTSVR18_EL1,
          34643 => SysReg::PMEVCNTSVR19_EL1,
          34644 => SysReg::PMEVCNTSVR20_EL1,
          34645 => SysReg::PMEVCNTSVR21_EL1,
          34646 => SysReg::PMEVCNTSVR22_EL1,
          34647 => SysReg::PMEVCNTSVR23_EL1,
          34648 => SysReg::PMEVCNTSVR24_EL1,
          34649 => SysReg::PMEVCNTSVR25_EL1,
          34650 => SysReg::PMEVCNTSVR26_EL1,
          34651 => SysReg::PMEVCNTSVR27_EL1,
          34652 => SysReg::PMEVCNTSVR28_EL1,
          34653 => SysReg::PMEVCNTSVR29_EL1,
          34654 => SysReg::PMEVCNTSVR30_EL1,
          34655 => SysReg::PMCCNTSVR_EL1,
          34656 => SysReg::PMICNTSVR_EL1,
          34817 => SysReg::TRCTRACEIDR,
          34818 => SysReg::TRCVICTLR,
          34820 => SysReg::TRCSEQEVR0,
          34821 => SysReg::TRCCNTRLDVR0,
          34822 => SysReg::TRCIDR8,
          34823 => SysReg::TRCIMSPEC0,
          34824 => SysReg::TRCPRGCTLR,
          34825 => SysReg::TRCQCTLR,
          34826 => SysReg::TRCVIIECTLR,
          34828 => SysReg::TRCSEQEVR1,
          34829 => SysReg::TRCCNTRLDVR1,
          34830 => SysReg::TRCIDR9,
          34831 => SysReg::TRCIMSPEC1,
          34832 => SysReg::TRCPROCSELR,
          34833 => SysReg::TRCITEEDCR,
          34834 => SysReg::TRCVISSCTLR,
          34836 => SysReg::TRCSEQEVR2,
          34837 => SysReg::TRCCNTRLDVR2,
          34838 => SysReg::TRCIDR10,
          34839 => SysReg::TRCIMSPEC2,
          34840 => SysReg::TRCSTATR,
          34842 => SysReg::TRCVIPCSSCTLR,
          34845 => SysReg::TRCCNTRLDVR3,
          34846 => SysReg::TRCIDR11,
          34847 => SysReg::TRCIMSPEC3,
          34848 => SysReg::TRCCONFIGR,
          34853 => SysReg::TRCCNTCTLR0,
          34854 => SysReg::TRCIDR12,
          34855 => SysReg::TRCIMSPEC4,
          34861 => SysReg::TRCCNTCTLR1,
          34862 => SysReg::TRCIDR13,
          34863 => SysReg::TRCIMSPEC5,
          34864 => SysReg::TRCAUXCTLR,
          34868 => SysReg::TRCSEQRSTEVR,
          34869 => SysReg::TRCCNTCTLR2,
          34871 => SysReg::TRCIMSPEC6,
          34876 => SysReg::TRCSEQSTR,
          34877 => SysReg::TRCCNTCTLR3,
          34879 => SysReg::TRCIMSPEC7,
          34880 => SysReg::TRCEVENTCTL0R,
          34882 => SysReg::TRCVDCTLR,
          34884 => SysReg::TRCEXTINSELR,

          34885 => SysReg::TRCCNTVR0,
          34887 => SysReg::TRCIDR0,
          34888 => SysReg::TRCEVENTCTL1R,
          34890 => SysReg::TRCVDSACCTLR,
          34892 => SysReg::TRCEXTINSELR1,
          34893 => SysReg::TRCCNTVR1,
          34895 => SysReg::TRCIDR1,
          34896 => SysReg::TRCRSR,
          34898 => SysReg::TRCVDARCCTLR,
          34900 => SysReg::TRCEXTINSELR2,
          34901 => SysReg::TRCCNTVR2,
          34903 => SysReg::TRCIDR2,
          34904 => SysReg::TRCSTALLCTLR,
          34908 => SysReg::TRCEXTINSELR3,
          34909 => SysReg::TRCCNTVR3,
          34911 => SysReg::TRCIDR3,
          34912 => SysReg::TRCTSCTLR,
          34919 => SysReg::TRCIDR4,
          34920 => SysReg::TRCSYNCPR,
          34927 => SysReg::TRCIDR5,
          34928 => SysReg::TRCCCCTLR,
          34935 => SysReg::TRCIDR6,
          34936 => SysReg::TRCBBCTLR,
          34943 => SysReg::TRCIDR7,
          34945 => SysReg::TRCRSCTLR16,
          34946 => SysReg::TRCSSCCR0,
          34947 => SysReg::TRCSSPCICR0,
          34948 => SysReg::TRCOSLAR,
          34953 => SysReg::TRCRSCTLR17,
          34954 => SysReg::TRCSSCCR1,
          34955 => SysReg::TRCSSPCICR1,
          34956 => SysReg::TRCOSLSR,
          34960 => SysReg::TRCRSCTLR2,
          34961 => SysReg::TRCRSCTLR18,
          34962 => SysReg::TRCSSCCR2,
          34963 => SysReg::TRCSSPCICR2,
          34968 => SysReg::TRCRSCTLR3,
          34969 => SysReg::TRCRSCTLR19,
          34970 => SysReg::TRCSSCCR3,
          34971 => SysReg::TRCSSPCICR3,
          34976 => SysReg::TRCRSCTLR4,
          34977 => SysReg::TRCRSCTLR20,
          34978 => SysReg::TRCSSCCR4,
          34979 => SysReg::TRCSSPCICR4,
          34980 => SysReg::TRCPDCR,
          34984 => SysReg::TRCRSCTLR5,
          34985 => SysReg::TRCRSCTLR21,
          34986 => SysReg::TRCSSCCR5,
          34987 => SysReg::TRCSSPCICR5,
          34988 => SysReg::TRCPDSR,
          34992 => SysReg::TRCRSCTLR6,
          34993 => SysReg::TRCRSCTLR22,
          34994 => SysReg::TRCSSCCR6,
          34995 => SysReg::TRCSSPCICR6,
          35000 => SysReg::TRCRSCTLR7,
          35001 => SysReg::TRCRSCTLR23,
          35002 => SysReg::TRCSSCCR7,
          35003 => SysReg::TRCSSPCICR7,
          35008 => SysReg::TRCRSCTLR8,
          35009 => SysReg::TRCRSCTLR24,
          35010 => SysReg::TRCSSCSR0,
          35016 => SysReg::TRCRSCTLR9,
          35017 => SysReg::TRCRSCTLR25,
          35018 => SysReg::TRCSSCSR1,
          35024 => SysReg::TRCRSCTLR10,
          35025 => SysReg::TRCRSCTLR26,
          35026 => SysReg::TRCSSCSR2,
          35032 => SysReg::TRCRSCTLR11,
          35033 => SysReg::TRCRSCTLR27,
          35034 => SysReg::TRCSSCSR3,
          35040 => SysReg::TRCRSCTLR12,
          35041 => SysReg::TRCRSCTLR28,
          35042 => SysReg::TRCSSCSR4,
          35048 => SysReg::TRCRSCTLR13,
          35049 => SysReg::TRCRSCTLR29,
          35050 => SysReg::TRCSSCSR5,
          35056 => SysReg::TRCRSCTLR14,
          35057 => SysReg::TRCRSCTLR30,
          35058 => SysReg::TRCSSCSR6,
          35064 => SysReg::TRCRSCTLR15,
          35065 => SysReg::TRCRSCTLR31,
          35066 => SysReg::TRCSSCSR7,
          35072 => SysReg::TRCACVR0,
          35073 => SysReg::TRCACVR8,
          35074 => SysReg::TRCACATR0,
          35075 => SysReg::TRCACATR8,
          35076 => SysReg::TRCDVCVR0,
          35077 => SysReg::TRCDVCVR4,
          35078 => SysReg::TRCDVCMR0,
          35079 => SysReg::TRCDVCMR4,
          35088 => SysReg::TRCACVR1,
          35089 => SysReg::TRCACVR9,
          35090 => SysReg::TRCACATR1,
          35091 => SysReg::TRCACATR9,
          35104 => SysReg::TRCACVR2,
          35105 => SysReg::TRCACVR10,
          35106 => SysReg::TRCACATR2,
          35107 => SysReg::TRCACATR10,
          35108 => SysReg::TRCDVCVR1,
          35109 => SysReg::TRCDVCVR5,
          35110 => SysReg::TRCDVCMR1,
          35111 => SysReg::TRCDVCMR5,
          35120 => SysReg::TRCACVR3,
          35121 => SysReg::TRCACVR11,
          35122 => SysReg::TRCACATR3,
          35123 => SysReg::TRCACATR11,
          35136 => SysReg::TRCACVR4,
          35137 => SysReg::TRCACVR12,
          35138 => SysReg::TRCACATR4,
          35139 => SysReg::TRCACATR12,
          35140 => SysReg::TRCDVCVR2,
          35141 => SysReg::TRCDVCVR6,
          35142 => SysReg::TRCDVCMR2,
          35143 => SysReg::TRCDVCMR6,
          35152 => SysReg::TRCACVR5,
          35153 => SysReg::TRCACVR13,
          35154 => SysReg::TRCACATR5,
          35155 => SysReg::TRCACATR13,
          35168 => SysReg::TRCACVR6,
          35169 => SysReg::TRCACVR14,
          35170 => SysReg::TRCACATR6,
          35171 => SysReg::TRCACATR14,
          35172 => SysReg::TRCDVCVR3,
          35173 => SysReg::TRCDVCVR7,
          35174 => SysReg::TRCDVCMR3,
          35175 => SysReg::TRCDVCMR7,
          35184 => SysReg::TRCACVR7,
          35185 => SysReg::TRCACVR15,
          35186 => SysReg::TRCACATR7,
          35187 => SysReg::TRCACATR15,
          35200 => SysReg::TRCCIDCVR0,
          35201 => SysReg::TRCVMIDCVR0,
          35202 => SysReg::TRCCIDCCTLR0,
          35210 => SysReg::TRCCIDCCTLR1,
          35216 => SysReg::TRCCIDCVR1,
          35217 => SysReg::TRCVMIDCVR1,
          35218 => SysReg::TRCVMIDCCTLR0,
          35226 => SysReg::TRCVMIDCCTLR1,
          35232 => SysReg::TRCCIDCVR2,
          35233 => SysReg::TRCVMIDCVR2,
          35248 => SysReg::TRCCIDCVR3,
          35249 => SysReg::TRCVMIDCVR3,
          35264 => SysReg::TRCCIDCVR4,
          35265 => SysReg::TRCVMIDCVR4,
          35280 => SysReg::TRCCIDCVR5,
          35281 => SysReg::TRCVMIDCVR5,
          35296 => SysReg::TRCCIDCVR6,
          35297 => SysReg::TRCVMIDCVR6,
          35312 => SysReg::TRCCIDCVR7,
          35313 => SysReg::TRCVMIDCVR7,
          35716 => SysReg::TRCITCTRL,
          35735 => SysReg::TRCDEVID,
          35743 => SysReg::TRCDEVTYPE,
          35751 => SysReg::TRCPIDR4,
          35759 => SysReg::TRCPIDR5,
          35767 => SysReg::TRCPIDR6,
          35775 => SysReg::TRCPIDR7,
          35782 => SysReg::TRCCLAIMSET,
          35783 => SysReg::TRCPIDR0,
          35790 => SysReg::TRCCLAIMCLR,
          35791 => SysReg::TRCPIDR1,
          35798 => SysReg::TRCDEVAFF0,
          35799 => SysReg::TRCPIDR2,
          35806 => SysReg::TRCDEVAFF1,
          35807 => SysReg::TRCPIDR3,
          35814 => SysReg::TRCLAR,
          35815 => SysReg::TRCCIDR0,
          35822 => SysReg::TRCLSR,
          35823 => SysReg::TRCCIDR1,
          35830 => SysReg::TRCAUTHSTATUS,
          35831 => SysReg::TRCCIDR2,
          35838 => SysReg::TRCDEVARCH,
          35839 => SysReg::TRCCIDR3,
          35840 => SysReg::BRBINF0_EL1,
          35841 => SysReg::BRBSRC0_EL1,
          35842 => SysReg::BRBTGT0_EL1,
          35844 => SysReg::BRBINF16_EL1,
          35845 => SysReg::BRBSRC16_EL1,
          35846 => SysReg::BRBTGT16_EL1,
          35848 => SysReg::BRBINF1_EL1,
          35849 => SysReg::BRBSRC1_EL1,
          35850 => SysReg::BRBTGT1_EL1,
          35852 => SysReg::BRBINF17_EL1,
          35853 => SysReg::BRBSRC17_EL1,
          35854 => SysReg::BRBTGT17_EL1,
          35856 => SysReg::BRBINF2_EL1,
          35857 => SysReg::BRBSRC2_EL1,
          35858 => SysReg::BRBTGT2_EL1,
          35860 => SysReg::BRBINF18_EL1,
          35861 => SysReg::BRBSRC18_EL1,
          35862 => SysReg::BRBTGT18_EL1,
          35864 => SysReg::BRBINF3_EL1,
          35865 => SysReg::BRBSRC3_EL1,
          35866 => SysReg::BRBTGT3_EL1,
          35868 => SysReg::BRBINF19_EL1,
          35869 => SysReg::BRBSRC19_EL1,
          35870 => SysReg::BRBTGT19_EL1,
          35872 => SysReg::BRBINF4_EL1,
          35873 => SysReg::BRBSRC4_EL1,
          35874 => SysReg::BRBTGT4_EL1,
          35876 => SysReg::BRBINF20_EL1,
          35877 => SysReg::BRBSRC20_EL1,
          35878 => SysReg::BRBTGT20_EL1,
          35880 => SysReg::BRBINF5_EL1,
          35881 => SysReg::BRBSRC5_EL1,
          35882 => SysReg::BRBTGT5_EL1,
          35884 => SysReg::BRBINF21_EL1,
          35885 => SysReg::BRBSRC21_EL1,
          35886 => SysReg::BRBTGT21_EL1,
          35888 => SysReg::BRBINF6_EL1,
          35889 => SysReg::BRBSRC6_EL1,
          35890 => SysReg::BRBTGT6_EL1,
          35892 => SysReg::BRBINF22_EL1,
          35893 => SysReg::BRBSRC22_EL1,
          35894 => SysReg::BRBTGT22_EL1,
          35896 => SysReg::BRBINF7_EL1,
          35897 => SysReg::BRBSRC7_EL1,
          35898 => SysReg::BRBTGT7_EL1,
          35900 => SysReg::BRBINF23_EL1,
          35901 => SysReg::BRBSRC23_EL1,
          35902 => SysReg::BRBTGT23_EL1,
          35904 => SysReg::BRBINF8_EL1,
          35905 => SysReg::BRBSRC8_EL1,
          35906 => SysReg::BRBTGT8_EL1,
          35908 => SysReg::BRBINF24_EL1,
          35909 => SysReg::BRBSRC24_EL1,
          35910 => SysReg::BRBTGT24_EL1,
          35912 => SysReg::BRBINF9_EL1,
          35913 => SysReg::BRBSRC9_EL1,
          35914 => SysReg::BRBTGT9_EL1,
          35916 => SysReg::BRBINF25_EL1,
          35917 => SysReg::BRBSRC25_EL1,
          35918 => SysReg::BRBTGT25_EL1,
          35920 => SysReg::BRBINF10_EL1,
          35921 => SysReg::BRBSRC10_EL1,
          35922 => SysReg::BRBTGT10_EL1,
          35924 => SysReg::BRBINF26_EL1,
          35925 => SysReg::BRBSRC26_EL1,
          35926 => SysReg::BRBTGT26_EL1,
          35928 => SysReg::BRBINF11_EL1,
          35929 => SysReg::BRBSRC11_EL1,
          35930 => SysReg::BRBTGT11_EL1,
          35932 => SysReg::BRBINF27_EL1,
          35933 => SysReg::BRBSRC27_EL1,
          35934 => SysReg::BRBTGT27_EL1,
          35936 => SysReg::BRBINF12_EL1,
          35937 => SysReg::BRBSRC12_EL1,
          35938 => SysReg::BRBTGT12_EL1,
          35940 => SysReg::BRBINF28_EL1,
          35941 => SysReg::BRBSRC28_EL1,
          35942 => SysReg::BRBTGT28_EL1,
          35944 => SysReg::BRBINF13_EL1,
          35945 => SysReg::BRBSRC13_EL1,
          35946 => SysReg::BRBTGT13_EL1,
          35948 => SysReg::BRBINF29_EL1,
          35949 => SysReg::BRBSRC29_EL1,
          35950 => SysReg::BRBTGT29_EL1,
          35952 => SysReg::BRBINF14_EL1,
          35953 => SysReg::BRBSRC14_EL1,
          35954 => SysReg::BRBTGT14_EL1,
          35956 => SysReg::BRBINF30_EL1,
          35957 => SysReg::BRBSRC30_EL1,
          35958 => SysReg::BRBTGT30_EL1,
          35960 => SysReg::BRBINF15_EL1,
          35961 => SysReg::BRBSRC15_EL1,
          35962 => SysReg::BRBTGT15_EL1,
          35964 => SysReg::BRBINF31_EL1,
          35965 => SysReg::BRBSRC31_EL1,
          35966 => SysReg::BRBTGT31_EL1,
          35968 => SysReg::BRBCR_EL1,
          35969 => SysReg::BRBFCR_EL1,
          35970 => SysReg::BRBTS_EL1,
          35976 => SysReg::BRBINFINJ_EL1,
          35977 => SysReg::BRBSRCINJ_EL1,
          35978 => SysReg::BRBTGTINJ_EL1,
          35984 => SysReg::BRBIDR0_EL1,
          36864 => SysReg::TEECR32_EL1,
          36992 => SysReg::TEEHBR32_EL1,
          38920 => SysReg::MDCCSR_EL0,
          38944 => SysReg::DBGDTR_EL0,
          38952 => SysReg::DBGDTRRX_EL0,

          40160 => SysReg::SPMCR_EL0,
          40161 => SysReg::SPMCNTENSET_EL0,
          40162 => SysReg::SPMCNTENCLR_EL0,
          40163 => SysReg::SPMOVSCLR_EL0,
          40164 => SysReg::SPMZR_EL0,
          40165 => SysReg::SPMSELR_EL0,
          40179 => SysReg::SPMOVSSET_EL0,
          40704 => SysReg::SPMEVCNTR0_EL0,
          40705 => SysReg::SPMEVCNTR1_EL0,
          40706 => SysReg::SPMEVCNTR2_EL0,
          40707 => SysReg::SPMEVCNTR3_EL0,
          40708 => SysReg::SPMEVCNTR4_EL0,
          40709 => SysReg::SPMEVCNTR5_EL0,
          40710 => SysReg::SPMEVCNTR6_EL0,
          40711 => SysReg::SPMEVCNTR7_EL0,
          40712 => SysReg::SPMEVCNTR8_EL0,
          40713 => SysReg::SPMEVCNTR9_EL0,
          40714 => SysReg::SPMEVCNTR10_EL0,
          40715 => SysReg::SPMEVCNTR11_EL0,
          40716 => SysReg::SPMEVCNTR12_EL0,
          40717 => SysReg::SPMEVCNTR13_EL0,
          40718 => SysReg::SPMEVCNTR14_EL0,
          40719 => SysReg::SPMEVCNTR15_EL0,
          40720 => SysReg::SPMEVTYPER0_EL0,
          40721 => SysReg::SPMEVTYPER1_EL0,
          40722 => SysReg::SPMEVTYPER2_EL0,
          40723 => SysReg::SPMEVTYPER3_EL0,
          40724 => SysReg::SPMEVTYPER4_EL0,
          40725 => SysReg::SPMEVTYPER5_EL0,
          40726 => SysReg::SPMEVTYPER6_EL0,
          40727 => SysReg::SPMEVTYPER7_EL0,
          40728 => SysReg::SPMEVTYPER8_EL0,
          40729 => SysReg::SPMEVTYPER9_EL0,
          40730 => SysReg::SPMEVTYPER10_EL0,
          40731 => SysReg::SPMEVTYPER11_EL0,
          40732 => SysReg::SPMEVTYPER12_EL0,
          40733 => SysReg::SPMEVTYPER13_EL0,
          40734 => SysReg::SPMEVTYPER14_EL0,
          40735 => SysReg::SPMEVTYPER15_EL0,
          40736 => SysReg::SPMEVFILTR0_EL0,
          40737 => SysReg::SPMEVFILTR1_EL0,
          40738 => SysReg::SPMEVFILTR2_EL0,
          40739 => SysReg::SPMEVFILTR3_EL0,
          40740 => SysReg::SPMEVFILTR4_EL0,
          40741 => SysReg::SPMEVFILTR5_EL0,
          40742 => SysReg::SPMEVFILTR6_EL0,
          40743 => SysReg::SPMEVFILTR7_EL0,
          40744 => SysReg::SPMEVFILTR8_EL0,
          40745 => SysReg::SPMEVFILTR9_EL0,
          40746 => SysReg::SPMEVFILTR10_EL0,
          40747 => SysReg::SPMEVFILTR11_EL0,
          40748 => SysReg::SPMEVFILTR12_EL0,
          40749 => SysReg::SPMEVFILTR13_EL0,
          40750 => SysReg::SPMEVFILTR14_EL0,
          40751 => SysReg::SPMEVFILTR15_EL0,
          40752 => SysReg::SPMEVFILT2R0_EL0,
          40753 => SysReg::SPMEVFILT2R1_EL0,
          40754 => SysReg::SPMEVFILT2R2_EL0,
          40755 => SysReg::SPMEVFILT2R3_EL0,
          40756 => SysReg::SPMEVFILT2R4_EL0,
          40757 => SysReg::SPMEVFILT2R5_EL0,
          40758 => SysReg::SPMEVFILT2R6_EL0,
          40759 => SysReg::SPMEVFILT2R7_EL0,
          40760 => SysReg::SPMEVFILT2R8_EL0,
          40761 => SysReg::SPMEVFILT2R9_EL0,
          40762 => SysReg::SPMEVFILT2R10_EL0,
          40763 => SysReg::SPMEVFILT2R11_EL0,
          40764 => SysReg::SPMEVFILT2R12_EL0,
          40765 => SysReg::SPMEVFILT2R13_EL0,
          40766 => SysReg::SPMEVFILT2R14_EL0,
          40767 => SysReg::SPMEVFILT2R15_EL0,
          41016 => SysReg::DBGVCR32_EL2,
          42112 => SysReg::BRBCR_EL2,
          42219 => SysReg::SPMACCESSR_EL2,
          44160 => SysReg::BRBCR_EL12,
          44267 => SysReg::SPMACCESSR_EL12,
          46315 => SysReg::SPMACCESSR_EL3,
          46327 => SysReg::SPMROOTCR_EL3,
          48375 => SysReg::SPMSCR_EL1,
          49152 => SysReg::MIDR_EL1,
          49156 => SysReg::MPUIR_EL1,
          49157 => SysReg::MPIDR_EL1,
          49158 => SysReg::REVIDR_EL1,
          49160 => SysReg::ID_PFR0_EL1,
          49161 => SysReg::ID_PFR1_EL1,
          49162 => SysReg::ID_DFR0_EL1,
          49163 => SysReg::ID_AFR0_EL1,
          49164 => SysReg::ID_MMFR0_EL1,
          49165 => SysReg::ID_MMFR1_EL1,
          49166 => SysReg::ID_MMFR2_EL1,
          49167 => SysReg::ID_MMFR3_EL1,
          49168 => SysReg::ID_ISAR0_EL1,
          49169 => SysReg::ID_ISAR1_EL1,
          49170 => SysReg::ID_ISAR2_EL1,
          49171 => SysReg::ID_ISAR3_EL1,
          49172 => SysReg::ID_ISAR4_EL1,
          49173 => SysReg::ID_ISAR5_EL1,
          49174 => SysReg::ID_MMFR4_EL1,
          49175 => SysReg::ID_ISAR6_EL1,
          49176 => SysReg::MVFR0_EL1,
          49177 => SysReg::MVFR1_EL1,
          49178 => SysReg::MVFR2_EL1,
          49180 => SysReg::ID_PFR2_EL1,
          49181 => SysReg::ID_DFR1_EL1,
          49182 => SysReg::ID_MMFR5_EL1,
          49184 => SysReg::ID_AA64PFR0_EL1,
          49185 => SysReg::ID_AA64PFR1_EL1,
          49186 => SysReg::ID_AA64PFR2_EL1,
          49188 => SysReg::ID_AA64ZFR0_EL1,
          49189 => SysReg::ID_AA64SMFR0_EL1,
          49191 => SysReg::ID_AA64FPFR0_EL1,
          49192 => SysReg::ID_AA64DFR0_EL1,
          49193 => SysReg::ID_AA64DFR1_EL1,
          49194 => SysReg::ID_AA64DFR2_EL1,
          49196 => SysReg::ID_AA64AFR0_EL1,
          49197 => SysReg::ID_AA64AFR1_EL1,
          49200 => SysReg::ID_AA64ISAR0_EL1,
          49201 => SysReg::ID_AA64ISAR1_EL1,
          49202 => SysReg::ID_AA64ISAR2_EL1,
          49203 => SysReg::ID_AA64ISAR3_EL1,
          49208 => SysReg::ID_AA64MMFR0_EL1,
          49209 => SysReg::ID_AA64MMFR1_EL1,
          49210 => SysReg::ID_AA64MMFR2_EL1,
          49211 => SysReg::ID_AA64MMFR3_EL1,
          49212 => SysReg::ID_AA64MMFR4_EL1,
          49280 => SysReg::SCTLR_EL1,
          49281 => SysReg::ACTLR_EL1,
          49282 => SysReg::CPACR_EL1,
          49283 => SysReg::SCTLR2_EL1,
          49285 => SysReg::RGSR_EL1,
          49286 => SysReg::GCR_EL1,
          49296 => SysReg::ZCR_EL1,
          49297 => SysReg::TRFCR_EL1,
          49299 => SysReg::TRCITECR_EL1,
          49300 => SysReg::SMPRI_EL1,
          49302 => SysReg::SMCR_EL1,
          49312 => SysReg::SCTLRMASK_EL1,
          49313 => SysReg::ACTLRMASK_EL1,
          49314 => SysReg::CPACRMASK_EL1,
          49315 => SysReg::SCTLR2MASK_EL1,
          49316 => SysReg::CPACRALIAS_EL1,
          49317 => SysReg::ACTLRALIAS_EL1,
          49318 => SysReg::SCTLRALIAS_EL1,
          49319 => SysReg::SCTLR2ALIAS_EL1,
          49408 => SysReg::TTBR0_EL1,
          49409 => SysReg::TTBR1_EL1,
          49410 => SysReg::TCR_EL1,
          49411 => SysReg::TCR2_EL1,
          49416 => SysReg::APIAKeyLo_EL1,
          49417 => SysReg::APIAKeyHi_EL1,
          49418 => SysReg::APIBKeyLo_EL1,
          49419 => SysReg::APIBKeyHi_EL1,
          49424 => SysReg::APDAKeyLo_EL1,
          49425 => SysReg::APDAKeyHi_EL1,
          49426 => SysReg::APDBKeyLo_EL1,
          49427 => SysReg::APDBKeyHi_EL1,
          49432 => SysReg::APGAKeyLo_EL1,
          49433 => SysReg::APGAKeyHi_EL1,
          49448 => SysReg::GCSCR_EL1,
          49449 => SysReg::GCSPR_EL1,
          49450 => SysReg::GCSCRE0_EL1,
          49466 => SysReg::TCRMASK_EL1,
          49467 => SysReg::TCR2MASK_EL1,
          49470 => SysReg::TCRALIAS_EL1,
          49471 => SysReg::TCR2ALIAS_EL1,
          49664 => SysReg::SPSR_EL1,
          49665 => SysReg::ELR_EL1,
          49672 => SysReg::SP_EL0,
          49680 => SysReg::SPSel,
          49682 => SysReg::CurrentEL,
          49683 => SysReg::PAN,
          49684 => SysReg::UAO,
          49688 => SysReg::ALLINT,
          49689 => SysReg::PM,
          49712 => SysReg::ICC_PMR_EL1,
          49800 => SysReg::AFSR0_EL1,
          49801 => SysReg::AFSR1_EL1,
          49808 => SysReg::ESR_EL1,
          49816 => SysReg::ERRIDR_EL1,
          49817 => SysReg::ERRSELR_EL1,
          49818 => SysReg::ERXGSR_EL1,
          49824 => SysReg::ERXFR_EL1,
          49825 => SysReg::ERXCTLR_EL1,
          49826 => SysReg::ERXSTATUS_EL1,
          49827 => SysReg::ERXADDR_EL1,
          49828 => SysReg::ERXPFGF_EL1,
          49829 => SysReg::ERXPFGCTL_EL1,
          49830 => SysReg::ERXPFGCDN_EL1,
          49832 => SysReg::ERXMISC0_EL1,
          49833 => SysReg::ERXMISC1_EL1,
          49834 => SysReg::ERXMISC2_EL1,
          49835 => SysReg::ERXMISC3_EL1,
          49840 => SysReg::TFSR_EL1,
          49841 => SysReg::TFSRE0_EL1,
          49920 => SysReg::FAR_EL1,
          49925 => SysReg::PFAR_EL1,
          49929 => SysReg::PRENR_EL1,
          49937 => SysReg::PRSELR_EL1,
          49984 => SysReg::PRBAR_EL1,
          49985 => SysReg::PRLAR_EL1,
          49988 => SysReg::PRBAR1_EL1,
          49989 => SysReg::PRLAR1_EL1,
          49992 => SysReg::PRBAR2_EL1,
          49993 => SysReg::PRLAR2_EL1,
          49996 => SysReg::PRBAR3_EL1,
          49997 => SysReg::PRLAR3_EL1,
          50000 => SysReg::PRBAR4_EL1,
          50001 => SysReg::PRLAR4_EL1,
          50004 => SysReg::PRBAR5_EL1,
          50005 => SysReg::PRLAR5_EL1,
          50008 => SysReg::PRBAR6_EL1,
          50009 => SysReg::PRLAR6_EL1,
          50012 => SysReg::PRBAR7_EL1,
          50013 => SysReg::PRLAR7_EL1,
          50016 => SysReg::PRBAR8_EL1,
          50017 => SysReg::PRLAR8_EL1,
          50020 => SysReg::PRBAR9_EL1,
          50021 => SysReg::PRLAR9_EL1,
          50024 => SysReg::PRBAR10_EL1,
          50025 => SysReg::PRLAR10_EL1,
          50028 => SysReg::PRBAR11_EL1,
          50029 => SysReg::PRLAR11_EL1,
          50032 => SysReg::PRBAR12_EL1,
          50033 => SysReg::PRLAR12_EL1,
          50036 => SysReg::PRBAR13_EL1,
          50037 => SysReg::PRLAR13_EL1,
          50040 => SysReg::PRBAR14_EL1,
          50041 => SysReg::PRLAR14_EL1,
          50044 => SysReg::PRBAR15_EL1,
          50045 => SysReg::PRLAR15_EL1,
          50080 => SysReg::PAR_EL1,
          50376 => SysReg::PMSCR_EL1,
          50377 => SysReg::PMSNEVFR_EL1,
          50378 => SysReg::PMSICR_EL1,
          50379 => SysReg::PMSIRR_EL1,
          50380 => SysReg::PMSFCR_EL1,
          50381 => SysReg::PMSEVFR_EL1,
          50382 => SysReg::PMSLATFR_EL1,
          50383 => SysReg::PMSIDR_EL1,
          50384 => SysReg::PMBLIMITR_EL1,
          50385 => SysReg::PMBPTR_EL1,
          50387 => SysReg::PMBSR_EL1,
          50388 => SysReg::PMSDSFR_EL1,
          50389 => SysReg::PMBMAR_EL1,
          50391 => SysReg::PMBIDR_EL1,
          50392 => SysReg::TRBLIMITR_EL1,
          50393 => SysReg::TRBPTR_EL1,
          50394 => SysReg::TRBBASER_EL1,
          50395 => SysReg::TRBSR_EL1,
          50396 => SysReg::TRBMAR_EL1,
          50397 => SysReg::TRBMPAM_EL1,
          50398 => SysReg::TRBTRG_EL1,
          50399 => SysReg::TRBIDR_EL1,
          50411 => SysReg::PMSSCR_EL1,
          50417 => SysReg::PMINTENSET_EL1,
          50418 => SysReg::PMINTENCLR_EL1,
          50420 => SysReg::PMUACR_EL1,
          50421 => SysReg::PMECR_EL1,
          50422 => SysReg::PMMIR_EL1,
          50423 => SysReg::PMIAR_EL1,
          50448 => SysReg::MAIR_EL1,
          50449 => SysReg::MAIR2_EL1,
          50450 => SysReg::PIRE0_EL1,
          50451 => SysReg::PIR_EL1,
          50452 => SysReg::POR_EL1,
          50453 => SysReg::S2POR_EL1,
          50456 => SysReg::AMAIR_EL1,
          50457 => SysReg::AMAIR2_EL1,
          50464 => SysReg::LORSA_EL1,
          50465 => SysReg::LOREA_EL1,
          50466 => SysReg::LORN_EL1,
          50467 => SysReg::LORC_EL1,
          50468 => SysReg::MPAMIDR_EL1,
          50469 => SysReg::MPAMBWIDR_EL1,
          50471 => SysReg::LORID_EL1,
          50472 => SysReg::MPAM1_EL1,
          50473 => SysReg::MPAM0_EL1,
          50475 => SysReg::MPAMSM_EL1,
          50476 => SysReg::MPAMBW1_EL1,
          50477 => SysReg::MPAMBW0_EL1,
          50479 => SysReg::MPAMBWSM_EL1,
          50688 => SysReg::VBAR_EL1,
          50689 => SysReg::RVBAR_EL1,
          50690 => SysReg::RMR_EL1,
          50696 => SysReg::ISR_EL1,
          50697 => SysReg::DISR_EL1,
          50752 => SysReg::ICC_IAR0_EL1,
          50753 => SysReg::ICC_EOIR0_EL1,
          50754 => SysReg::ICC_HPPIR0_EL1,
          50755 => SysReg::ICC_BPR0_EL1,
          50756 => SysReg::ICC_AP0R0_EL1,
          50757 => SysReg::ICC_AP0R1_EL1,
          50758 => SysReg::ICC_AP0R2_EL1,
          50759 => SysReg::ICC_AP0R3_EL1,
          50760 => SysReg::ICC_AP1R0_EL1,
          50761 => SysReg::ICC_AP1R1_EL1,
          50762 => SysReg::ICC_AP1R2_EL1,
          50763 => SysReg::ICC_AP1R3_EL1,
          50765 => SysReg::ICC_NMIAR1_EL1,
          50777 => SysReg::ICC_DIR_EL1,
          50779 => SysReg::ICC_RPR_EL1,
          50781 => SysReg::ICC_SGI1R_EL1,
          50782 => SysReg::ICC_ASGI1R_EL1,
          50783 => SysReg::ICC_SGI0R_EL1,
          50784 => SysReg::ICC_IAR1_EL1,
          50785 => SysReg::ICC_EOIR1_EL1,
          50786 => SysReg::ICC_HPPIR1_EL1,
          50787 => SysReg::ICC_BPR1_EL1,
          50788 => SysReg::ICC_CTLR_EL1,
          50789 => SysReg::ICC_SRE_EL1,
          50790 => SysReg::ICC_IGRPEN0_EL1,
          50791 => SysReg::ICC_IGRPEN1_EL1,
          50817 => SysReg::CONTEXTIDR_EL1,
          50819 => SysReg::RCWSMASK_EL1,
          50820 => SysReg::TPIDR_EL1,
          50821 => SysReg::ACCDATA_EL1,
          50822 => SysReg::RCWMASK_EL1,
          50823 => SysReg::SCXTNUM_EL1,
          50952 => SysReg::CNTKCTL_EL1,
          51200 => SysReg::CCSIDR_EL1,
          51201 => SysReg::CLIDR_EL1,
          51202 => SysReg::CCSIDR2_EL1,
          51204 => SysReg::GMID_EL1,
          51206 => SysReg::SMIDR_EL1,
          51207 => SysReg::AIDR_EL1,
          53248 => SysReg::CSSELR_EL1,
          55297 => SysReg::CTR_EL0,
          55303 => SysReg::DCZID_EL0,
          55584 => SysReg::RNDR,
          55585 => SysReg::RNDRRS,
          55593 => SysReg::GCSPR_EL0,
          55824 => SysReg::NZCV,
          55825 => SysReg::DAIF,
          55826 => SysReg::SVCR,
          55829 => SysReg::DIT,
          55830 => SysReg::SSBS,
          55831 => SysReg::TCO,
          55840 => SysReg::FPCR,
          55841 => SysReg::FPSR,
          55842 => SysReg::FPMR,
          55848 => SysReg::DSPSR_EL0,
          55849 => SysReg::DLR_EL0,
          56480 => SysReg::PMICNTR_EL0,
          56496 => SysReg::PMICFILTR_EL0,
          56544 => SysReg::PMCR_EL0,
          56545 => SysReg::PMCNTENSET_EL0,
          56546 => SysReg::PMCNTENCLR_EL0,
          56547 => SysReg::PMOVSCLR_EL0,
          56548 => SysReg::PMSWINC_EL0,
          56549 => SysReg::PMSELR_EL0,
          56550 => SysReg::PMCEID0_EL0,
          56551 => SysReg::PMCEID1_EL0,
          56552 => SysReg::PMCCNTR_EL0,
          56553 => SysReg::PMXEVTYPER_EL0,
          56554 => SysReg::PMXEVCNTR_EL0,
          56556 => SysReg::PMZR_EL0,
          56560 => SysReg::PMUSERENR_EL0,
          56563 => SysReg::PMOVSSET_EL0,
          56596 => SysReg::POR_EL0,
          56962 => SysReg::TPIDR_EL0,
          56963 => SysReg::TPIDRRO_EL0,
          56965 => SysReg::TPIDR2_EL0,
          56967 => SysReg::SCXTNUM_EL0,
          56976 => SysReg::AMCR_EL0,
          56977 => SysReg::AMCFGR_EL0,
          56978 => SysReg::AMCGCR_EL0,
          56979 => SysReg::AMUSERENR_EL0,
          56980 => SysReg::AMCNTENCLR0_EL0,
          56981 => SysReg::AMCNTENSET0_EL0,
          56982 => SysReg::AMCG1IDR_EL0,
          56984 => SysReg::AMCNTENCLR1_EL0,
          56985 => SysReg::AMCNTENSET1_EL0,
          56992 => SysReg::AMEVCNTR00_EL0,
          56993 => SysReg::AMEVCNTR01_EL0,
          56994 => SysReg::AMEVCNTR02_EL0,
          56995 => SysReg::AMEVCNTR03_EL0,
          57008 => SysReg::AMEVTYPER00_EL0,
          57009 => SysReg::AMEVTYPER01_EL0,
          57010 => SysReg::AMEVTYPER02_EL0,
          57011 => SysReg::AMEVTYPER03_EL0,
          57056 => SysReg::AMEVCNTR10_EL0,
          57057 => SysReg::AMEVCNTR11_EL0,
          57058 => SysReg::AMEVCNTR12_EL0,
          57059 => SysReg::AMEVCNTR13_EL0,
          57060 => SysReg::AMEVCNTR14_EL0,
          57061 => SysReg::AMEVCNTR15_EL0,
          57062 => SysReg::AMEVCNTR16_EL0,
          57063 => SysReg::AMEVCNTR17_EL0,
          57064 => SysReg::AMEVCNTR18_EL0,
          57065 => SysReg::AMEVCNTR19_EL0,
          57066 => SysReg::AMEVCNTR110_EL0,
          57067 => SysReg::AMEVCNTR111_EL0,
          57068 => SysReg::AMEVCNTR112_EL0,
          57069 => SysReg::AMEVCNTR113_EL0,
          57070 => SysReg::AMEVCNTR114_EL0,
          57071 => SysReg::AMEVCNTR115_EL0,
          57072 => SysReg::AMEVTYPER10_EL0,
          57073 => SysReg::AMEVTYPER11_EL0,
          57074 => SysReg::AMEVTYPER12_EL0,
          57075 => SysReg::AMEVTYPER13_EL0,
          57076 => SysReg::AMEVTYPER14_EL0,
          57077 => SysReg::AMEVTYPER15_EL0,
          57078 => SysReg::AMEVTYPER16_EL0,
          57079 => SysReg::AMEVTYPER17_EL0,
          57080 => SysReg::AMEVTYPER18_EL0,
          57081 => SysReg::AMEVTYPER19_EL0,
          57082 => SysReg::AMEVTYPER110_EL0,
          57083 => SysReg::AMEVTYPER111_EL0,
          57084 => SysReg::AMEVTYPER112_EL0,
          57085 => SysReg::AMEVTYPER113_EL0,
          57086 => SysReg::AMEVTYPER114_EL0,
          57087 => SysReg::AMEVTYPER115_EL0,
          57088 => SysReg::CNTFRQ_EL0,
          57089 => SysReg::CNTPCT_EL0,
          57090 => SysReg::CNTVCT_EL0,
          57093 => SysReg::CNTPCTSS_EL0,
          57094 => SysReg::CNTVCTSS_EL0,
          57104 => SysReg::CNTP_TVAL_EL0,
          57105 => SysReg::CNTP_CTL_EL0,
          57106 => SysReg::CNTP_CVAL_EL0,
          57112 => SysReg::CNTV_TVAL_EL0,
          57113 => SysReg::CNTV_CTL_EL0,
          57114 => SysReg::CNTV_CVAL_EL0,
          57152 => SysReg::PMEVCNTR0_EL0,
          57153 => SysReg::PMEVCNTR1_EL0,
          57154 => SysReg::PMEVCNTR2_EL0,
          57155 => SysReg::PMEVCNTR3_EL0,
          57156 => SysReg::PMEVCNTR4_EL0,
          57157 => SysReg::PMEVCNTR5_EL0,
          57158 => SysReg::PMEVCNTR6_EL0,
          57159 => SysReg::PMEVCNTR7_EL0,
          57160 => SysReg::PMEVCNTR8_EL0,
          57161 => SysReg::PMEVCNTR9_EL0,
          57162 => SysReg::PMEVCNTR10_EL0,
          57163 => SysReg::PMEVCNTR11_EL0,
          57164 => SysReg::PMEVCNTR12_EL0,
          57165 => SysReg::PMEVCNTR13_EL0,
          57166 => SysReg::PMEVCNTR14_EL0,
          57167 => SysReg::PMEVCNTR15_EL0,
          57168 => SysReg::PMEVCNTR16_EL0,
          57169 => SysReg::PMEVCNTR17_EL0,
          57170 => SysReg::PMEVCNTR18_EL0,
          57171 => SysReg::PMEVCNTR19_EL0,
          57172 => SysReg::PMEVCNTR20_EL0,
          57173 => SysReg::PMEVCNTR21_EL0,
          57174 => SysReg::PMEVCNTR22_EL0,
          57175 => SysReg::PMEVCNTR23_EL0,
          57176 => SysReg::PMEVCNTR24_EL0,
          57177 => SysReg::PMEVCNTR25_EL0,
          57178 => SysReg::PMEVCNTR26_EL0,
          57179 => SysReg::PMEVCNTR27_EL0,
          57180 => SysReg::PMEVCNTR28_EL0,
          57181 => SysReg::PMEVCNTR29_EL0,
          57182 => SysReg::PMEVCNTR30_EL0,
          57184 => SysReg::PMEVTYPER0_EL0,
          57185 => SysReg::PMEVTYPER1_EL0,
          57186 => SysReg::PMEVTYPER2_EL0,
          57187 => SysReg::PMEVTYPER3_EL0,
          57188 => SysReg::PMEVTYPER4_EL0,
          57189 => SysReg::PMEVTYPER5_EL0,
          57190 => SysReg::PMEVTYPER6_EL0,
          57191 => SysReg::PMEVTYPER7_EL0,
          57192 => SysReg::PMEVTYPER8_EL0,
          57193 => SysReg::PMEVTYPER9_EL0,
          57194 => SysReg::PMEVTYPER10_EL0,
          57195 => SysReg::PMEVTYPER11_EL0,
          57196 => SysReg::PMEVTYPER12_EL0,
          57197 => SysReg::PMEVTYPER13_EL0,
          57198 => SysReg::PMEVTYPER14_EL0,
          57199 => SysReg::PMEVTYPER15_EL0,
          57200 => SysReg::PMEVTYPER16_EL0,
          57201 => SysReg::PMEVTYPER17_EL0,
          57202 => SysReg::PMEVTYPER18_EL0,
          57203 => SysReg::PMEVTYPER19_EL0,
          57204 => SysReg::PMEVTYPER20_EL0,
          57205 => SysReg::PMEVTYPER21_EL0,
          57206 => SysReg::PMEVTYPER22_EL0,
          57207 => SysReg::PMEVTYPER23_EL0,
          57208 => SysReg::PMEVTYPER24_EL0,
          57209 => SysReg::PMEVTYPER25_EL0,
          57210 => SysReg::PMEVTYPER26_EL0,
          57211 => SysReg::PMEVTYPER27_EL0,
          57212 => SysReg::PMEVTYPER28_EL0,
          57213 => SysReg::PMEVTYPER29_EL0,
          57214 => SysReg::PMEVTYPER30_EL0,
          57215 => SysReg::PMCCFILTR_EL0,
          57344 => SysReg::VPIDR_EL2,
          57348 => SysReg::MPUIR_EL2,
          57349 => SysReg::VMPIDR_EL2,
          57472 => SysReg::SCTLR_EL2,
          57473 => SysReg::ACTLR_EL2,
          57475 => SysReg::SCTLR2_EL2,
          57480 => SysReg::HCR_EL2,
          57481 => SysReg::MDCR_EL2,
          57482 => SysReg::CPTR_EL2,
          57483 => SysReg::HSTR_EL2,
          57484 => SysReg::HFGRTR_EL2,
          57485 => SysReg::HFGWTR_EL2,
          57486 => SysReg::HFGITR_EL2,
          57487 => SysReg::HACR_EL2,
          57488 => SysReg::ZCR_EL2,
          57489 => SysReg::TRFCR_EL2,
          57490 => SysReg::HCRX_EL2,
          57491 => SysReg::TRCITECR_EL2,
          57493 => SysReg::SMPRIMAP_EL2,
          57494 => SysReg::SMCR_EL2,
          57497 => SysReg::SDER32_EL2,
          57504 => SysReg::SCTLRMASK_EL2,
          57505 => SysReg::ACTLRMASK_EL2,
          57506 => SysReg::CPTRMASK_EL2,
          57507 => SysReg::SCTLR2MASK_EL2,
          57600 => SysReg::TTBR0_EL2,

          57601 => SysReg::TTBR1_EL2,
          57602 => SysReg::TCR_EL2,
          57603 => SysReg::TCR2_EL2,
          57608 => SysReg::VTTBR_EL2,
          57610 => SysReg::VTCR_EL2,
          57616 => SysReg::VNCR_EL2,
          57626 => SysReg::HDBSSBR_EL2,
          57627 => SysReg::HDBSSPROD_EL2,
          57628 => SysReg::HACDBSBR_EL2,
          57629 => SysReg::HACDBSCONS_EL2,
          57640 => SysReg::GCSCR_EL2,
          57641 => SysReg::GCSPR_EL2,
          57648 => SysReg::VSTTBR_EL2,
          57650 => SysReg::VSTCR_EL2,
          57658 => SysReg::TCRMASK_EL2,
          57659 => SysReg::TCR2MASK_EL2,
          57728 => SysReg::DACR32_EL2,
          57736 => SysReg::HDFGRTR2_EL2,
          57737 => SysReg::HDFGWTR2_EL2,
          57738 => SysReg::HFGRTR2_EL2,
          57739 => SysReg::HFGWTR2_EL2,
          57740 => SysReg::HDFGRTR_EL2,
          57741 => SysReg::HDFGWTR_EL2,
          57742 => SysReg::HAFGRTR_EL2,
          57743 => SysReg::HFGITR2_EL2,
          57856 => SysReg::SPSR_EL2,
          57857 => SysReg::ELR_EL2,
          57864 => SysReg::SP_EL1,
          57880 => SysReg::SPSR_irq,
          57881 => SysReg::SPSR_abt,
          57882 => SysReg::SPSR_und,
          57883 => SysReg::SPSR_fiq,
          57985 => SysReg::IFSR32_EL2,
          57992 => SysReg::AFSR0_EL2,
          57993 => SysReg::AFSR1_EL2,
          58000 => SysReg::ESR_EL2,
          58003 => SysReg::VSESR_EL2,
          58008 => SysReg::FPEXC32_EL2,
          58032 => SysReg::TFSR_EL2,
          58112 => SysReg::FAR_EL2,
          58116 => SysReg::HPFAR_EL2,
          58117 => SysReg::PFAR_EL2,
          58121 => SysReg::PRENR_EL2,
          58129 => SysReg::PRSELR_EL2,
          58176 => SysReg::PRBAR_EL2,
          58177 => SysReg::PRLAR_EL2,
          58180 => SysReg::PRBAR1_EL2,
          58181 => SysReg::PRLAR1_EL2,
          58184 => SysReg::PRBAR2_EL2,
          58185 => SysReg::PRLAR2_EL2,
          58188 => SysReg::PRBAR3_EL2,
          58189 => SysReg::PRLAR3_EL2,
          58192 => SysReg::PRBAR4_EL2,
          58193 => SysReg::PRLAR4_EL2,
          58196 => SysReg::PRBAR5_EL2,
          58197 => SysReg::PRLAR5_EL2,
          58200 => SysReg::PRBAR6_EL2,
          58201 => SysReg::PRLAR6_EL2,
          58204 => SysReg::PRBAR7_EL2,
          58205 => SysReg::PRLAR7_EL2,
          58208 => SysReg::PRBAR8_EL2,
          58209 => SysReg::PRLAR8_EL2,
          58212 => SysReg::PRBAR9_EL2,
          58213 => SysReg::PRLAR9_EL2,
          58216 => SysReg::PRBAR10_EL2,
          58217 => SysReg::PRLAR10_EL2,
          58220 => SysReg::PRBAR11_EL2,
          58221 => SysReg::PRLAR11_EL2,
          58224 => SysReg::PRBAR12_EL2,
          58225 => SysReg::PRLAR12_EL2,
          58228 => SysReg::PRBAR13_EL2,
          58229 => SysReg::PRLAR13_EL2,
          58232 => SysReg::PRBAR14_EL2,
          58233 => SysReg::PRLAR14_EL2,
          58236 => SysReg::PRBAR15_EL2,
          58237 => SysReg::PRLAR15_EL2,
          58568 => SysReg::PMSCR_EL2,
          58579 => SysReg::PMBSR_EL2,
          58587 => SysReg::TRBSR_EL2,
          58633 => SysReg::MAIR2_EL2,
          58640 => SysReg::MAIR_EL2,
          58642 => SysReg::PIRE0_EL2,
          58643 => SysReg::PIR_EL2,
          58644 => SysReg::POR_EL2,
          58645 => SysReg::S2PIR_EL2,
          58648 => SysReg::AMAIR_EL2,
          58649 => SysReg::AMAIR2_EL2,
          58656 => SysReg::MPAMHCR_EL2,
          58657 => SysReg::MPAMVPMV_EL2,
          58664 => SysReg::MPAM2_EL2,
          58668 => SysReg::MPAMBW2_EL2,
          58670 => SysReg::MPAMBWCAP_EL2,
          58672 => SysReg::MPAMVPM0_EL2,
          58673 => SysReg::MPAMVPM1_EL2,
          58674 => SysReg::MPAMVPM2_EL2,
          58675 => SysReg::MPAMVPM3_EL2,
          58676 => SysReg::MPAMVPM4_EL2,
          58677 => SysReg::MPAMVPM5_EL2,
          58678 => SysReg::MPAMVPM6_EL2,
          58679 => SysReg::MPAMVPM7_EL2,
          58688 => SysReg::MECID_P0_EL2,
          58689 => SysReg::MECID_A0_EL2,
          58690 => SysReg::MECID_P1_EL2,
          58691 => SysReg::MECID_A1_EL2,
          58695 => SysReg::MECIDR_EL2,
          58696 => SysReg::VMECID_P_EL2,
          58697 => SysReg::VMECID_A_EL2,
          58880 => SysReg::VBAR_EL2,
          58881 => SysReg::RVBAR_EL2,
          58882 => SysReg::RMR_EL2,
          58889 => SysReg::VDISR_EL2,
          58944 => SysReg::ICH_AP0R0_EL2,
          58945 => SysReg::ICH_AP0R1_EL2,
          58946 => SysReg::ICH_AP0R2_EL2,
          58947 => SysReg::ICH_AP0R3_EL2,
          58952 => SysReg::ICH_AP1R0_EL2,
          58953 => SysReg::ICH_AP1R1_EL2,
          58954 => SysReg::ICH_AP1R2_EL2,
          58955 => SysReg::ICH_AP1R3_EL2,
          58957 => SysReg::ICC_SRE_EL2,
          58968 => SysReg::ICH_HCR_EL2,
          58969 => SysReg::ICH_VTR_EL2,
          58970 => SysReg::ICH_MISR_EL2,
          58971 => SysReg::ICH_EISR_EL2,
          58973 => SysReg::ICH_ELRSR_EL2,
          58975 => SysReg::ICH_VMCR_EL2,
          58976 => SysReg::ICH_LR0_EL2,
          58977 => SysReg::ICH_LR1_EL2,
          58978 => SysReg::ICH_LR2_EL2,
          58979 => SysReg::ICH_LR3_EL2,
          58980 => SysReg::ICH_LR4_EL2,
          58981 => SysReg::ICH_LR5_EL2,
          58982 => SysReg::ICH_LR6_EL2,
          58983 => SysReg::ICH_LR7_EL2,
          58984 => SysReg::ICH_LR8_EL2,
          58985 => SysReg::ICH_LR9_EL2,
          58986 => SysReg::ICH_LR10_EL2,
          58987 => SysReg::ICH_LR11_EL2,
          58988 => SysReg::ICH_LR12_EL2,
          58989 => SysReg::ICH_LR13_EL2,
          58990 => SysReg::ICH_LR14_EL2,
          58991 => SysReg::ICH_LR15_EL2,
          59009 => SysReg::CONTEXTIDR_EL2,
          59010 => SysReg::TPIDR_EL2,
          59015 => SysReg::SCXTNUM_EL2,
          59072 => SysReg::AMEVCNTVOFF00_EL2,
          59073 => SysReg::AMEVCNTVOFF01_EL2,
          59074 => SysReg::AMEVCNTVOFF02_EL2,
          59075 => SysReg::AMEVCNTVOFF03_EL2,
          59076 => SysReg::AMEVCNTVOFF04_EL2,
          59077 => SysReg::AMEVCNTVOFF05_EL2,
          59078 => SysReg::AMEVCNTVOFF06_EL2,
          59079 => SysReg::AMEVCNTVOFF07_EL2,
          59080 => SysReg::AMEVCNTVOFF08_EL2,
          59081 => SysReg::AMEVCNTVOFF09_EL2,
          59082 => SysReg::AMEVCNTVOFF010_EL2,
          59083 => SysReg::AMEVCNTVOFF011_EL2,
          59084 => SysReg::AMEVCNTVOFF012_EL2,
          59085 => SysReg::AMEVCNTVOFF013_EL2,
          59086 => SysReg::AMEVCNTVOFF014_EL2,
          59087 => SysReg::AMEVCNTVOFF015_EL2,
          59088 => SysReg::AMEVCNTVOFF10_EL2,
          59089 => SysReg::AMEVCNTVOFF11_EL2,
          59090 => SysReg::AMEVCNTVOFF12_EL2,
          59091 => SysReg::AMEVCNTVOFF13_EL2,
          59092 => SysReg::AMEVCNTVOFF14_EL2,
          59093 => SysReg::AMEVCNTVOFF15_EL2,
          59094 => SysReg::AMEVCNTVOFF16_EL2,
          59095 => SysReg::AMEVCNTVOFF17_EL2,
          59096 => SysReg::AMEVCNTVOFF18_EL2,
          59097 => SysReg::AMEVCNTVOFF19_EL2,
          59098 => SysReg::AMEVCNTVOFF110_EL2,
          59099 => SysReg::AMEVCNTVOFF111_EL2,
          59100 => SysReg::AMEVCNTVOFF112_EL2,
          59101 => SysReg::AMEVCNTVOFF113_EL2,
          59102 => SysReg::AMEVCNTVOFF114_EL2,
          59103 => SysReg::AMEVCNTVOFF115_EL2,
          59139 => SysReg::CNTVOFF_EL2,
          59140 => SysReg::CNTSCALE_EL2,
          59141 => SysReg::CNTISCALE_EL2,
          59142 => SysReg::CNTPOFF_EL2,
          59143 => SysReg::CNTVFRQ_EL2,
          59144 => SysReg::CNTHCTL_EL2,
          59152 => SysReg::CNTHP_TVAL_EL2,
          59153 => SysReg::CNTHP_CTL_EL2,
          59154 => SysReg::CNTHP_CVAL_EL2,
          59160 => SysReg::CNTHV_TVAL_EL2,
          59161 => SysReg::CNTHV_CTL_EL2,
          59162 => SysReg::CNTHV_CVAL_EL2,
          59168 => SysReg::CNTHVS_TVAL_EL2,
          59169 => SysReg::CNTHVS_CTL_EL2,
          59170 => SysReg::CNTHVS_CVAL_EL2,
          59176 => SysReg::CNTHPS_TVAL_EL2,
          59177 => SysReg::CNTHPS_CTL_EL2,
          59178 => SysReg::CNTHPS_CVAL_EL2,
          59520 => SysReg::SCTLR_EL12,
          59521 => SysReg::ACTLR_EL12,
          59522 => SysReg::CPACR_EL12,
          59523 => SysReg::SCTLR2_EL12,
          59536 => SysReg::ZCR_EL12,
          59537 => SysReg::TRFCR_EL12,
          59539 => SysReg::TRCITECR_EL12,
          59542 => SysReg::SMCR_EL12,
          59552 => SysReg::SCTLRMASK_EL12,
          59553 => SysReg::ACTLRMASK_EL12,
          59554 => SysReg::CPACRMASK_EL12,
          59555 => SysReg::SCTLR2MASK_EL12,
          59648 => SysReg::TTBR0_EL12,
          59649 => SysReg::TTBR1_EL12,
          59650 => SysReg::TCR_EL12,
          59651 => SysReg::TCR2_EL12,
          59688 => SysReg::GCSCR_EL12,
          59689 => SysReg::GCSPR_EL12,
          59706 => SysReg::TCRMASK_EL12,
          59707 => SysReg::TCR2MASK_EL12,
          59904 => SysReg::SPSR_EL12,
          59905 => SysReg::ELR_EL12,
          60040 => SysReg::AFSR0_EL12,
          60041 => SysReg::AFSR1_EL12,
          60048 => SysReg::ESR_EL12,
          60080 => SysReg::TFSR_EL12,
          60160 => SysReg::FAR_EL12,
          60165 => SysReg::PFAR_EL12,
          60616 => SysReg::PMSCR_EL12,
          60627 => SysReg::PMBSR_EL12,
          60635 => SysReg::TRBSR_EL12,
          60688 => SysReg::MAIR_EL12,
          60689 => SysReg::MAIR2_EL12,
          60690 => SysReg::PIRE0_EL12,
          60691 => SysReg::PIR_EL12,
          60692 => SysReg::POR_EL12,
          60696 => SysReg::AMAIR_EL12,
          60697 => SysReg::AMAIR2_EL12,
          60712 => SysReg::MPAM1_EL12,
          60716 => SysReg::MPAMBW1_EL12,
          60928 => SysReg::VBAR_EL12,
          61057 => SysReg::CONTEXTIDR_EL12,
          61063 => SysReg::SCXTNUM_EL12,
          61192 => SysReg::CNTKCTL_EL12,
          61200 => SysReg::CNTP_TVAL_EL02,
          61201 => SysReg::CNTP_CTL_EL02,
          61202 => SysReg::CNTP_CVAL_EL02,
          61208 => SysReg::CNTV_TVAL_EL02,
          61209 => SysReg::CNTV_CTL_EL02,
          61210 => SysReg::CNTV_CVAL_EL02,
          61568 => SysReg::SCTLR_EL3,
          61569 => SysReg::ACTLR_EL3,
          61571 => SysReg::SCTLR2_EL3,
          61576 => SysReg::SCR_EL3,
          61577 => SysReg::SDER32_EL3,
          61578 => SysReg::CPTR_EL3,
          61581 => SysReg::FGWTE3_EL3,
          61584 => SysReg::ZCR_EL3,
          61590 => SysReg::SMCR_EL3,
          61593 => SysReg::MDCR_EL3,
          61696 => SysReg::TTBR0_EL3,
          61698 => SysReg::TCR_EL3,
          61708 => SysReg::GPTBR_EL3,
          61709 => SysReg::GPCBW_EL3,
          61710 => SysReg::GPCCR_EL3,
          61736 => SysReg::GCSCR_EL3,
          61737 => SysReg::GCSPR_EL3,
          61952 => SysReg::SPSR_EL3,
          61953 => SysReg::ELR_EL3,
          61960 => SysReg::SP_EL2,
          62088 => SysReg::AFSR0_EL3,
          62089 => SysReg::AFSR1_EL3,
          62096 => SysReg::ESR_EL3,
          62099 => SysReg::VSESR_EL3,
          62128 => SysReg::TFSR_EL3,
          62208 => SysReg::FAR_EL3,
          62213 => SysReg::MFAR_EL3,
          62675 => SysReg::PMBSR_EL3,
          62683 => SysReg::TRBSR_EL3,
          62729 => SysReg::MAIR2_EL3,
          62736 => SysReg::MAIR_EL3,
          62739 => SysReg::PIR_EL3,
          62740 => SysReg::POR_EL3,
          62744 => SysReg::AMAIR_EL3,
          62745 => SysReg::AMAIR2_EL3,
          62760 => SysReg::MPAM3_EL3,
          62764 => SysReg::MPAMBW3_EL3,
          62801 => SysReg::MECID_RL_A_EL3,
          62976 => SysReg::VBAR_EL3,
          62977 => SysReg::RVBAR_EL3,
          62978 => SysReg::RMR_EL3,
          62985 => SysReg::VDISR_EL3,
          63076 => SysReg::ICC_CTLR_EL3,
          63077 => SysReg::ICC_SRE_EL3,
          63079 => SysReg::ICC_IGRPEN1_EL3,
          63106 => SysReg::TPIDR_EL3,
          63111 => SysReg::SCXTNUM_EL3,
          65296 => SysReg::CNTPS_TVAL_EL1,
          65297 => SysReg::CNTPS_CTL_EL1,
          65298 => SysReg::CNTPS_CVAL_EL1,
          1254 => SysReg::NUM_TARGET_SYSREGS,
          _ => SysReg::UNKNOWN(value),
        }
    }
}
