]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / contrib / llvm-project / llvm / include / llvm / DebugInfo / CodeView / CodeViewRegisters.def
1 //===-- CodeViewRegisters.def - CodeView registers --------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // See CV_HREG_e in cvconst.h. This should match the constants there.
10 //
11 //===----------------------------------------------------------------------===//
12
13 #ifndef CV_REGISTER
14 #define CV_REGISTER(name, value)
15 #endif
16
17 #if !defined(CV_REGISTERS_ALL) && !defined(CV_REGISTERS_X86) &&                \
18     !defined(CV_REGISTERS_ARM64)
19 #error Need include at least one register set.
20 #endif
21
22 // This currently only contains the "register subset shared by all processor
23 // types" (ERR etc.) and the x86/arm64 registers.
24
25 #if defined(CV_REGISTERS_ALL) || defined(CV_REGISTERS_X86)
26
27 // Some system headers define macros that conflict with our enums. Every
28 // compiler supported by LLVM has the push_macro and pop_macro pragmas, so use
29 // them to avoid the conflict.
30 #pragma push_macro("CR0")
31 #pragma push_macro("CR1")
32 #pragma push_macro("CR2")
33 #pragma push_macro("CR3")
34 #pragma push_macro("CR4")
35
36 CV_REGISTER(ERR, 30000)
37 CV_REGISTER(TEB, 30001)
38 CV_REGISTER(TIMER, 30002)
39 CV_REGISTER(EFAD1, 30003)
40 CV_REGISTER(EFAD2, 30004)
41 CV_REGISTER(EFAD3, 30005)
42 CV_REGISTER(VFRAME, 30006)
43 CV_REGISTER(HANDLE, 30007)
44 CV_REGISTER(PARAMS, 30008)
45 CV_REGISTER(LOCALS, 30009)
46 CV_REGISTER(TID, 30010)
47 CV_REGISTER(ENV, 30011)
48 CV_REGISTER(CMDLN, 30012)
49
50 CV_REGISTER(NONE, 0)
51 CV_REGISTER(AL, 1)
52 CV_REGISTER(CL, 2)
53 CV_REGISTER(DL, 3)
54 CV_REGISTER(BL, 4)
55 CV_REGISTER(AH, 5)
56 CV_REGISTER(CH, 6)
57 CV_REGISTER(DH, 7)
58 CV_REGISTER(BH, 8)
59 CV_REGISTER(AX, 9)
60 CV_REGISTER(CX, 10)
61 CV_REGISTER(DX, 11)
62 CV_REGISTER(BX, 12)
63 CV_REGISTER(SP, 13)
64 CV_REGISTER(BP, 14)
65 CV_REGISTER(SI, 15)
66 CV_REGISTER(DI, 16)
67 CV_REGISTER(EAX, 17)
68 CV_REGISTER(ECX, 18)
69 CV_REGISTER(EDX, 19)
70 CV_REGISTER(EBX, 20)
71 CV_REGISTER(ESP, 21)
72 CV_REGISTER(EBP, 22)
73 CV_REGISTER(ESI, 23)
74 CV_REGISTER(EDI, 24)
75 CV_REGISTER(ES, 25)
76 CV_REGISTER(CS, 26)
77 CV_REGISTER(SS, 27)
78 CV_REGISTER(DS, 28)
79 CV_REGISTER(FS, 29)
80 CV_REGISTER(GS, 30)
81 CV_REGISTER(IP, 31)
82 CV_REGISTER(FLAGS, 32)
83 CV_REGISTER(EIP, 33)
84 CV_REGISTER(EFLAGS, 34)
85 CV_REGISTER(TEMP, 40)
86 CV_REGISTER(TEMPH, 41)
87 CV_REGISTER(QUOTE, 42)
88 CV_REGISTER(PCDR3, 43)
89 CV_REGISTER(PCDR4, 44)
90 CV_REGISTER(PCDR5, 45)
91 CV_REGISTER(PCDR6, 46)
92 CV_REGISTER(PCDR7, 47)
93 CV_REGISTER(CR0, 80)
94 CV_REGISTER(CR1, 81)
95 CV_REGISTER(CR2, 82)
96 CV_REGISTER(CR3, 83)
97 CV_REGISTER(CR4, 84)
98 CV_REGISTER(DR0, 90)
99 CV_REGISTER(DR1, 91)
100 CV_REGISTER(DR2, 92)
101 CV_REGISTER(DR3, 93)
102 CV_REGISTER(DR4, 94)
103 CV_REGISTER(DR5, 95)
104 CV_REGISTER(DR6, 96)
105 CV_REGISTER(DR7, 97)
106 CV_REGISTER(GDTR, 110)
107 CV_REGISTER(GDTL, 111)
108 CV_REGISTER(IDTR, 112)
109 CV_REGISTER(IDTL, 113)
110 CV_REGISTER(LDTR, 114)
111 CV_REGISTER(TR, 115)
112
113 CV_REGISTER(PSEUDO1, 116)
114 CV_REGISTER(PSEUDO2, 117)
115 CV_REGISTER(PSEUDO3, 118)
116 CV_REGISTER(PSEUDO4, 119)
117 CV_REGISTER(PSEUDO5, 120)
118 CV_REGISTER(PSEUDO6, 121)
119 CV_REGISTER(PSEUDO7, 122)
120 CV_REGISTER(PSEUDO8, 123)
121 CV_REGISTER(PSEUDO9, 124)
122
123 CV_REGISTER(ST0, 128)
124 CV_REGISTER(ST1, 129)
125 CV_REGISTER(ST2, 130)
126 CV_REGISTER(ST3, 131)
127 CV_REGISTER(ST4, 132)
128 CV_REGISTER(ST5, 133)
129 CV_REGISTER(ST6, 134)
130 CV_REGISTER(ST7, 135)
131 CV_REGISTER(CTRL, 136)
132 CV_REGISTER(STAT, 137)
133 CV_REGISTER(TAG, 138)
134 CV_REGISTER(FPIP, 139)
135 CV_REGISTER(FPCS, 140)
136 CV_REGISTER(FPDO, 141)
137 CV_REGISTER(FPDS, 142)
138 CV_REGISTER(ISEM, 143)
139 CV_REGISTER(FPEIP, 144)
140 CV_REGISTER(FPEDO, 145)
141
142 CV_REGISTER(MM0, 146)
143 CV_REGISTER(MM1, 147)
144 CV_REGISTER(MM2, 148)
145 CV_REGISTER(MM3, 149)
146 CV_REGISTER(MM4, 150)
147 CV_REGISTER(MM5, 151)
148 CV_REGISTER(MM6, 152)
149 CV_REGISTER(MM7, 153)
150
151 CV_REGISTER(XMM0, 154)
152 CV_REGISTER(XMM1, 155)
153 CV_REGISTER(XMM2, 156)
154 CV_REGISTER(XMM3, 157)
155 CV_REGISTER(XMM4, 158)
156 CV_REGISTER(XMM5, 159)
157 CV_REGISTER(XMM6, 160)
158 CV_REGISTER(XMM7, 161)
159
160 CV_REGISTER(MXCSR, 211)
161
162 CV_REGISTER(EDXEAX, 212)
163
164 CV_REGISTER(EMM0L, 220)
165 CV_REGISTER(EMM1L, 221)
166 CV_REGISTER(EMM2L, 222)
167 CV_REGISTER(EMM3L, 223)
168 CV_REGISTER(EMM4L, 224)
169 CV_REGISTER(EMM5L, 225)
170 CV_REGISTER(EMM6L, 226)
171 CV_REGISTER(EMM7L, 227)
172
173 CV_REGISTER(EMM0H, 228)
174 CV_REGISTER(EMM1H, 229)
175 CV_REGISTER(EMM2H, 230)
176 CV_REGISTER(EMM3H, 231)
177 CV_REGISTER(EMM4H, 232)
178 CV_REGISTER(EMM5H, 233)
179 CV_REGISTER(EMM6H, 234)
180 CV_REGISTER(EMM7H, 235)
181
182 CV_REGISTER(MM00, 236)
183 CV_REGISTER(MM01, 237)
184 CV_REGISTER(MM10, 238)
185 CV_REGISTER(MM11, 239)
186 CV_REGISTER(MM20, 240)
187 CV_REGISTER(MM21, 241)
188 CV_REGISTER(MM30, 242)
189 CV_REGISTER(MM31, 243)
190 CV_REGISTER(MM40, 244)
191 CV_REGISTER(MM41, 245)
192 CV_REGISTER(MM50, 246)
193 CV_REGISTER(MM51, 247)
194 CV_REGISTER(MM60, 248)
195 CV_REGISTER(MM61, 249)
196 CV_REGISTER(MM70, 250)
197 CV_REGISTER(MM71, 251)
198
199 CV_REGISTER(BND0, 396)
200 CV_REGISTER(BND1, 397)
201 CV_REGISTER(BND2, 398)
202
203
204 CV_REGISTER(XMM8, 252)
205 CV_REGISTER(XMM9, 253)
206 CV_REGISTER(XMM10, 254)
207 CV_REGISTER(XMM11, 255)
208 CV_REGISTER(XMM12, 256)
209 CV_REGISTER(XMM13, 257)
210 CV_REGISTER(XMM14, 258)
211 CV_REGISTER(XMM15, 259)
212
213
214 CV_REGISTER(SIL, 324)
215 CV_REGISTER(DIL, 325)
216 CV_REGISTER(BPL, 326)
217 CV_REGISTER(SPL, 327)
218
219 CV_REGISTER(RAX, 328)
220 CV_REGISTER(RBX, 329)
221 CV_REGISTER(RCX, 330)
222 CV_REGISTER(RDX, 331)
223 CV_REGISTER(RSI, 332)
224 CV_REGISTER(RDI, 333)
225 CV_REGISTER(RBP, 334)
226 CV_REGISTER(RSP, 335)
227
228 CV_REGISTER(R8, 336)
229 CV_REGISTER(R9, 337)
230 CV_REGISTER(R10, 338)
231 CV_REGISTER(R11, 339)
232 CV_REGISTER(R12, 340)
233 CV_REGISTER(R13, 341)
234 CV_REGISTER(R14, 342)
235 CV_REGISTER(R15, 343)
236
237 CV_REGISTER(R8B, 344)
238 CV_REGISTER(R9B, 345)
239 CV_REGISTER(R10B, 346)
240 CV_REGISTER(R11B, 347)
241 CV_REGISTER(R12B, 348)
242 CV_REGISTER(R13B, 349)
243 CV_REGISTER(R14B, 350)
244 CV_REGISTER(R15B, 351)
245
246 CV_REGISTER(R8W, 352)
247 CV_REGISTER(R9W, 353)
248 CV_REGISTER(R10W, 354)
249 CV_REGISTER(R11W, 355)
250 CV_REGISTER(R12W, 356)
251 CV_REGISTER(R13W, 357)
252 CV_REGISTER(R14W, 358)
253 CV_REGISTER(R15W, 359)
254
255 CV_REGISTER(R8D, 360)
256 CV_REGISTER(R9D, 361)
257 CV_REGISTER(R10D, 362)
258 CV_REGISTER(R11D, 363)
259 CV_REGISTER(R12D, 364)
260 CV_REGISTER(R13D, 365)
261 CV_REGISTER(R14D, 366)
262 CV_REGISTER(R15D, 367)
263
264
265 // cvconst.h defines both CV_REG_YMM0 (252) and CV_AMD64_YMM0 (368). Keep the
266 // original prefix to distinguish them.
267
268 CV_REGISTER(AMD64_YMM0, 368)
269 CV_REGISTER(AMD64_YMM1, 369)
270 CV_REGISTER(AMD64_YMM2, 370)
271 CV_REGISTER(AMD64_YMM3, 371)
272 CV_REGISTER(AMD64_YMM4, 372)
273 CV_REGISTER(AMD64_YMM5, 373)
274 CV_REGISTER(AMD64_YMM6, 374)
275 CV_REGISTER(AMD64_YMM7, 375)
276 CV_REGISTER(AMD64_YMM8, 376)
277 CV_REGISTER(AMD64_YMM9, 377)
278 CV_REGISTER(AMD64_YMM10, 378)
279 CV_REGISTER(AMD64_YMM11, 379)
280 CV_REGISTER(AMD64_YMM12, 380)
281 CV_REGISTER(AMD64_YMM13, 381)
282 CV_REGISTER(AMD64_YMM14, 382)
283 CV_REGISTER(AMD64_YMM15, 383)
284
285 CV_REGISTER(AMD64_XMM16, 694)
286 CV_REGISTER(AMD64_XMM17, 695)
287 CV_REGISTER(AMD64_XMM18, 696)
288 CV_REGISTER(AMD64_XMM19, 697)
289 CV_REGISTER(AMD64_XMM20, 698)
290 CV_REGISTER(AMD64_XMM21, 699)
291 CV_REGISTER(AMD64_XMM22, 700)
292 CV_REGISTER(AMD64_XMM23, 701)
293 CV_REGISTER(AMD64_XMM24, 702)
294 CV_REGISTER(AMD64_XMM25, 703)
295 CV_REGISTER(AMD64_XMM26, 704)
296 CV_REGISTER(AMD64_XMM27, 705)
297 CV_REGISTER(AMD64_XMM28, 706)
298 CV_REGISTER(AMD64_XMM29, 707)
299 CV_REGISTER(AMD64_XMM30, 708)
300 CV_REGISTER(AMD64_XMM31, 709)
301
302 CV_REGISTER(AMD64_YMM16, 710)
303 CV_REGISTER(AMD64_YMM17, 711)
304 CV_REGISTER(AMD64_YMM18, 712)
305 CV_REGISTER(AMD64_YMM19, 713)
306 CV_REGISTER(AMD64_YMM20, 714)
307 CV_REGISTER(AMD64_YMM21, 715)
308 CV_REGISTER(AMD64_YMM22, 716)
309 CV_REGISTER(AMD64_YMM23, 717)
310 CV_REGISTER(AMD64_YMM24, 718)
311 CV_REGISTER(AMD64_YMM25, 719)
312 CV_REGISTER(AMD64_YMM26, 720)
313 CV_REGISTER(AMD64_YMM27, 721)
314 CV_REGISTER(AMD64_YMM28, 722)
315 CV_REGISTER(AMD64_YMM29, 723)
316 CV_REGISTER(AMD64_YMM30, 724)
317 CV_REGISTER(AMD64_YMM31, 725)
318
319 CV_REGISTER(AMD64_ZMM0, 726)
320 CV_REGISTER(AMD64_ZMM1, 727)
321 CV_REGISTER(AMD64_ZMM2, 728)
322 CV_REGISTER(AMD64_ZMM3, 729)
323 CV_REGISTER(AMD64_ZMM4, 730)
324 CV_REGISTER(AMD64_ZMM5, 731)
325 CV_REGISTER(AMD64_ZMM6, 732)
326 CV_REGISTER(AMD64_ZMM7, 733)
327 CV_REGISTER(AMD64_ZMM8, 734)
328 CV_REGISTER(AMD64_ZMM9, 735)
329 CV_REGISTER(AMD64_ZMM10, 736)
330 CV_REGISTER(AMD64_ZMM11, 737)
331 CV_REGISTER(AMD64_ZMM12, 738)
332 CV_REGISTER(AMD64_ZMM13, 739)
333 CV_REGISTER(AMD64_ZMM14, 740)
334 CV_REGISTER(AMD64_ZMM15, 741)
335 CV_REGISTER(AMD64_ZMM16, 742)
336 CV_REGISTER(AMD64_ZMM17, 743)
337 CV_REGISTER(AMD64_ZMM18, 744)
338 CV_REGISTER(AMD64_ZMM19, 745)
339 CV_REGISTER(AMD64_ZMM20, 746)
340 CV_REGISTER(AMD64_ZMM21, 747)
341 CV_REGISTER(AMD64_ZMM22, 748)
342 CV_REGISTER(AMD64_ZMM23, 749)
343 CV_REGISTER(AMD64_ZMM24, 750)
344 CV_REGISTER(AMD64_ZMM25, 751)
345 CV_REGISTER(AMD64_ZMM26, 752)
346 CV_REGISTER(AMD64_ZMM27, 753)
347 CV_REGISTER(AMD64_ZMM28, 754)
348 CV_REGISTER(AMD64_ZMM29, 755)
349 CV_REGISTER(AMD64_ZMM30, 756)
350 CV_REGISTER(AMD64_ZMM31, 757)
351
352 CV_REGISTER(AMD64_K0, 758)
353 CV_REGISTER(AMD64_K1, 759)
354 CV_REGISTER(AMD64_K2, 760)
355 CV_REGISTER(AMD64_K3, 761)
356 CV_REGISTER(AMD64_K4, 762)
357 CV_REGISTER(AMD64_K5, 763)
358 CV_REGISTER(AMD64_K6, 764)
359 CV_REGISTER(AMD64_K7, 765)
360
361 #pragma pop_macro("CR0")
362 #pragma pop_macro("CR1")
363 #pragma pop_macro("CR2")
364 #pragma pop_macro("CR3")
365 #pragma pop_macro("CR4")
366
367 #endif // defined(CV_REGISTERS_ALL) || defined(CV_REGISTERS_X86)
368
369 #if defined(CV_REGISTERS_ALL) || defined(CV_REGISTERS_ARM)
370
371 // ARM registers
372
373 CV_REGISTER(ARM_NOREG, 0)
374
375 // General purpose 32-bit integer regisers
376
377 CV_REGISTER(ARM_R0, 10)
378 CV_REGISTER(ARM_R1, 11)
379 CV_REGISTER(ARM_R2, 12)
380 CV_REGISTER(ARM_R3, 13)
381 CV_REGISTER(ARM_R4, 14)
382 CV_REGISTER(ARM_R5, 15)
383 CV_REGISTER(ARM_R6, 16)
384 CV_REGISTER(ARM_R7, 17)
385 CV_REGISTER(ARM_R8, 18)
386 CV_REGISTER(ARM_R9, 19)
387 CV_REGISTER(ARM_R10, 20)
388 CV_REGISTER(ARM_R11, 21)
389 CV_REGISTER(ARM_R12, 22)
390 CV_REGISTER(ARM_SP, 23)
391 CV_REGISTER(ARM_LR, 24)
392 CV_REGISTER(ARM_PC, 25)
393
394 // Status register
395
396 CV_REGISTER(ARM_CPSR, 25)
397
398 // ARM VFPv1 registers
399
400 CV_REGISTER(ARM_FPSCR, 40)
401 CV_REGISTER(ARM_FPEXC, 41)
402
403 // ARM VFPv3/NEON registers
404
405 CV_REGISTER(ARM_FS32, 200)
406 CV_REGISTER(ARM_FS33, 201)
407 CV_REGISTER(ARM_FS34, 202)
408 CV_REGISTER(ARM_FS35, 203)
409 CV_REGISTER(ARM_FS36, 204)
410 CV_REGISTER(ARM_FS37, 205)
411 CV_REGISTER(ARM_FS38, 206)
412 CV_REGISTER(ARM_FS39, 207)
413 CV_REGISTER(ARM_FS40, 208)
414 CV_REGISTER(ARM_FS41, 209)
415 CV_REGISTER(ARM_FS42, 210)
416 CV_REGISTER(ARM_FS43, 211)
417 CV_REGISTER(ARM_FS44, 212)
418 CV_REGISTER(ARM_FS45, 213)
419 CV_REGISTER(ARM_FS46, 214)
420 CV_REGISTER(ARM_FS47, 215)
421 CV_REGISTER(ARM_FS48, 216)
422 CV_REGISTER(ARM_FS49, 217)
423 CV_REGISTER(ARM_FS50, 218)
424 CV_REGISTER(ARM_FS51, 219)
425 CV_REGISTER(ARM_FS52, 220)
426 CV_REGISTER(ARM_FS53, 221)
427 CV_REGISTER(ARM_FS54, 222)
428 CV_REGISTER(ARM_FS55, 223)
429 CV_REGISTER(ARM_FS56, 224)
430 CV_REGISTER(ARM_FS57, 225)
431 CV_REGISTER(ARM_FS58, 226)
432 CV_REGISTER(ARM_FS59, 227)
433 CV_REGISTER(ARM_FS60, 228)
434 CV_REGISTER(ARM_FS61, 229)
435 CV_REGISTER(ARM_FS62, 230)
436 CV_REGISTER(ARM_FS63, 231)
437
438 CV_REGISTER(ARM_ND0, 300)
439 CV_REGISTER(ARM_ND1, 301)
440 CV_REGISTER(ARM_ND2, 302)
441 CV_REGISTER(ARM_ND3, 303)
442 CV_REGISTER(ARM_ND4, 304)
443 CV_REGISTER(ARM_ND5, 305)
444 CV_REGISTER(ARM_ND6, 306)
445 CV_REGISTER(ARM_ND7, 307)
446 CV_REGISTER(ARM_ND8, 308)
447 CV_REGISTER(ARM_ND9, 309)
448 CV_REGISTER(ARM_ND10, 310)
449 CV_REGISTER(ARM_ND11, 311)
450 CV_REGISTER(ARM_ND12, 312)
451 CV_REGISTER(ARM_ND13, 313)
452 CV_REGISTER(ARM_ND14, 314)
453 CV_REGISTER(ARM_ND15, 315)
454 CV_REGISTER(ARM_ND16, 316)
455 CV_REGISTER(ARM_ND17, 317)
456 CV_REGISTER(ARM_ND18, 318)
457 CV_REGISTER(ARM_ND19, 319)
458 CV_REGISTER(ARM_ND20, 320)
459 CV_REGISTER(ARM_ND21, 321)
460 CV_REGISTER(ARM_ND22, 322)
461 CV_REGISTER(ARM_ND23, 323)
462 CV_REGISTER(ARM_ND24, 324)
463 CV_REGISTER(ARM_ND25, 325)
464 CV_REGISTER(ARM_ND26, 326)
465 CV_REGISTER(ARM_ND27, 327)
466 CV_REGISTER(ARM_ND28, 328)
467 CV_REGISTER(ARM_ND29, 329)
468 CV_REGISTER(ARM_ND30, 330)
469 CV_REGISTER(ARM_ND31, 331)
470
471 CV_REGISTER(ARM_NQ0, 400)
472 CV_REGISTER(ARM_NQ1, 401)
473 CV_REGISTER(ARM_NQ2, 402)
474 CV_REGISTER(ARM_NQ3, 403)
475 CV_REGISTER(ARM_NQ4, 404)
476 CV_REGISTER(ARM_NQ5, 405)
477 CV_REGISTER(ARM_NQ6, 406)
478 CV_REGISTER(ARM_NQ7, 407)
479 CV_REGISTER(ARM_NQ8, 408)
480 CV_REGISTER(ARM_NQ9, 409)
481 CV_REGISTER(ARM_NQ10, 410)
482 CV_REGISTER(ARM_NQ11, 411)
483 CV_REGISTER(ARM_NQ12, 412)
484 CV_REGISTER(ARM_NQ13, 413)
485 CV_REGISTER(ARM_NQ14, 414)
486 CV_REGISTER(ARM_NQ15, 415)
487
488 #endif // defined(CV_REGISTERS_ALL) || defined(CV_REGISTERS_ARM)
489
490 #if defined(CV_REGISTERS_ALL) || defined(CV_REGISTERS_ARM64)
491
492 // arm64intr.h from MSVC defines ARM64_FPSR, which conflicts with
493 // these declarations.
494 #pragma push_macro("ARM64_FPSR")
495 #undef ARM64_FPSR
496
497 // ARM64 registers
498
499 CV_REGISTER(ARM64_NOREG, 0)
500
501 // General purpose 32-bit integer registers
502
503 CV_REGISTER(ARM64_W0, 10)
504 CV_REGISTER(ARM64_W1, 11)
505 CV_REGISTER(ARM64_W2, 12)
506 CV_REGISTER(ARM64_W3, 13)
507 CV_REGISTER(ARM64_W4, 14)
508 CV_REGISTER(ARM64_W5, 15)
509 CV_REGISTER(ARM64_W6, 16)
510 CV_REGISTER(ARM64_W7, 17)
511 CV_REGISTER(ARM64_W8, 18)
512 CV_REGISTER(ARM64_W9, 19)
513 CV_REGISTER(ARM64_W10, 20)
514 CV_REGISTER(ARM64_W11, 21)
515 CV_REGISTER(ARM64_W12, 22)
516 CV_REGISTER(ARM64_W13, 23)
517 CV_REGISTER(ARM64_W14, 24)
518 CV_REGISTER(ARM64_W15, 25)
519 CV_REGISTER(ARM64_W16, 26)
520 CV_REGISTER(ARM64_W17, 27)
521 CV_REGISTER(ARM64_W18, 28)
522 CV_REGISTER(ARM64_W19, 29)
523 CV_REGISTER(ARM64_W20, 30)
524 CV_REGISTER(ARM64_W21, 31)
525 CV_REGISTER(ARM64_W22, 32)
526 CV_REGISTER(ARM64_W23, 33)
527 CV_REGISTER(ARM64_W24, 34)
528 CV_REGISTER(ARM64_W25, 35)
529 CV_REGISTER(ARM64_W26, 36)
530 CV_REGISTER(ARM64_W27, 37)
531 CV_REGISTER(ARM64_W28, 38)
532 CV_REGISTER(ARM64_W29, 39)
533 CV_REGISTER(ARM64_W30, 40)
534 CV_REGISTER(ARM64_WZR, 41)
535
536 // General purpose 64-bit integer registers
537
538 CV_REGISTER(ARM64_X0, 50)
539 CV_REGISTER(ARM64_X1, 51)
540 CV_REGISTER(ARM64_X2, 52)
541 CV_REGISTER(ARM64_X3, 53)
542 CV_REGISTER(ARM64_X4, 54)
543 CV_REGISTER(ARM64_X5, 55)
544 CV_REGISTER(ARM64_X6, 56)
545 CV_REGISTER(ARM64_X7, 57)
546 CV_REGISTER(ARM64_X8, 58)
547 CV_REGISTER(ARM64_X9, 59)
548 CV_REGISTER(ARM64_X10, 60)
549 CV_REGISTER(ARM64_X11, 61)
550 CV_REGISTER(ARM64_X12, 62)
551 CV_REGISTER(ARM64_X13, 63)
552 CV_REGISTER(ARM64_X14, 64)
553 CV_REGISTER(ARM64_X15, 65)
554 CV_REGISTER(ARM64_X16, 66)
555 CV_REGISTER(ARM64_X17, 67)
556 CV_REGISTER(ARM64_X18, 68)
557 CV_REGISTER(ARM64_X19, 69)
558 CV_REGISTER(ARM64_X20, 70)
559 CV_REGISTER(ARM64_X21, 71)
560 CV_REGISTER(ARM64_X22, 72)
561 CV_REGISTER(ARM64_X23, 73)
562 CV_REGISTER(ARM64_X24, 74)
563 CV_REGISTER(ARM64_X25, 75)
564 CV_REGISTER(ARM64_X26, 76)
565 CV_REGISTER(ARM64_X27, 77)
566 CV_REGISTER(ARM64_X28, 78)
567 CV_REGISTER(ARM64_FP, 79)
568 CV_REGISTER(ARM64_LR, 80)
569 CV_REGISTER(ARM64_SP, 81)
570 CV_REGISTER(ARM64_ZR, 82)
571
572 // status register
573
574 CV_REGISTER(ARM64_NZCV, 90)
575
576 // 32-bit floating point registers
577
578 CV_REGISTER(ARM64_S0, 100)
579 CV_REGISTER(ARM64_S1, 101)
580 CV_REGISTER(ARM64_S2, 102)
581 CV_REGISTER(ARM64_S3, 103)
582 CV_REGISTER(ARM64_S4, 104)
583 CV_REGISTER(ARM64_S5, 105)
584 CV_REGISTER(ARM64_S6, 106)
585 CV_REGISTER(ARM64_S7, 107)
586 CV_REGISTER(ARM64_S8, 108)
587 CV_REGISTER(ARM64_S9, 109)
588 CV_REGISTER(ARM64_S10, 110)
589 CV_REGISTER(ARM64_S11, 111)
590 CV_REGISTER(ARM64_S12, 112)
591 CV_REGISTER(ARM64_S13, 113)
592 CV_REGISTER(ARM64_S14, 114)
593 CV_REGISTER(ARM64_S15, 115)
594 CV_REGISTER(ARM64_S16, 116)
595 CV_REGISTER(ARM64_S17, 117)
596 CV_REGISTER(ARM64_S18, 118)
597 CV_REGISTER(ARM64_S19, 119)
598 CV_REGISTER(ARM64_S20, 120)
599 CV_REGISTER(ARM64_S21, 121)
600 CV_REGISTER(ARM64_S22, 122)
601 CV_REGISTER(ARM64_S23, 123)
602 CV_REGISTER(ARM64_S24, 124)
603 CV_REGISTER(ARM64_S25, 125)
604 CV_REGISTER(ARM64_S26, 126)
605 CV_REGISTER(ARM64_S27, 127)
606 CV_REGISTER(ARM64_S28, 128)
607 CV_REGISTER(ARM64_S29, 129)
608 CV_REGISTER(ARM64_S30, 130)
609 CV_REGISTER(ARM64_S31, 131)
610
611 // 64-bit floating point registers
612
613 CV_REGISTER(ARM64_D0, 140)
614 CV_REGISTER(ARM64_D1, 141)
615 CV_REGISTER(ARM64_D2, 142)
616 CV_REGISTER(ARM64_D3, 143)
617 CV_REGISTER(ARM64_D4, 144)
618 CV_REGISTER(ARM64_D5, 145)
619 CV_REGISTER(ARM64_D6, 146)
620 CV_REGISTER(ARM64_D7, 147)
621 CV_REGISTER(ARM64_D8, 148)
622 CV_REGISTER(ARM64_D9, 149)
623 CV_REGISTER(ARM64_D10, 150)
624 CV_REGISTER(ARM64_D11, 151)
625 CV_REGISTER(ARM64_D12, 152)
626 CV_REGISTER(ARM64_D13, 153)
627 CV_REGISTER(ARM64_D14, 154)
628 CV_REGISTER(ARM64_D15, 155)
629 CV_REGISTER(ARM64_D16, 156)
630 CV_REGISTER(ARM64_D17, 157)
631 CV_REGISTER(ARM64_D18, 158)
632 CV_REGISTER(ARM64_D19, 159)
633 CV_REGISTER(ARM64_D20, 160)
634 CV_REGISTER(ARM64_D21, 161)
635 CV_REGISTER(ARM64_D22, 162)
636 CV_REGISTER(ARM64_D23, 163)
637 CV_REGISTER(ARM64_D24, 164)
638 CV_REGISTER(ARM64_D25, 165)
639 CV_REGISTER(ARM64_D26, 166)
640 CV_REGISTER(ARM64_D27, 167)
641 CV_REGISTER(ARM64_D28, 168)
642 CV_REGISTER(ARM64_D29, 169)
643 CV_REGISTER(ARM64_D30, 170)
644 CV_REGISTER(ARM64_D31, 171)
645
646 // 128-bit SIMD registers
647
648 CV_REGISTER(ARM64_Q0, 180)
649 CV_REGISTER(ARM64_Q1, 181)
650 CV_REGISTER(ARM64_Q2, 182)
651 CV_REGISTER(ARM64_Q3, 183)
652 CV_REGISTER(ARM64_Q4, 184)
653 CV_REGISTER(ARM64_Q5, 185)
654 CV_REGISTER(ARM64_Q6, 186)
655 CV_REGISTER(ARM64_Q7, 187)
656 CV_REGISTER(ARM64_Q8, 188)
657 CV_REGISTER(ARM64_Q9, 189)
658 CV_REGISTER(ARM64_Q10, 190)
659 CV_REGISTER(ARM64_Q11, 191)
660 CV_REGISTER(ARM64_Q12, 192)
661 CV_REGISTER(ARM64_Q13, 193)
662 CV_REGISTER(ARM64_Q14, 194)
663 CV_REGISTER(ARM64_Q15, 195)
664 CV_REGISTER(ARM64_Q16, 196)
665 CV_REGISTER(ARM64_Q17, 197)
666 CV_REGISTER(ARM64_Q18, 198)
667 CV_REGISTER(ARM64_Q19, 199)
668 CV_REGISTER(ARM64_Q20, 200)
669 CV_REGISTER(ARM64_Q21, 201)
670 CV_REGISTER(ARM64_Q22, 202)
671 CV_REGISTER(ARM64_Q23, 203)
672 CV_REGISTER(ARM64_Q24, 204)
673 CV_REGISTER(ARM64_Q25, 205)
674 CV_REGISTER(ARM64_Q26, 206)
675 CV_REGISTER(ARM64_Q27, 207)
676 CV_REGISTER(ARM64_Q28, 208)
677 CV_REGISTER(ARM64_Q29, 209)
678 CV_REGISTER(ARM64_Q30, 210)
679 CV_REGISTER(ARM64_Q31, 211)
680
681 // Floating point status register
682
683 CV_REGISTER(ARM64_FPSR, 220)
684
685 #pragma pop_macro("ARM64_FPSR")
686
687 #endif // defined(CV_REGISTERS_ALL) || defined(CV_REGISTERS_ARM64)