150 lines · c
1//===-- ARM64_ehframe_Registers.h -------------------------------------*- C++2//-*-===//3//4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.5// See https://llvm.org/LICENSE.txt for license information.6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception7//8//===----------------------------------------------------------------------===//9 10#ifndef LLDB_SOURCE_UTILITY_ARM64_EHFRAME_REGISTERS_H11#define LLDB_SOURCE_UTILITY_ARM64_EHFRAME_REGISTERS_H12 13// The register numbers used in the eh_frame unwind information.14// Should be the same as DWARF register numbers.15 16namespace arm64_ehframe {17 18enum {19 x0 = 0,20 x1,21 x2,22 x3,23 x4,24 x5,25 x6,26 x7,27 x8,28 x9,29 x10,30 x11,31 x12,32 x13,33 x14,34 x15,35 x16,36 x17,37 x18,38 x19,39 x20,40 x21,41 x22,42 x23,43 x24,44 x25,45 x26,46 x27,47 x28,48 fp, // aka x2949 lr, // aka x3050 sp, // aka x31 aka wzr51 pc, // value is 3252 cpsr,53 // 34-45 reserved54 55 // 64-bit SVE Vector granule pseudo register56 vg = 46,57 58 // VG ́8-bit SVE first fault register59 ffr = 47,60 61 // VG x ́8-bit SVE predicate registers62 p0 = 48,63 p1,64 p2,65 p3,66 p4,67 p5,68 p6,69 p7,70 p8,71 p9,72 p10,73 p11,74 p12,75 p13,76 p14,77 p15,78 79 // V0-V31 (128 bit vector registers)80 v0 = 64,81 v1,82 v2,83 v3,84 v4,85 v5,86 v6,87 v7,88 v8,89 v9,90 v10,91 v11,92 v12,93 v13,94 v14,95 v15,96 v16,97 v17,98 v18,99 v19,100 v20,101 v21,102 v22,103 v23,104 v24,105 v25,106 v26,107 v27,108 v28,109 v29,110 v30,111 v31,112 113 // VG ́64-bit SVE vector registers114 z0 = 96,115 z1,116 z2,117 z3,118 z4,119 z5,120 z6,121 z7,122 z8,123 z9,124 z10,125 z11,126 z12,127 z13,128 z14,129 z15,130 z16,131 z17,132 z18,133 z19,134 z20,135 z21,136 z22,137 z23,138 z24,139 z25,140 z26,141 z27,142 z28,143 z29,144 z30,145 z31146};147}148 149#endif // LLDB_SOURCE_UTILITY_ARM64_EHFRAME_REGISTERS_H150