67 public static final Register r24 = new Register(24, 24, "r24", CPU);
68 public static final Register r25 = new Register(25, 25, "r25", CPU);
69 public static final Register r26 = new Register(26, 26, "r26", CPU);
70 public static final Register r27 = new Register(27, 27, "r27", CPU);
71 public static final Register r28 = new Register(28, 28, "r28", CPU);
72 public static final Register r29 = new Register(29, 29, "r29", CPU);
73 public static final Register r30 = new Register(30, 30, "r30", CPU);
74
75 /*
76 * r31 is not a general purpose register, but represents either the stackpointer or the
77 * zero/discard register depending on the instruction. So we represent those two uses as two
78 * different registers. The register numbers are kept in sync with register_aarch64.hpp and have
79 * to be sequential, hence we also need a general r31 register here, which is never used.
80 */
81 public static final Register r31 = new Register(31, 31, "r31", CPU);
82 public static final Register zr = new Register(32, 31, "zr", CPU);
83 public static final Register sp = new Register(33, 31, "sp", CPU);
84
85 public static final Register lr = r30;
86
87 // @formatter:off
88 public static final RegisterArray cpuRegisters = new RegisterArray(
89 r0, r1, r2, r3, r4, r5, r6, r7,
90 r8, r9, r10, r11, r12, r13, r14, r15,
91 r16, r17, r18, r19, r20, r21, r22, r23,
92 r24, r25, r26, r27, r28, r29, r30, r31,
93 zr, sp
94 );
95 // @formatter:on
96
97 public static final RegisterCategory SIMD = new RegisterCategory("SIMD");
98
99 // Simd registers
100 public static final Register v0 = new Register(34, 0, "v0", SIMD);
101 public static final Register v1 = new Register(35, 1, "v1", SIMD);
102 public static final Register v2 = new Register(36, 2, "v2", SIMD);
103 public static final Register v3 = new Register(37, 3, "v3", SIMD);
104 public static final Register v4 = new Register(38, 4, "v4", SIMD);
105 public static final Register v5 = new Register(39, 5, "v5", SIMD);
106 public static final Register v6 = new Register(40, 6, "v6", SIMD);
|
67 public static final Register r24 = new Register(24, 24, "r24", CPU);
68 public static final Register r25 = new Register(25, 25, "r25", CPU);
69 public static final Register r26 = new Register(26, 26, "r26", CPU);
70 public static final Register r27 = new Register(27, 27, "r27", CPU);
71 public static final Register r28 = new Register(28, 28, "r28", CPU);
72 public static final Register r29 = new Register(29, 29, "r29", CPU);
73 public static final Register r30 = new Register(30, 30, "r30", CPU);
74
75 /*
76 * r31 is not a general purpose register, but represents either the stackpointer or the
77 * zero/discard register depending on the instruction. So we represent those two uses as two
78 * different registers. The register numbers are kept in sync with register_aarch64.hpp and have
79 * to be sequential, hence we also need a general r31 register here, which is never used.
80 */
81 public static final Register r31 = new Register(31, 31, "r31", CPU);
82 public static final Register zr = new Register(32, 31, "zr", CPU);
83 public static final Register sp = new Register(33, 31, "sp", CPU);
84
85 public static final Register lr = r30;
86
87 // Used by runtime code: cannot be compiler-allocated.
88 public static final Register rscratch1 = r8;
89 public static final Register rscratch2 = r9;
90
91 // @formatter:off
92 public static final RegisterArray cpuRegisters = new RegisterArray(
93 r0, r1, r2, r3, r4, r5, r6, r7,
94 r8, r9, r10, r11, r12, r13, r14, r15,
95 r16, r17, r18, r19, r20, r21, r22, r23,
96 r24, r25, r26, r27, r28, r29, r30, r31,
97 zr, sp
98 );
99 // @formatter:on
100
101 public static final RegisterCategory SIMD = new RegisterCategory("SIMD");
102
103 // Simd registers
104 public static final Register v0 = new Register(34, 0, "v0", SIMD);
105 public static final Register v1 = new Register(35, 1, "v1", SIMD);
106 public static final Register v2 = new Register(36, 2, "v2", SIMD);
107 public static final Register v3 = new Register(37, 3, "v3", SIMD);
108 public static final Register v4 = new Register(38, 4, "v4", SIMD);
109 public static final Register v5 = new Register(39, 5, "v5", SIMD);
110 public static final Register v6 = new Register(40, 6, "v6", SIMD);
|