Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

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