@@ -66,49 +66,68 @@ public class AMD64 extends Architecture {
66
66
public static final Register r14 = new Register (14 , 14 , "r14" , CPU );
67
67
public static final Register r15 = new Register (15 , 15 , "r15" , CPU );
68
68
69
+ public static final Register r16 = new Register (16 , 16 , "r16" , CPU );
70
+ public static final Register r17 = new Register (17 , 17 , "r17" , CPU );
71
+ public static final Register r18 = new Register (18 , 18 , "r18" , CPU );
72
+ public static final Register r19 = new Register (19 , 19 , "r19" , CPU );
73
+ public static final Register r20 = new Register (20 , 20 , "r20" , CPU );
74
+ public static final Register r21 = new Register (21 , 21 , "r21" , CPU );
75
+ public static final Register r22 = new Register (22 , 22 , "r22" , CPU );
76
+ public static final Register r23 = new Register (23 , 23 , "r23" , CPU );
77
+ public static final Register r24 = new Register (24 , 24 , "r24" , CPU );
78
+ public static final Register r25 = new Register (25 , 25 , "r25" , CPU );
79
+ public static final Register r26 = new Register (26 , 26 , "r26" , CPU );
80
+ public static final Register r27 = new Register (27 , 27 , "r27" , CPU );
81
+ public static final Register r28 = new Register (28 , 28 , "r28" , CPU );
82
+ public static final Register r29 = new Register (29 , 29 , "r29" , CPU );
83
+ public static final Register r30 = new Register (30 , 30 , "r30" , CPU );
84
+ public static final Register r31 = new Register (31 , 31 , "r31" , CPU );
85
+
69
86
public static final Register [] cpuRegisters = {
70
87
rax , rcx , rdx , rbx , rsp , rbp , rsi , rdi ,
71
- r8 , r9 , r10 , r11 , r12 , r13 , r14 , r15
88
+ r8 , r9 , r10 , r11 , r12 , r13 , r14 , r15 ,
89
+ r16 , r17 , r18 , r19 , r20 , r21 , r22 , r23 ,
90
+ r24 , r25 , r26 , r27 , r28 , r29 , r30 , r31
72
91
};
73
92
74
93
public static final RegisterCategory XMM = new RegisterCategory ("XMM" );
75
94
76
95
// XMM registers
77
- public static final Register xmm0 = new Register (16 , 0 , "xmm0" , XMM );
78
- public static final Register xmm1 = new Register (17 , 1 , "xmm1" , XMM );
79
- public static final Register xmm2 = new Register (18 , 2 , "xmm2" , XMM );
80
- public static final Register xmm3 = new Register (19 , 3 , "xmm3" , XMM );
81
- public static final Register xmm4 = new Register (20 , 4 , "xmm4" , XMM );
82
- public static final Register xmm5 = new Register (21 , 5 , "xmm5" , XMM );
83
- public static final Register xmm6 = new Register (22 , 6 , "xmm6" , XMM );
84
- public static final Register xmm7 = new Register (23 , 7 , "xmm7" , XMM );
85
-
86
- public static final Register xmm8 = new Register (24 , 8 , "xmm8" , XMM );
87
- public static final Register xmm9 = new Register (25 , 9 , "xmm9" , XMM );
88
- public static final Register xmm10 = new Register (26 , 10 , "xmm10" , XMM );
89
- public static final Register xmm11 = new Register (27 , 11 , "xmm11" , XMM );
90
- public static final Register xmm12 = new Register (28 , 12 , "xmm12" , XMM );
91
- public static final Register xmm13 = new Register (29 , 13 , "xmm13" , XMM );
92
- public static final Register xmm14 = new Register (30 , 14 , "xmm14" , XMM );
93
- public static final Register xmm15 = new Register (31 , 15 , "xmm15" , XMM );
94
-
95
- public static final Register xmm16 = new Register (32 , 16 , "xmm16" , XMM );
96
- public static final Register xmm17 = new Register (33 , 17 , "xmm17" , XMM );
97
- public static final Register xmm18 = new Register (34 , 18 , "xmm18" , XMM );
98
- public static final Register xmm19 = new Register (35 , 19 , "xmm19" , XMM );
99
- public static final Register xmm20 = new Register (36 , 20 , "xmm20" , XMM );
100
- public static final Register xmm21 = new Register (37 , 21 , "xmm21" , XMM );
101
- public static final Register xmm22 = new Register (38 , 22 , "xmm22" , XMM );
102
- public static final Register xmm23 = new Register (39 , 23 , "xmm23" , XMM );
103
-
104
- public static final Register xmm24 = new Register (40 , 24 , "xmm24" , XMM );
105
- public static final Register xmm25 = new Register (41 , 25 , "xmm25" , XMM );
106
- public static final Register xmm26 = new Register (42 , 26 , "xmm26" , XMM );
107
- public static final Register xmm27 = new Register (43 , 27 , "xmm27" , XMM );
108
- public static final Register xmm28 = new Register (44 , 28 , "xmm28" , XMM );
109
- public static final Register xmm29 = new Register (45 , 29 , "xmm29" , XMM );
110
- public static final Register xmm30 = new Register (46 , 30 , "xmm30" , XMM );
111
- public static final Register xmm31 = new Register (47 , 31 , "xmm31" , XMM );
96
+ public static final Register xmm0 = new Register (32 , 0 , "xmm0" , XMM );
97
+ public static final Register xmm1 = new Register (33 , 1 , "xmm1" , XMM );
98
+ public static final Register xmm2 = new Register (34 , 2 , "xmm2" , XMM );
99
+ public static final Register xmm3 = new Register (35 , 3 , "xmm3" , XMM );
100
+ public static final Register xmm4 = new Register (36 , 4 , "xmm4" , XMM );
101
+ public static final Register xmm5 = new Register (37 , 5 , "xmm5" , XMM );
102
+ public static final Register xmm6 = new Register (38 , 6 , "xmm6" , XMM );
103
+ public static final Register xmm7 = new Register (39 , 7 , "xmm7" , XMM );
104
+
105
+ public static final Register xmm8 = new Register (40 , 8 , "xmm8" , XMM );
106
+ public static final Register xmm9 = new Register (41 , 9 , "xmm9" , XMM );
107
+ public static final Register xmm10 = new Register (42 , 10 , "xmm10" , XMM );
108
+ public static final Register xmm11 = new Register (43 , 11 , "xmm11" , XMM );
109
+ public static final Register xmm12 = new Register (44 , 12 , "xmm12" , XMM );
110
+ public static final Register xmm13 = new Register (45 , 13 , "xmm13" , XMM );
111
+ public static final Register xmm14 = new Register (46 , 14 , "xmm14" , XMM );
112
+ public static final Register xmm15 = new Register (47 , 15 , "xmm15" , XMM );
113
+
114
+ public static final Register xmm16 = new Register (48 , 16 , "xmm16" , XMM );
115
+ public static final Register xmm17 = new Register (49 , 17 , "xmm17" , XMM );
116
+ public static final Register xmm18 = new Register (50 , 18 , "xmm18" , XMM );
117
+ public static final Register xmm19 = new Register (51 , 19 , "xmm19" , XMM );
118
+ public static final Register xmm20 = new Register (52 , 20 , "xmm20" , XMM );
119
+ public static final Register xmm21 = new Register (53 , 21 , "xmm21" , XMM );
120
+ public static final Register xmm22 = new Register (54 , 22 , "xmm22" , XMM );
121
+ public static final Register xmm23 = new Register (55 , 23 , "xmm23" , XMM );
122
+
123
+ public static final Register xmm24 = new Register (56 , 24 , "xmm24" , XMM );
124
+ public static final Register xmm25 = new Register (57 , 25 , "xmm25" , XMM );
125
+ public static final Register xmm26 = new Register (58 , 26 , "xmm26" , XMM );
126
+ public static final Register xmm27 = new Register (59 , 27 , "xmm27" , XMM );
127
+ public static final Register xmm28 = new Register (60 , 28 , "xmm28" , XMM );
128
+ public static final Register xmm29 = new Register (61 , 29 , "xmm29" , XMM );
129
+ public static final Register xmm30 = new Register (62 , 30 , "xmm30" , XMM );
130
+ public static final Register xmm31 = new Register (63 , 31 , "xmm31" , XMM );
112
131
113
132
public static final Register [] xmmRegistersSSE = {
114
133
xmm0 , xmm1 , xmm2 , xmm3 , xmm4 , xmm5 , xmm6 , xmm7 ,
@@ -124,14 +143,14 @@ public class AMD64 extends Architecture {
124
143
125
144
public static final RegisterCategory MASK = new RegisterCategory ("MASK" , false );
126
145
127
- public static final Register k0 = new Register (48 , 0 , "k0" , MASK );
128
- public static final Register k1 = new Register (49 , 1 , "k1" , MASK );
129
- public static final Register k2 = new Register (50 , 2 , "k2" , MASK );
130
- public static final Register k3 = new Register (51 , 3 , "k3" , MASK );
131
- public static final Register k4 = new Register (52 , 4 , "k4" , MASK );
132
- public static final Register k5 = new Register (53 , 5 , "k5" , MASK );
133
- public static final Register k6 = new Register (54 , 6 , "k6" , MASK );
134
- public static final Register k7 = new Register (55 , 7 , "k7" , MASK );
146
+ public static final Register k0 = new Register (64 , 0 , "k0" , MASK );
147
+ public static final Register k1 = new Register (65 , 1 , "k1" , MASK );
148
+ public static final Register k2 = new Register (66 , 2 , "k2" , MASK );
149
+ public static final Register k3 = new Register (67 , 3 , "k3" , MASK );
150
+ public static final Register k4 = new Register (68 , 4 , "k4" , MASK );
151
+ public static final Register k5 = new Register (69 , 5 , "k5" , MASK );
152
+ public static final Register k6 = new Register (70 , 6 , "k6" , MASK );
153
+ public static final Register k7 = new Register (71 , 7 , "k7" , MASK );
135
154
136
155
public static final RegisterArray valueRegistersSSE = new RegisterArray (
137
156
rax , rcx , rdx , rbx , rsp , rbp , rsi , rdi ,
@@ -143,6 +162,8 @@ public class AMD64 extends Architecture {
143
162
public static final RegisterArray valueRegistersAVX512 = new RegisterArray (
144
163
rax , rcx , rdx , rbx , rsp , rbp , rsi , rdi ,
145
164
r8 , r9 , r10 , r11 , r12 , r13 , r14 , r15 ,
165
+ r16 , r17 , r18 , r19 , r20 , r21 , r22 , r23 ,
166
+ r24 , r25 , r26 , r27 , r28 , r29 , r30 , r31 ,
146
167
xmm0 , xmm1 , xmm2 , xmm3 , xmm4 , xmm5 , xmm6 , xmm7 ,
147
168
xmm8 , xmm9 , xmm10 , xmm11 , xmm12 , xmm13 , xmm14 , xmm15 ,
148
169
xmm16 , xmm17 , xmm18 , xmm19 , xmm20 , xmm21 , xmm22 , xmm23 ,
@@ -153,7 +174,7 @@ public class AMD64 extends Architecture {
153
174
/**
154
175
* Register used to construct an instruction-relative address.
155
176
*/
156
- public static final Register rip = new Register (56 , -1 , "rip" , SPECIAL );
177
+ public static final Register rip = new Register (72 , -1 , "rip" , SPECIAL );
157
178
158
179
public static final RegisterArray allRegisters = new RegisterArray (
159
180
rax , rcx , rdx , rbx , rsp , rbp , rsi , rdi ,
0 commit comments