@@ -41,261 +41,6 @@ read_only global CV_TypeId cv_type_id_variadic = 0xFFFFFFFF;
4141////////////////////////////////
4242//~ rjf: Registers
4343
44- // X(NAME, CODE, (RDI_RegCode_X86) NAME, BYTE_POS, BYTE_SIZE)
45- #define CV_Reg_X86_XList (X ) \
46- X(NONE, 0, nil, 0, 0) \
47- X(AL, 1, eax, 0, 1) \
48- X(CL, 2, ecx, 0, 1) \
49- X(DL, 3, edx, 0, 1) \
50- X(BL, 4, ebx, 0, 1) \
51- X(AH, 5, eax, 1, 1) \
52- X(CH, 6, ecx, 1, 1) \
53- X(DH, 7, edx, 1, 1) \
54- X(BH, 8, ebx, 1, 1) \
55- X(AX, 9, eax, 0, 2) \
56- X(CX, 10, ecx, 0, 2) \
57- X(DX, 11, edx, 0, 2) \
58- X(BX, 12, ebx, 0, 2) \
59- X(SP, 13, esp, 0, 2) \
60- X(BP, 14, ebp, 0, 2) \
61- X(SI, 15, esi, 0, 2) \
62- X(DI, 16, edi, 0, 2) \
63- X(EAX, 17, eax, 0, 4) \
64- X(ECX, 18, ecx, 0, 4) \
65- X(EDX, 19, edx, 0, 4) \
66- X(EBX, 20, ebx, 0, 4) \
67- X(ESP, 21, esp, 0, 4) \
68- X(EBP, 22, ebp, 0, 4) \
69- X(ESI, 23, esi, 0, 4) \
70- X(EDI, 24, edi, 0, 4) \
71- X(ES, 25, es, 0, 2) \
72- X(CS, 26, cs, 0, 2) \
73- X(SS, 27, ss, 0, 2) \
74- X(DS, 28, ds, 0, 2) \
75- X(FS, 29, fs, 0, 2) \
76- X(GS, 30, gs, 0, 2) \
77- X(IP, 31, eip, 0, 2) \
78- X(FLAGS, 32, eflags, 0, 2) \
79- X(EIP, 33, eip, 0, 4) \
80- X(EFLAGS, 34, eflags, 0, 4) \
81- X(MM0, 146, st0, 0, 8) \
82- X(MM1, 147, st1, 0, 8) \
83- X(MM2, 148, st2, 0, 8) \
84- X(MM3, 149, st3, 0, 8) \
85- X(MM4, 150, st4, 0, 8) \
86- X(MM5, 151, st5, 0, 8) \
87- X(MM6, 152, st6, 0, 8) \
88- X(MM7, 153, st7, 0, 8) \
89- X(XMM0, 154, ymm0, 0, 16) \
90- X(XMM1, 155, ymm1, 0, 16) \
91- X(XMM2, 156, ymm2, 0, 16) \
92- X(XMM3, 157, ymm3, 0, 16) \
93- X(XMM4, 158, ymm4, 0, 16) \
94- X(XMM5, 159, ymm5, 0, 16) \
95- X(XMM6, 160, ymm6, 0, 16) \
96- X(XMM7, 161, ymm7, 0, 16) \
97- X(XMM00, 162, ymm0, 0, 4) \
98- X(XMM01, 163, ymm0, 4, 4) \
99- X(XMM02, 164, ymm0, 8, 4) \
100- X(XMM03, 165, ymm0, 12, 4) \
101- X(XMM10, 166, ymm1, 0, 4) \
102- X(XMM11, 167, ymm1, 4, 4) \
103- X(XMM12, 168, ymm1, 8, 4) \
104- X(XMM13, 169, ymm1, 12, 4) \
105- X(XMM20, 170, ymm2, 0, 4) \
106- X(XMM21, 171, ymm2, 4, 4) \
107- X(XMM22, 172, ymm2, 8, 4) \
108- X(XMM23, 173, ymm2, 12, 4) \
109- X(XMM30, 174, ymm3, 0, 4) \
110- X(XMM31, 175, ymm3, 4, 4) \
111- X(XMM32, 176, ymm3, 8, 4) \
112- X(XMM33, 177, ymm3, 12, 4) \
113- X(XMM40, 178, ymm4, 0, 4) \
114- X(XMM41, 179, ymm4, 4, 4) \
115- X(XMM42, 180, ymm4, 8, 4) \
116- X(XMM43, 181, ymm4, 12, 4) \
117- X(XMM50, 182, ymm5, 0, 4) \
118- X(XMM51, 183, ymm5, 4, 4) \
119- X(XMM52, 184, ymm5, 8, 4) \
120- X(XMM53, 185, ymm5, 12, 4) \
121- X(XMM60, 186, ymm6, 0, 4) \
122- X(XMM61, 187, ymm6, 4, 4) \
123- X(XMM62, 188, ymm6, 8, 4) \
124- X(XMM63, 189, ymm6, 12, 4) \
125- X(XMM70, 190, ymm7, 0, 4) \
126- X(XMM71, 191, ymm7, 4, 4) \
127- X(XMM72, 192, ymm7, 8, 4) \
128- X(XMM73, 193, ymm7, 12, 4) \
129- X(XMM0L, 194, ymm0, 0, 8) \
130- X(XMM1L, 195, ymm1, 0, 8) \
131- X(XMM2L, 196, ymm2, 0, 8) \
132- X(XMM3L, 197, ymm3, 0, 8) \
133- X(XMM4L, 198, ymm4, 0, 8) \
134- X(XMM5L, 199, ymm5, 0, 8) \
135- X(XMM6L, 200, ymm6, 0, 8) \
136- X(XMM7L, 201, ymm7, 0, 8) \
137- X(XMM0H, 202, ymm0, 8, 8) \
138- X(XMM1H, 203, ymm1, 8, 8) \
139- X(XMM2H, 204, ymm2, 8, 8) \
140- X(XMM3H, 205, ymm3, 8, 8) \
141- X(XMM4H, 206, ymm4, 8, 8) \
142- X(XMM5H, 207, ymm5, 8, 8) \
143- X(XMM6H, 208, ymm6, 8, 8) \
144- X(XMM7H, 209, ymm7, 8, 8) \
145- X(YMM0, 252, ymm0, 0, 32) \
146- X(YMM1, 253, ymm1, 0, 32) \
147- X(YMM2, 254, ymm2, 0, 32) \
148- X(YMM3, 255, ymm3, 0, 32) \
149- X(YMM4, 256, ymm4, 0, 32) \
150- X(YMM5, 257, ymm5, 0, 32) \
151- X(YMM6, 258, ymm6, 0, 32) \
152- X(YMM7, 259, ymm7, 0, 32) \
153- X(YMM0H, 260, ymm0, 16, 16) \
154- X(YMM1H, 261, ymm1, 16, 16) \
155- X(YMM2H, 262, ymm2, 16, 16) \
156- X(YMM3H, 263, ymm3, 16, 16) \
157- X(YMM4H, 264, ymm4, 16, 16) \
158- X(YMM5H, 265, ymm5, 16, 16) \
159- X(YMM6H, 266, ymm6, 16, 16) \
160- X(YMM7H, 267, ymm7, 16, 16) \
161- X(YMM0I0, 268, ymm0, 0, 8) \
162- X(YMM0I1, 269, ymm0, 8, 8) \
163- X(YMM0I2, 270, ymm0, 16, 8) \
164- X(YMM0I3, 271, ymm0, 24, 8) \
165- X(YMM1I0, 272, ymm1, 0, 8) \
166- X(YMM1I1, 273, ymm1, 8, 8) \
167- X(YMM1I2, 274, ymm1, 16, 8) \
168- X(YMM1I3, 275, ymm1, 24, 8) \
169- X(YMM2I0, 276, ymm2, 0, 8) \
170- X(YMM2I1, 277, ymm2, 8, 8) \
171- X(YMM2I2, 278, ymm2, 16, 8) \
172- X(YMM2I3, 279, ymm2, 24, 8) \
173- X(YMM3I0, 280, ymm3, 0, 8) \
174- X(YMM3I1, 281, ymm3, 8, 8) \
175- X(YMM3I2, 282, ymm3, 16, 8) \
176- X(YMM3I3, 283, ymm3, 24, 8) \
177- X(YMM4I0, 284, ymm4, 0, 8) \
178- X(YMM4I1, 285, ymm4, 8, 8) \
179- X(YMM4I2, 286, ymm4, 16, 8) \
180- X(YMM4I3, 287, ymm4, 24, 8) \
181- X(YMM5I0, 288, ymm5, 0, 8) \
182- X(YMM5I1, 289, ymm5, 8, 8) \
183- X(YMM5I2, 290, ymm5, 16, 8) \
184- X(YMM5I3, 291, ymm5, 24, 8) \
185- X(YMM6I0, 292, ymm6, 0, 8) \
186- X(YMM6I1, 293, ymm6, 8, 8) \
187- X(YMM6I2, 294, ymm6, 16, 8) \
188- X(YMM6I3, 295, ymm6, 24, 8) \
189- X(YMM7I0, 296, ymm7, 0, 8) \
190- X(YMM7I1, 297, ymm7, 8, 8) \
191- X(YMM7I2, 298, ymm7, 16, 8) \
192- X(YMM7I3, 299, ymm7, 24, 8) \
193- X(YMM0F0, 300, ymm0, 0, 4) \
194- X(YMM0F1, 301, ymm0, 4, 4) \
195- X(YMM0F2, 302, ymm0, 8, 4) \
196- X(YMM0F3, 303, ymm0, 12, 4) \
197- X(YMM0F4, 304, ymm0, 16, 4) \
198- X(YMM0F5, 305, ymm0, 20, 4) \
199- X(YMM0F6, 306, ymm0, 24, 4) \
200- X(YMM0F7, 307, ymm0, 28, 4) \
201- X(YMM1F0, 308, ymm1, 0, 4) \
202- X(YMM1F1, 309, ymm1, 4, 4) \
203- X(YMM1F2, 310, ymm1, 8, 4) \
204- X(YMM1F3, 311, ymm1, 12, 4) \
205- X(YMM1F4, 312, ymm1, 16, 4) \
206- X(YMM1F5, 313, ymm1, 20, 4) \
207- X(YMM1F6, 314, ymm1, 24, 4) \
208- X(YMM1F7, 315, ymm1, 28, 4) \
209- X(YMM2F0, 316, ymm2, 0, 4) \
210- X(YMM2F1, 317, ymm2, 4, 4) \
211- X(YMM2F2, 318, ymm2, 8, 4) \
212- X(YMM2F3, 319, ymm2, 12, 4) \
213- X(YMM2F4, 320, ymm2, 16, 4) \
214- X(YMM2F5, 321, ymm2, 20, 4) \
215- X(YMM2F6, 322, ymm2, 24, 4) \
216- X(YMM2F7, 323, ymm2, 28, 4) \
217- X(YMM3F0, 324, ymm3, 0, 4) \
218- X(YMM3F1, 325, ymm3, 4, 4) \
219- X(YMM3F2, 326, ymm3, 8, 4) \
220- X(YMM3F3, 327, ymm3, 12, 4) \
221- X(YMM3F4, 328, ymm3, 16, 4) \
222- X(YMM3F5, 329, ymm3, 20, 4) \
223- X(YMM3F6, 330, ymm3, 24, 4) \
224- X(YMM3F7, 331, ymm3, 28, 4) \
225- X(YMM4F0, 332, ymm4, 0, 4) \
226- X(YMM4F1, 333, ymm4, 4, 4) \
227- X(YMM4F2, 334, ymm4, 8, 4) \
228- X(YMM4F3, 335, ymm4, 12, 4) \
229- X(YMM4F4, 336, ymm4, 16, 4) \
230- X(YMM4F5, 337, ymm4, 20, 4) \
231- X(YMM4F6, 338, ymm4, 24, 4) \
232- X(YMM4F7, 339, ymm4, 28, 4) \
233- X(YMM5F0, 340, ymm5, 0, 4) \
234- X(YMM5F1, 341, ymm5, 4, 4) \
235- X(YMM5F2, 342, ymm5, 8, 4) \
236- X(YMM5F3, 343, ymm5, 12, 4) \
237- X(YMM5F4, 344, ymm5, 16, 4) \
238- X(YMM5F5, 345, ymm5, 20, 4) \
239- X(YMM5F6, 346, ymm5, 24, 4) \
240- X(YMM5F7, 347, ymm5, 28, 4) \
241- X(YMM6F0, 348, ymm6, 0, 4) \
242- X(YMM6F1, 349, ymm6, 4, 4) \
243- X(YMM6F2, 350, ymm6, 8, 4) \
244- X(YMM6F3, 351, ymm6, 12, 4) \
245- X(YMM6F4, 352, ymm6, 16, 4) \
246- X(YMM6F5, 353, ymm6, 20, 4) \
247- X(YMM6F6, 354, ymm6, 24, 4) \
248- X(YMM6F7, 355, ymm6, 28, 4) \
249- X(YMM7F0, 356, ymm7, 0, 4) \
250- X(YMM7F1, 357, ymm7, 4, 4) \
251- X(YMM7F2, 358, ymm7, 8, 4) \
252- X(YMM7F3, 359, ymm7, 12, 4) \
253- X(YMM7F4, 360, ymm7, 16, 4) \
254- X(YMM7F5, 361, ymm7, 20, 4) \
255- X(YMM7F6, 362, ymm7, 24, 4) \
256- X(YMM7F7, 363, ymm7, 28, 4) \
257- X(YMM0D0, 364, ymm0, 0, 8) \
258- X(YMM0D1, 365, ymm0, 8, 8) \
259- X(YMM0D2, 366, ymm0, 16, 8) \
260- X(YMM0D3, 367, ymm0, 24, 8) \
261- X(YMM1D0, 368, ymm1, 0, 8) \
262- X(YMM1D1, 369, ymm1, 8, 8) \
263- X(YMM1D2, 370, ymm1, 16, 8) \
264- X(YMM1D3, 371, ymm1, 24, 8) \
265- X(YMM2D0, 372, ymm2, 0, 8) \
266- X(YMM2D1, 373, ymm2, 8, 8) \
267- X(YMM2D2, 374, ymm2, 16, 8) \
268- X(YMM2D3, 375, ymm2, 24, 8) \
269- X(YMM3D0, 376, ymm3, 0, 8) \
270- X(YMM3D1, 377, ymm3, 8, 8) \
271- X(YMM3D2, 378, ymm3, 16, 8) \
272- X(YMM3D3, 379, ymm3, 24, 8) \
273- X(YMM4D0, 380, ymm4, 0, 8) \
274- X(YMM4D1, 381, ymm4, 8, 8) \
275- X(YMM4D2, 382, ymm4, 16, 8) \
276- X(YMM4D3, 383, ymm4, 24, 8) \
277- X(YMM5D0, 384, ymm5, 0, 8) \
278- X(YMM5D1, 385, ymm5, 8, 8) \
279- X(YMM5D2, 386, ymm5, 16, 8) \
280- X(YMM5D3, 387, ymm5, 24, 8) \
281- X(YMM6D0, 388, ymm6, 0, 8) \
282- X(YMM6D1, 389, ymm6, 8, 8) \
283- X(YMM6D2, 390, ymm6, 16, 8) \
284- X(YMM6D3, 391, ymm6, 24, 8) \
285- X(YMM7D0, 392, ymm7, 0, 8) \
286- X(YMM7D1, 393, ymm7, 8, 8) \
287- X(YMM7D2, 394, ymm7, 16, 8) \
288- X(YMM7D3, 395, ymm7, 24, 8)
289-
290- typedef U16 CV_Regx86 ;
291- typedef enum CV_Regx86Enum
292- {
293- #define X(CVN,C,RDN,BP,BZ) CV_Regx86_##CVN = C,
294- CV_Reg_X86_XList (X )
295- #undef X
296- }
297- CV_Regx86Enum ;
298-
29944// X(NAME, CODE, (RDI_RegisterCode_X64) NAME, BYTE_POS, BYTE_SIZE)
30045#define CV_Reg_X64_XList (X ) \
30146X(NONE, 0, nil, 0, 0) \
@@ -2963,7 +2708,6 @@ struct CV_TypeIndexArray
29632708////////////////////////////////
29642709
29652710internal CV_Arch cv_arch_from_coff_machine (COFF_MachineType machine );
2966- internal U64 cv_size_from_reg_x86 (CV_Reg reg );
29672711internal U64 cv_size_from_reg_x64 (CV_Reg reg );
29682712internal U64 cv_size_from_reg (CV_Arch arch , CV_Reg reg );
29692713internal B32 cv_is_reg_sp (CV_Arch arch , CV_Reg reg );
0 commit comments