Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/llvm/DebugInfo/CodeView/CodeViewRegisters.def is written in an unsupported language. File is not indexed.

0001 //===-- CodeViewRegisters.def - CodeView registers --------------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 //
0009 // See CV_HREG_e in cvconst.h. This should match the constants there.
0010 //
0011 //===----------------------------------------------------------------------===//
0012 
0013 #ifndef CV_REGISTER
0014 #define CV_REGISTER(name, value)
0015 #endif
0016 
0017 #if !defined(CV_REGISTERS_ALL) && !defined(CV_REGISTERS_X86) &&                \
0018     !defined(CV_REGISTERS_ARM) &&                                              \
0019     !defined(CV_REGISTERS_ARM64) &&                                            \
0020     !defined(CV_REGISTERS_MIPS)
0021 #error Need include at least one register set.
0022 #endif
0023 
0024 // This currently only contains the "register subset shared by all processor
0025 // types" (ERR etc.) and the x86/arm64 registers.
0026 
0027 #if defined(CV_REGISTERS_ALL) || defined(CV_REGISTERS_X86)
0028 
0029 // Some system headers define macros that conflict with our enums. Every
0030 // compiler supported by LLVM has the push_macro and pop_macro pragmas, so use
0031 // them to avoid the conflict.
0032 #pragma push_macro("CR0")
0033 #pragma push_macro("CR1")
0034 #pragma push_macro("CR2")
0035 #pragma push_macro("CR3")
0036 #pragma push_macro("CR4")
0037 
0038 CV_REGISTER(ERR, 30000)
0039 CV_REGISTER(TEB, 30001)
0040 CV_REGISTER(TIMER, 30002)
0041 CV_REGISTER(EFAD1, 30003)
0042 CV_REGISTER(EFAD2, 30004)
0043 CV_REGISTER(EFAD3, 30005)
0044 CV_REGISTER(VFRAME, 30006)
0045 CV_REGISTER(HANDLE, 30007)
0046 CV_REGISTER(PARAMS, 30008)
0047 CV_REGISTER(LOCALS, 30009)
0048 CV_REGISTER(TID, 30010)
0049 CV_REGISTER(ENV, 30011)
0050 CV_REGISTER(CMDLN, 30012)
0051 
0052 CV_REGISTER(NONE, 0)
0053 CV_REGISTER(AL, 1)
0054 CV_REGISTER(CL, 2)
0055 CV_REGISTER(DL, 3)
0056 CV_REGISTER(BL, 4)
0057 CV_REGISTER(AH, 5)
0058 CV_REGISTER(CH, 6)
0059 CV_REGISTER(DH, 7)
0060 CV_REGISTER(BH, 8)
0061 CV_REGISTER(AX, 9)
0062 CV_REGISTER(CX, 10)
0063 CV_REGISTER(DX, 11)
0064 CV_REGISTER(BX, 12)
0065 CV_REGISTER(SP, 13)
0066 CV_REGISTER(BP, 14)
0067 CV_REGISTER(SI, 15)
0068 CV_REGISTER(DI, 16)
0069 CV_REGISTER(EAX, 17)
0070 CV_REGISTER(ECX, 18)
0071 CV_REGISTER(EDX, 19)
0072 CV_REGISTER(EBX, 20)
0073 CV_REGISTER(ESP, 21)
0074 CV_REGISTER(EBP, 22)
0075 CV_REGISTER(ESI, 23)
0076 CV_REGISTER(EDI, 24)
0077 CV_REGISTER(ES, 25)
0078 CV_REGISTER(CS, 26)
0079 CV_REGISTER(SS, 27)
0080 CV_REGISTER(DS, 28)
0081 CV_REGISTER(FS, 29)
0082 CV_REGISTER(GS, 30)
0083 CV_REGISTER(IP, 31)
0084 CV_REGISTER(FLAGS, 32)
0085 CV_REGISTER(EIP, 33)
0086 CV_REGISTER(EFLAGS, 34)
0087 CV_REGISTER(TEMP, 40)
0088 CV_REGISTER(TEMPH, 41)
0089 CV_REGISTER(QUOTE, 42)
0090 CV_REGISTER(PCDR3, 43)
0091 CV_REGISTER(PCDR4, 44)
0092 CV_REGISTER(PCDR5, 45)
0093 CV_REGISTER(PCDR6, 46)
0094 CV_REGISTER(PCDR7, 47)
0095 CV_REGISTER(CR0, 80)
0096 CV_REGISTER(CR1, 81)
0097 CV_REGISTER(CR2, 82)
0098 CV_REGISTER(CR3, 83)
0099 CV_REGISTER(CR4, 84)
0100 CV_REGISTER(DR0, 90)
0101 CV_REGISTER(DR1, 91)
0102 CV_REGISTER(DR2, 92)
0103 CV_REGISTER(DR3, 93)
0104 CV_REGISTER(DR4, 94)
0105 CV_REGISTER(DR5, 95)
0106 CV_REGISTER(DR6, 96)
0107 CV_REGISTER(DR7, 97)
0108 CV_REGISTER(GDTR, 110)
0109 CV_REGISTER(GDTL, 111)
0110 CV_REGISTER(IDTR, 112)
0111 CV_REGISTER(IDTL, 113)
0112 CV_REGISTER(LDTR, 114)
0113 CV_REGISTER(TR, 115)
0114 
0115 CV_REGISTER(PSEUDO1, 116)
0116 CV_REGISTER(PSEUDO2, 117)
0117 CV_REGISTER(PSEUDO3, 118)
0118 CV_REGISTER(PSEUDO4, 119)
0119 CV_REGISTER(PSEUDO5, 120)
0120 CV_REGISTER(PSEUDO6, 121)
0121 CV_REGISTER(PSEUDO7, 122)
0122 CV_REGISTER(PSEUDO8, 123)
0123 CV_REGISTER(PSEUDO9, 124)
0124 
0125 CV_REGISTER(ST0, 128)
0126 CV_REGISTER(ST1, 129)
0127 CV_REGISTER(ST2, 130)
0128 CV_REGISTER(ST3, 131)
0129 CV_REGISTER(ST4, 132)
0130 CV_REGISTER(ST5, 133)
0131 CV_REGISTER(ST6, 134)
0132 CV_REGISTER(ST7, 135)
0133 CV_REGISTER(CTRL, 136)
0134 CV_REGISTER(STAT, 137)
0135 CV_REGISTER(TAG, 138)
0136 CV_REGISTER(FPIP, 139)
0137 CV_REGISTER(FPCS, 140)
0138 CV_REGISTER(FPDO, 141)
0139 CV_REGISTER(FPDS, 142)
0140 CV_REGISTER(ISEM, 143)
0141 CV_REGISTER(FPEIP, 144)
0142 CV_REGISTER(FPEDO, 145)
0143 
0144 CV_REGISTER(MM0, 146)
0145 CV_REGISTER(MM1, 147)
0146 CV_REGISTER(MM2, 148)
0147 CV_REGISTER(MM3, 149)
0148 CV_REGISTER(MM4, 150)
0149 CV_REGISTER(MM5, 151)
0150 CV_REGISTER(MM6, 152)
0151 CV_REGISTER(MM7, 153)
0152 
0153 CV_REGISTER(XMM0, 154)
0154 CV_REGISTER(XMM1, 155)
0155 CV_REGISTER(XMM2, 156)
0156 CV_REGISTER(XMM3, 157)
0157 CV_REGISTER(XMM4, 158)
0158 CV_REGISTER(XMM5, 159)
0159 CV_REGISTER(XMM6, 160)
0160 CV_REGISTER(XMM7, 161)
0161 
0162 CV_REGISTER(MXCSR, 211)
0163 
0164 CV_REGISTER(EDXEAX, 212)
0165 
0166 CV_REGISTER(EMM0L, 220)
0167 CV_REGISTER(EMM1L, 221)
0168 CV_REGISTER(EMM2L, 222)
0169 CV_REGISTER(EMM3L, 223)
0170 CV_REGISTER(EMM4L, 224)
0171 CV_REGISTER(EMM5L, 225)
0172 CV_REGISTER(EMM6L, 226)
0173 CV_REGISTER(EMM7L, 227)
0174 
0175 CV_REGISTER(EMM0H, 228)
0176 CV_REGISTER(EMM1H, 229)
0177 CV_REGISTER(EMM2H, 230)
0178 CV_REGISTER(EMM3H, 231)
0179 CV_REGISTER(EMM4H, 232)
0180 CV_REGISTER(EMM5H, 233)
0181 CV_REGISTER(EMM6H, 234)
0182 CV_REGISTER(EMM7H, 235)
0183 
0184 CV_REGISTER(MM00, 236)
0185 CV_REGISTER(MM01, 237)
0186 CV_REGISTER(MM10, 238)
0187 CV_REGISTER(MM11, 239)
0188 CV_REGISTER(MM20, 240)
0189 CV_REGISTER(MM21, 241)
0190 CV_REGISTER(MM30, 242)
0191 CV_REGISTER(MM31, 243)
0192 CV_REGISTER(MM40, 244)
0193 CV_REGISTER(MM41, 245)
0194 CV_REGISTER(MM50, 246)
0195 CV_REGISTER(MM51, 247)
0196 CV_REGISTER(MM60, 248)
0197 CV_REGISTER(MM61, 249)
0198 CV_REGISTER(MM70, 250)
0199 CV_REGISTER(MM71, 251)
0200 
0201 CV_REGISTER(BND0, 396)
0202 CV_REGISTER(BND1, 397)
0203 CV_REGISTER(BND2, 398)
0204 
0205 
0206 CV_REGISTER(XMM8, 252)
0207 CV_REGISTER(XMM9, 253)
0208 CV_REGISTER(XMM10, 254)
0209 CV_REGISTER(XMM11, 255)
0210 CV_REGISTER(XMM12, 256)
0211 CV_REGISTER(XMM13, 257)
0212 CV_REGISTER(XMM14, 258)
0213 CV_REGISTER(XMM15, 259)
0214 
0215 
0216 CV_REGISTER(SIL, 324)
0217 CV_REGISTER(DIL, 325)
0218 CV_REGISTER(BPL, 326)
0219 CV_REGISTER(SPL, 327)
0220 
0221 CV_REGISTER(RAX, 328)
0222 CV_REGISTER(RBX, 329)
0223 CV_REGISTER(RCX, 330)
0224 CV_REGISTER(RDX, 331)
0225 CV_REGISTER(RSI, 332)
0226 CV_REGISTER(RDI, 333)
0227 CV_REGISTER(RBP, 334)
0228 CV_REGISTER(RSP, 335)
0229 
0230 CV_REGISTER(R8, 336)
0231 CV_REGISTER(R9, 337)
0232 CV_REGISTER(R10, 338)
0233 CV_REGISTER(R11, 339)
0234 CV_REGISTER(R12, 340)
0235 CV_REGISTER(R13, 341)
0236 CV_REGISTER(R14, 342)
0237 CV_REGISTER(R15, 343)
0238 
0239 CV_REGISTER(R8B, 344)
0240 CV_REGISTER(R9B, 345)
0241 CV_REGISTER(R10B, 346)
0242 CV_REGISTER(R11B, 347)
0243 CV_REGISTER(R12B, 348)
0244 CV_REGISTER(R13B, 349)
0245 CV_REGISTER(R14B, 350)
0246 CV_REGISTER(R15B, 351)
0247 
0248 CV_REGISTER(R8W, 352)
0249 CV_REGISTER(R9W, 353)
0250 CV_REGISTER(R10W, 354)
0251 CV_REGISTER(R11W, 355)
0252 CV_REGISTER(R12W, 356)
0253 CV_REGISTER(R13W, 357)
0254 CV_REGISTER(R14W, 358)
0255 CV_REGISTER(R15W, 359)
0256 
0257 CV_REGISTER(R8D, 360)
0258 CV_REGISTER(R9D, 361)
0259 CV_REGISTER(R10D, 362)
0260 CV_REGISTER(R11D, 363)
0261 CV_REGISTER(R12D, 364)
0262 CV_REGISTER(R13D, 365)
0263 CV_REGISTER(R14D, 366)
0264 CV_REGISTER(R15D, 367)
0265 
0266 
0267 // cvconst.h defines both CV_REG_YMM0 (252) and CV_AMD64_YMM0 (368). Keep the
0268 // original prefix to distinguish them.
0269 
0270 CV_REGISTER(AMD64_YMM0, 368)
0271 CV_REGISTER(AMD64_YMM1, 369)
0272 CV_REGISTER(AMD64_YMM2, 370)
0273 CV_REGISTER(AMD64_YMM3, 371)
0274 CV_REGISTER(AMD64_YMM4, 372)
0275 CV_REGISTER(AMD64_YMM5, 373)
0276 CV_REGISTER(AMD64_YMM6, 374)
0277 CV_REGISTER(AMD64_YMM7, 375)
0278 CV_REGISTER(AMD64_YMM8, 376)
0279 CV_REGISTER(AMD64_YMM9, 377)
0280 CV_REGISTER(AMD64_YMM10, 378)
0281 CV_REGISTER(AMD64_YMM11, 379)
0282 CV_REGISTER(AMD64_YMM12, 380)
0283 CV_REGISTER(AMD64_YMM13, 381)
0284 CV_REGISTER(AMD64_YMM14, 382)
0285 CV_REGISTER(AMD64_YMM15, 383)
0286 
0287 CV_REGISTER(AMD64_XMM16, 694)
0288 CV_REGISTER(AMD64_XMM17, 695)
0289 CV_REGISTER(AMD64_XMM18, 696)
0290 CV_REGISTER(AMD64_XMM19, 697)
0291 CV_REGISTER(AMD64_XMM20, 698)
0292 CV_REGISTER(AMD64_XMM21, 699)
0293 CV_REGISTER(AMD64_XMM22, 700)
0294 CV_REGISTER(AMD64_XMM23, 701)
0295 CV_REGISTER(AMD64_XMM24, 702)
0296 CV_REGISTER(AMD64_XMM25, 703)
0297 CV_REGISTER(AMD64_XMM26, 704)
0298 CV_REGISTER(AMD64_XMM27, 705)
0299 CV_REGISTER(AMD64_XMM28, 706)
0300 CV_REGISTER(AMD64_XMM29, 707)
0301 CV_REGISTER(AMD64_XMM30, 708)
0302 CV_REGISTER(AMD64_XMM31, 709)
0303 
0304 CV_REGISTER(AMD64_YMM16, 710)
0305 CV_REGISTER(AMD64_YMM17, 711)
0306 CV_REGISTER(AMD64_YMM18, 712)
0307 CV_REGISTER(AMD64_YMM19, 713)
0308 CV_REGISTER(AMD64_YMM20, 714)
0309 CV_REGISTER(AMD64_YMM21, 715)
0310 CV_REGISTER(AMD64_YMM22, 716)
0311 CV_REGISTER(AMD64_YMM23, 717)
0312 CV_REGISTER(AMD64_YMM24, 718)
0313 CV_REGISTER(AMD64_YMM25, 719)
0314 CV_REGISTER(AMD64_YMM26, 720)
0315 CV_REGISTER(AMD64_YMM27, 721)
0316 CV_REGISTER(AMD64_YMM28, 722)
0317 CV_REGISTER(AMD64_YMM29, 723)
0318 CV_REGISTER(AMD64_YMM30, 724)
0319 CV_REGISTER(AMD64_YMM31, 725)
0320 
0321 CV_REGISTER(AMD64_ZMM0, 726)
0322 CV_REGISTER(AMD64_ZMM1, 727)
0323 CV_REGISTER(AMD64_ZMM2, 728)
0324 CV_REGISTER(AMD64_ZMM3, 729)
0325 CV_REGISTER(AMD64_ZMM4, 730)
0326 CV_REGISTER(AMD64_ZMM5, 731)
0327 CV_REGISTER(AMD64_ZMM6, 732)
0328 CV_REGISTER(AMD64_ZMM7, 733)
0329 CV_REGISTER(AMD64_ZMM8, 734)
0330 CV_REGISTER(AMD64_ZMM9, 735)
0331 CV_REGISTER(AMD64_ZMM10, 736)
0332 CV_REGISTER(AMD64_ZMM11, 737)
0333 CV_REGISTER(AMD64_ZMM12, 738)
0334 CV_REGISTER(AMD64_ZMM13, 739)
0335 CV_REGISTER(AMD64_ZMM14, 740)
0336 CV_REGISTER(AMD64_ZMM15, 741)
0337 CV_REGISTER(AMD64_ZMM16, 742)
0338 CV_REGISTER(AMD64_ZMM17, 743)
0339 CV_REGISTER(AMD64_ZMM18, 744)
0340 CV_REGISTER(AMD64_ZMM19, 745)
0341 CV_REGISTER(AMD64_ZMM20, 746)
0342 CV_REGISTER(AMD64_ZMM21, 747)
0343 CV_REGISTER(AMD64_ZMM22, 748)
0344 CV_REGISTER(AMD64_ZMM23, 749)
0345 CV_REGISTER(AMD64_ZMM24, 750)
0346 CV_REGISTER(AMD64_ZMM25, 751)
0347 CV_REGISTER(AMD64_ZMM26, 752)
0348 CV_REGISTER(AMD64_ZMM27, 753)
0349 CV_REGISTER(AMD64_ZMM28, 754)
0350 CV_REGISTER(AMD64_ZMM29, 755)
0351 CV_REGISTER(AMD64_ZMM30, 756)
0352 CV_REGISTER(AMD64_ZMM31, 757)
0353 
0354 CV_REGISTER(AMD64_K0, 758)
0355 CV_REGISTER(AMD64_K1, 759)
0356 CV_REGISTER(AMD64_K2, 760)
0357 CV_REGISTER(AMD64_K3, 761)
0358 CV_REGISTER(AMD64_K4, 762)
0359 CV_REGISTER(AMD64_K5, 763)
0360 CV_REGISTER(AMD64_K6, 764)
0361 CV_REGISTER(AMD64_K7, 765)
0362 
0363 #pragma pop_macro("CR0")
0364 #pragma pop_macro("CR1")
0365 #pragma pop_macro("CR2")
0366 #pragma pop_macro("CR3")
0367 #pragma pop_macro("CR4")
0368 
0369 #endif // defined(CV_REGISTERS_ALL) || defined(CV_REGISTERS_X86)
0370 
0371 #if defined(CV_REGISTERS_ALL) || defined(CV_REGISTERS_ARM)
0372 
0373 // ARM registers
0374 
0375 CV_REGISTER(ARM_NOREG, 0)
0376 
0377 // General purpose 32-bit integer registers
0378 
0379 CV_REGISTER(ARM_R0, 10)
0380 CV_REGISTER(ARM_R1, 11)
0381 CV_REGISTER(ARM_R2, 12)
0382 CV_REGISTER(ARM_R3, 13)
0383 CV_REGISTER(ARM_R4, 14)
0384 CV_REGISTER(ARM_R5, 15)
0385 CV_REGISTER(ARM_R6, 16)
0386 CV_REGISTER(ARM_R7, 17)
0387 CV_REGISTER(ARM_R8, 18)
0388 CV_REGISTER(ARM_R9, 19)
0389 CV_REGISTER(ARM_R10, 20)
0390 CV_REGISTER(ARM_R11, 21)
0391 CV_REGISTER(ARM_R12, 22)
0392 CV_REGISTER(ARM_SP, 23)
0393 CV_REGISTER(ARM_LR, 24)
0394 CV_REGISTER(ARM_PC, 25)
0395 
0396 // Status register
0397 
0398 CV_REGISTER(ARM_CPSR, 26)
0399 
0400 // ARM VFPv1 registers
0401 
0402 CV_REGISTER(ARM_FPSCR, 40)
0403 CV_REGISTER(ARM_FPEXC, 41)
0404 
0405 CV_REGISTER(ARM_FS0, 50)
0406 CV_REGISTER(ARM_FS1, 51)
0407 CV_REGISTER(ARM_FS2, 52)
0408 CV_REGISTER(ARM_FS3, 53)
0409 CV_REGISTER(ARM_FS4, 54)
0410 CV_REGISTER(ARM_FS5, 55)
0411 CV_REGISTER(ARM_FS6, 56)
0412 CV_REGISTER(ARM_FS7, 57)
0413 CV_REGISTER(ARM_FS8, 58)
0414 CV_REGISTER(ARM_FS9, 59)
0415 CV_REGISTER(ARM_FS10, 60)
0416 CV_REGISTER(ARM_FS11, 61)
0417 CV_REGISTER(ARM_FS12, 62)
0418 CV_REGISTER(ARM_FS13, 63)
0419 CV_REGISTER(ARM_FS14, 64)
0420 CV_REGISTER(ARM_FS15, 65)
0421 CV_REGISTER(ARM_FS16, 66)
0422 CV_REGISTER(ARM_FS17, 67)
0423 CV_REGISTER(ARM_FS18, 68)
0424 CV_REGISTER(ARM_FS19, 69)
0425 CV_REGISTER(ARM_FS20, 70)
0426 CV_REGISTER(ARM_FS21, 71)
0427 CV_REGISTER(ARM_FS22, 72)
0428 CV_REGISTER(ARM_FS23, 73)
0429 CV_REGISTER(ARM_FS24, 74)
0430 CV_REGISTER(ARM_FS25, 75)
0431 CV_REGISTER(ARM_FS26, 76)
0432 CV_REGISTER(ARM_FS27, 77)
0433 CV_REGISTER(ARM_FS28, 78)
0434 CV_REGISTER(ARM_FS29, 79)
0435 CV_REGISTER(ARM_FS30, 80)
0436 CV_REGISTER(ARM_FS31, 81)
0437 
0438 // ARM VFPv3/NEON registers
0439 
0440 CV_REGISTER(ARM_FS32, 200)
0441 CV_REGISTER(ARM_FS33, 201)
0442 CV_REGISTER(ARM_FS34, 202)
0443 CV_REGISTER(ARM_FS35, 203)
0444 CV_REGISTER(ARM_FS36, 204)
0445 CV_REGISTER(ARM_FS37, 205)
0446 CV_REGISTER(ARM_FS38, 206)
0447 CV_REGISTER(ARM_FS39, 207)
0448 CV_REGISTER(ARM_FS40, 208)
0449 CV_REGISTER(ARM_FS41, 209)
0450 CV_REGISTER(ARM_FS42, 210)
0451 CV_REGISTER(ARM_FS43, 211)
0452 CV_REGISTER(ARM_FS44, 212)
0453 CV_REGISTER(ARM_FS45, 213)
0454 CV_REGISTER(ARM_FS46, 214)
0455 CV_REGISTER(ARM_FS47, 215)
0456 CV_REGISTER(ARM_FS48, 216)
0457 CV_REGISTER(ARM_FS49, 217)
0458 CV_REGISTER(ARM_FS50, 218)
0459 CV_REGISTER(ARM_FS51, 219)
0460 CV_REGISTER(ARM_FS52, 220)
0461 CV_REGISTER(ARM_FS53, 221)
0462 CV_REGISTER(ARM_FS54, 222)
0463 CV_REGISTER(ARM_FS55, 223)
0464 CV_REGISTER(ARM_FS56, 224)
0465 CV_REGISTER(ARM_FS57, 225)
0466 CV_REGISTER(ARM_FS58, 226)
0467 CV_REGISTER(ARM_FS59, 227)
0468 CV_REGISTER(ARM_FS60, 228)
0469 CV_REGISTER(ARM_FS61, 229)
0470 CV_REGISTER(ARM_FS62, 230)
0471 CV_REGISTER(ARM_FS63, 231)
0472 
0473 CV_REGISTER(ARM_ND0, 300)
0474 CV_REGISTER(ARM_ND1, 301)
0475 CV_REGISTER(ARM_ND2, 302)
0476 CV_REGISTER(ARM_ND3, 303)
0477 CV_REGISTER(ARM_ND4, 304)
0478 CV_REGISTER(ARM_ND5, 305)
0479 CV_REGISTER(ARM_ND6, 306)
0480 CV_REGISTER(ARM_ND7, 307)
0481 CV_REGISTER(ARM_ND8, 308)
0482 CV_REGISTER(ARM_ND9, 309)
0483 CV_REGISTER(ARM_ND10, 310)
0484 CV_REGISTER(ARM_ND11, 311)
0485 CV_REGISTER(ARM_ND12, 312)
0486 CV_REGISTER(ARM_ND13, 313)
0487 CV_REGISTER(ARM_ND14, 314)
0488 CV_REGISTER(ARM_ND15, 315)
0489 CV_REGISTER(ARM_ND16, 316)
0490 CV_REGISTER(ARM_ND17, 317)
0491 CV_REGISTER(ARM_ND18, 318)
0492 CV_REGISTER(ARM_ND19, 319)
0493 CV_REGISTER(ARM_ND20, 320)
0494 CV_REGISTER(ARM_ND21, 321)
0495 CV_REGISTER(ARM_ND22, 322)
0496 CV_REGISTER(ARM_ND23, 323)
0497 CV_REGISTER(ARM_ND24, 324)
0498 CV_REGISTER(ARM_ND25, 325)
0499 CV_REGISTER(ARM_ND26, 326)
0500 CV_REGISTER(ARM_ND27, 327)
0501 CV_REGISTER(ARM_ND28, 328)
0502 CV_REGISTER(ARM_ND29, 329)
0503 CV_REGISTER(ARM_ND30, 330)
0504 CV_REGISTER(ARM_ND31, 331)
0505 
0506 CV_REGISTER(ARM_NQ0, 400)
0507 CV_REGISTER(ARM_NQ1, 401)
0508 CV_REGISTER(ARM_NQ2, 402)
0509 CV_REGISTER(ARM_NQ3, 403)
0510 CV_REGISTER(ARM_NQ4, 404)
0511 CV_REGISTER(ARM_NQ5, 405)
0512 CV_REGISTER(ARM_NQ6, 406)
0513 CV_REGISTER(ARM_NQ7, 407)
0514 CV_REGISTER(ARM_NQ8, 408)
0515 CV_REGISTER(ARM_NQ9, 409)
0516 CV_REGISTER(ARM_NQ10, 410)
0517 CV_REGISTER(ARM_NQ11, 411)
0518 CV_REGISTER(ARM_NQ12, 412)
0519 CV_REGISTER(ARM_NQ13, 413)
0520 CV_REGISTER(ARM_NQ14, 414)
0521 CV_REGISTER(ARM_NQ15, 415)
0522 
0523 #endif // defined(CV_REGISTERS_ALL) || defined(CV_REGISTERS_ARM)
0524 
0525 #if defined(CV_REGISTERS_ALL) || defined(CV_REGISTERS_ARM64)
0526 
0527 // arm64intr.h from MSVC defines ARM64_FPSR and ARM64_FPCR, which conflicts with
0528 // these declarations.
0529 #pragma push_macro("ARM64_FPSR")
0530 #pragma push_macro("ARM64_FPCR")
0531 #undef ARM64_FPSR
0532 #undef ARM64_FPCR
0533 
0534 // ARM64 registers
0535 
0536 CV_REGISTER(ARM64_NOREG, 0)
0537 
0538 // General purpose 32-bit integer registers
0539 
0540 CV_REGISTER(ARM64_W0, 10)
0541 CV_REGISTER(ARM64_W1, 11)
0542 CV_REGISTER(ARM64_W2, 12)
0543 CV_REGISTER(ARM64_W3, 13)
0544 CV_REGISTER(ARM64_W4, 14)
0545 CV_REGISTER(ARM64_W5, 15)
0546 CV_REGISTER(ARM64_W6, 16)
0547 CV_REGISTER(ARM64_W7, 17)
0548 CV_REGISTER(ARM64_W8, 18)
0549 CV_REGISTER(ARM64_W9, 19)
0550 CV_REGISTER(ARM64_W10, 20)
0551 CV_REGISTER(ARM64_W11, 21)
0552 CV_REGISTER(ARM64_W12, 22)
0553 CV_REGISTER(ARM64_W13, 23)
0554 CV_REGISTER(ARM64_W14, 24)
0555 CV_REGISTER(ARM64_W15, 25)
0556 CV_REGISTER(ARM64_W16, 26)
0557 CV_REGISTER(ARM64_W17, 27)
0558 CV_REGISTER(ARM64_W18, 28)
0559 CV_REGISTER(ARM64_W19, 29)
0560 CV_REGISTER(ARM64_W20, 30)
0561 CV_REGISTER(ARM64_W21, 31)
0562 CV_REGISTER(ARM64_W22, 32)
0563 CV_REGISTER(ARM64_W23, 33)
0564 CV_REGISTER(ARM64_W24, 34)
0565 CV_REGISTER(ARM64_W25, 35)
0566 CV_REGISTER(ARM64_W26, 36)
0567 CV_REGISTER(ARM64_W27, 37)
0568 CV_REGISTER(ARM64_W28, 38)
0569 CV_REGISTER(ARM64_W29, 39)
0570 CV_REGISTER(ARM64_W30, 40)
0571 CV_REGISTER(ARM64_WZR, 41)
0572 
0573 // General purpose 64-bit integer registers
0574 
0575 CV_REGISTER(ARM64_X0, 50)
0576 CV_REGISTER(ARM64_X1, 51)
0577 CV_REGISTER(ARM64_X2, 52)
0578 CV_REGISTER(ARM64_X3, 53)
0579 CV_REGISTER(ARM64_X4, 54)
0580 CV_REGISTER(ARM64_X5, 55)
0581 CV_REGISTER(ARM64_X6, 56)
0582 CV_REGISTER(ARM64_X7, 57)
0583 CV_REGISTER(ARM64_X8, 58)
0584 CV_REGISTER(ARM64_X9, 59)
0585 CV_REGISTER(ARM64_X10, 60)
0586 CV_REGISTER(ARM64_X11, 61)
0587 CV_REGISTER(ARM64_X12, 62)
0588 CV_REGISTER(ARM64_X13, 63)
0589 CV_REGISTER(ARM64_X14, 64)
0590 CV_REGISTER(ARM64_X15, 65)
0591 CV_REGISTER(ARM64_X16, 66)
0592 CV_REGISTER(ARM64_X17, 67)
0593 CV_REGISTER(ARM64_X18, 68)
0594 CV_REGISTER(ARM64_X19, 69)
0595 CV_REGISTER(ARM64_X20, 70)
0596 CV_REGISTER(ARM64_X21, 71)
0597 CV_REGISTER(ARM64_X22, 72)
0598 CV_REGISTER(ARM64_X23, 73)
0599 CV_REGISTER(ARM64_X24, 74)
0600 CV_REGISTER(ARM64_X25, 75)
0601 CV_REGISTER(ARM64_X26, 76)
0602 CV_REGISTER(ARM64_X27, 77)
0603 CV_REGISTER(ARM64_X28, 78)
0604 CV_REGISTER(ARM64_FP, 79)
0605 CV_REGISTER(ARM64_LR, 80)
0606 CV_REGISTER(ARM64_SP, 81)
0607 CV_REGISTER(ARM64_ZR, 82)
0608 
0609 // status register
0610 
0611 CV_REGISTER(ARM64_NZCV, 90)
0612 
0613 // 32-bit floating point registers
0614 
0615 CV_REGISTER(ARM64_S0, 100)
0616 CV_REGISTER(ARM64_S1, 101)
0617 CV_REGISTER(ARM64_S2, 102)
0618 CV_REGISTER(ARM64_S3, 103)
0619 CV_REGISTER(ARM64_S4, 104)
0620 CV_REGISTER(ARM64_S5, 105)
0621 CV_REGISTER(ARM64_S6, 106)
0622 CV_REGISTER(ARM64_S7, 107)
0623 CV_REGISTER(ARM64_S8, 108)
0624 CV_REGISTER(ARM64_S9, 109)
0625 CV_REGISTER(ARM64_S10, 110)
0626 CV_REGISTER(ARM64_S11, 111)
0627 CV_REGISTER(ARM64_S12, 112)
0628 CV_REGISTER(ARM64_S13, 113)
0629 CV_REGISTER(ARM64_S14, 114)
0630 CV_REGISTER(ARM64_S15, 115)
0631 CV_REGISTER(ARM64_S16, 116)
0632 CV_REGISTER(ARM64_S17, 117)
0633 CV_REGISTER(ARM64_S18, 118)
0634 CV_REGISTER(ARM64_S19, 119)
0635 CV_REGISTER(ARM64_S20, 120)
0636 CV_REGISTER(ARM64_S21, 121)
0637 CV_REGISTER(ARM64_S22, 122)
0638 CV_REGISTER(ARM64_S23, 123)
0639 CV_REGISTER(ARM64_S24, 124)
0640 CV_REGISTER(ARM64_S25, 125)
0641 CV_REGISTER(ARM64_S26, 126)
0642 CV_REGISTER(ARM64_S27, 127)
0643 CV_REGISTER(ARM64_S28, 128)
0644 CV_REGISTER(ARM64_S29, 129)
0645 CV_REGISTER(ARM64_S30, 130)
0646 CV_REGISTER(ARM64_S31, 131)
0647 
0648 // 64-bit floating point registers
0649 
0650 CV_REGISTER(ARM64_D0, 140)
0651 CV_REGISTER(ARM64_D1, 141)
0652 CV_REGISTER(ARM64_D2, 142)
0653 CV_REGISTER(ARM64_D3, 143)
0654 CV_REGISTER(ARM64_D4, 144)
0655 CV_REGISTER(ARM64_D5, 145)
0656 CV_REGISTER(ARM64_D6, 146)
0657 CV_REGISTER(ARM64_D7, 147)
0658 CV_REGISTER(ARM64_D8, 148)
0659 CV_REGISTER(ARM64_D9, 149)
0660 CV_REGISTER(ARM64_D10, 150)
0661 CV_REGISTER(ARM64_D11, 151)
0662 CV_REGISTER(ARM64_D12, 152)
0663 CV_REGISTER(ARM64_D13, 153)
0664 CV_REGISTER(ARM64_D14, 154)
0665 CV_REGISTER(ARM64_D15, 155)
0666 CV_REGISTER(ARM64_D16, 156)
0667 CV_REGISTER(ARM64_D17, 157)
0668 CV_REGISTER(ARM64_D18, 158)
0669 CV_REGISTER(ARM64_D19, 159)
0670 CV_REGISTER(ARM64_D20, 160)
0671 CV_REGISTER(ARM64_D21, 161)
0672 CV_REGISTER(ARM64_D22, 162)
0673 CV_REGISTER(ARM64_D23, 163)
0674 CV_REGISTER(ARM64_D24, 164)
0675 CV_REGISTER(ARM64_D25, 165)
0676 CV_REGISTER(ARM64_D26, 166)
0677 CV_REGISTER(ARM64_D27, 167)
0678 CV_REGISTER(ARM64_D28, 168)
0679 CV_REGISTER(ARM64_D29, 169)
0680 CV_REGISTER(ARM64_D30, 170)
0681 CV_REGISTER(ARM64_D31, 171)
0682 
0683 // 128-bit SIMD registers
0684 
0685 CV_REGISTER(ARM64_Q0, 180)
0686 CV_REGISTER(ARM64_Q1, 181)
0687 CV_REGISTER(ARM64_Q2, 182)
0688 CV_REGISTER(ARM64_Q3, 183)
0689 CV_REGISTER(ARM64_Q4, 184)
0690 CV_REGISTER(ARM64_Q5, 185)
0691 CV_REGISTER(ARM64_Q6, 186)
0692 CV_REGISTER(ARM64_Q7, 187)
0693 CV_REGISTER(ARM64_Q8, 188)
0694 CV_REGISTER(ARM64_Q9, 189)
0695 CV_REGISTER(ARM64_Q10, 190)
0696 CV_REGISTER(ARM64_Q11, 191)
0697 CV_REGISTER(ARM64_Q12, 192)
0698 CV_REGISTER(ARM64_Q13, 193)
0699 CV_REGISTER(ARM64_Q14, 194)
0700 CV_REGISTER(ARM64_Q15, 195)
0701 CV_REGISTER(ARM64_Q16, 196)
0702 CV_REGISTER(ARM64_Q17, 197)
0703 CV_REGISTER(ARM64_Q18, 198)
0704 CV_REGISTER(ARM64_Q19, 199)
0705 CV_REGISTER(ARM64_Q20, 200)
0706 CV_REGISTER(ARM64_Q21, 201)
0707 CV_REGISTER(ARM64_Q22, 202)
0708 CV_REGISTER(ARM64_Q23, 203)
0709 CV_REGISTER(ARM64_Q24, 204)
0710 CV_REGISTER(ARM64_Q25, 205)
0711 CV_REGISTER(ARM64_Q26, 206)
0712 CV_REGISTER(ARM64_Q27, 207)
0713 CV_REGISTER(ARM64_Q28, 208)
0714 CV_REGISTER(ARM64_Q29, 209)
0715 CV_REGISTER(ARM64_Q30, 210)
0716 CV_REGISTER(ARM64_Q31, 211)
0717 
0718 // Floating point status register
0719 
0720 CV_REGISTER(ARM64_FPSR, 220)
0721 CV_REGISTER(ARM64_FPCR, 221)
0722 
0723 // 8 bit floating point registers
0724 
0725 CV_REGISTER(ARM64_B0, 230)
0726 CV_REGISTER(ARM64_B1, 231)
0727 CV_REGISTER(ARM64_B2, 232)
0728 CV_REGISTER(ARM64_B3, 233)
0729 CV_REGISTER(ARM64_B4, 234)
0730 CV_REGISTER(ARM64_B5, 235)
0731 CV_REGISTER(ARM64_B6, 236)
0732 CV_REGISTER(ARM64_B7, 237)
0733 CV_REGISTER(ARM64_B8, 238)
0734 CV_REGISTER(ARM64_B9, 239)
0735 CV_REGISTER(ARM64_B10, 240)
0736 CV_REGISTER(ARM64_B11, 241)
0737 CV_REGISTER(ARM64_B12, 242)
0738 CV_REGISTER(ARM64_B13, 243)
0739 CV_REGISTER(ARM64_B14, 244)
0740 CV_REGISTER(ARM64_B15, 245)
0741 CV_REGISTER(ARM64_B16, 246)
0742 CV_REGISTER(ARM64_B17, 247)
0743 CV_REGISTER(ARM64_B18, 248)
0744 CV_REGISTER(ARM64_B19, 249)
0745 CV_REGISTER(ARM64_B20, 250)
0746 CV_REGISTER(ARM64_B21, 251)
0747 CV_REGISTER(ARM64_B22, 252)
0748 CV_REGISTER(ARM64_B23, 253)
0749 CV_REGISTER(ARM64_B24, 254)
0750 CV_REGISTER(ARM64_B25, 255)
0751 CV_REGISTER(ARM64_B26, 256)
0752 CV_REGISTER(ARM64_B27, 257)
0753 CV_REGISTER(ARM64_B28, 258)
0754 CV_REGISTER(ARM64_B29, 259)
0755 CV_REGISTER(ARM64_B30, 260)
0756 CV_REGISTER(ARM64_B31, 261)
0757 
0758 // 16 bit floating point registers
0759 
0760 CV_REGISTER(ARM64_H0, 270)
0761 CV_REGISTER(ARM64_H1, 271)
0762 CV_REGISTER(ARM64_H2, 272)
0763 CV_REGISTER(ARM64_H3, 273)
0764 CV_REGISTER(ARM64_H4, 274)
0765 CV_REGISTER(ARM64_H5, 275)
0766 CV_REGISTER(ARM64_H6, 276)
0767 CV_REGISTER(ARM64_H7, 277)
0768 CV_REGISTER(ARM64_H8, 278)
0769 CV_REGISTER(ARM64_H9, 279)
0770 CV_REGISTER(ARM64_H10, 280)
0771 CV_REGISTER(ARM64_H11, 281)
0772 CV_REGISTER(ARM64_H12, 282)
0773 CV_REGISTER(ARM64_H13, 283)
0774 CV_REGISTER(ARM64_H14, 284)
0775 CV_REGISTER(ARM64_H15, 285)
0776 CV_REGISTER(ARM64_H16, 286)
0777 CV_REGISTER(ARM64_H17, 287)
0778 CV_REGISTER(ARM64_H18, 288)
0779 CV_REGISTER(ARM64_H19, 289)
0780 CV_REGISTER(ARM64_H20, 290)
0781 CV_REGISTER(ARM64_H21, 291)
0782 CV_REGISTER(ARM64_H22, 292)
0783 CV_REGISTER(ARM64_H23, 293)
0784 CV_REGISTER(ARM64_H24, 294)
0785 CV_REGISTER(ARM64_H25, 295)
0786 CV_REGISTER(ARM64_H26, 296)
0787 CV_REGISTER(ARM64_H27, 297)
0788 CV_REGISTER(ARM64_H28, 298)
0789 CV_REGISTER(ARM64_H29, 299)
0790 CV_REGISTER(ARM64_H30, 300)
0791 CV_REGISTER(ARM64_H31, 301)
0792 
0793 #pragma pop_macro("ARM64_FPSR")
0794 #pragma pop_macro("ARM64_FPCR")
0795 
0796 #endif // defined(CV_REGISTERS_ALL) || defined(CV_REGISTERS_ARM64)
0797 
0798 #if defined(CV_REGISTERS_ALL) || defined(CV_REGISTERS_MIPS)
0799 
0800 // MIPS registers
0801 CV_REGISTER(MIPS_NOREG, 0)
0802 
0803 // General purpose integer registers
0804 
0805 CV_REGISTER(MIPS_ZERO, 10)
0806 CV_REGISTER(MIPS_AT, 11)
0807 CV_REGISTER(MIPS_V0, 12)
0808 CV_REGISTER(MIPS_V1, 13)
0809 CV_REGISTER(MIPS_A0, 14)
0810 CV_REGISTER(MIPS_A1, 15)
0811 CV_REGISTER(MIPS_A2, 16)
0812 CV_REGISTER(MIPS_A3, 17)
0813 CV_REGISTER(MIPS_T0, 18)
0814 CV_REGISTER(MIPS_T1, 19)
0815 CV_REGISTER(MIPS_T2, 20)
0816 CV_REGISTER(MIPS_T3, 21)
0817 CV_REGISTER(MIPS_T4, 22)
0818 CV_REGISTER(MIPS_T5, 23)
0819 CV_REGISTER(MIPS_T6, 24)
0820 CV_REGISTER(MIPS_T7, 25)
0821 CV_REGISTER(MIPS_S0, 26)
0822 CV_REGISTER(MIPS_S1, 27)
0823 CV_REGISTER(MIPS_S2, 28)
0824 CV_REGISTER(MIPS_S3, 29)
0825 CV_REGISTER(MIPS_S4, 30)
0826 CV_REGISTER(MIPS_S5, 31)
0827 CV_REGISTER(MIPS_S6, 32)
0828 CV_REGISTER(MIPS_S7, 33)
0829 CV_REGISTER(MIPS_T8, 34)
0830 CV_REGISTER(MIPS_T9, 35)
0831 CV_REGISTER(MIPS_K0, 36)
0832 CV_REGISTER(MIPS_K1, 37)
0833 CV_REGISTER(MIPS_GP, 38)
0834 CV_REGISTER(MIPS_SP, 39)
0835 CV_REGISTER(MIPS_S8, 40)
0836 CV_REGISTER(MIPS_RA, 41)
0837 CV_REGISTER(MIPS_LO, 42)
0838 CV_REGISTER(MIPS_HI, 43)
0839 
0840 // Status registers
0841 
0842 CV_REGISTER(MIPS_Fir, 50)
0843 CV_REGISTER(MIPS_Psr, 51)
0844 
0845 // Floating-point registers
0846 
0847 CV_REGISTER(MIPS_F0, 60)
0848 CV_REGISTER(MIPS_F1, 61)
0849 CV_REGISTER(MIPS_F2, 62)
0850 CV_REGISTER(MIPS_F3, 63)
0851 CV_REGISTER(MIPS_F4, 64)
0852 CV_REGISTER(MIPS_F5, 65)
0853 CV_REGISTER(MIPS_F6, 66)
0854 CV_REGISTER(MIPS_F7, 67)
0855 CV_REGISTER(MIPS_F8, 68)
0856 CV_REGISTER(MIPS_F9, 69)
0857 CV_REGISTER(MIPS_F10, 70)
0858 CV_REGISTER(MIPS_F11, 71)
0859 CV_REGISTER(MIPS_F12, 72)
0860 CV_REGISTER(MIPS_F13, 73)
0861 CV_REGISTER(MIPS_F14, 74)
0862 CV_REGISTER(MIPS_F15, 75)
0863 CV_REGISTER(MIPS_F16, 76)
0864 CV_REGISTER(MIPS_F17, 77)
0865 CV_REGISTER(MIPS_F18, 78)
0866 CV_REGISTER(MIPS_F19, 79)
0867 CV_REGISTER(MIPS_F20, 80)
0868 CV_REGISTER(MIPS_F21, 81)
0869 CV_REGISTER(MIPS_F22, 82)
0870 CV_REGISTER(MIPS_F23, 83)
0871 CV_REGISTER(MIPS_F24, 84)
0872 CV_REGISTER(MIPS_F25, 85)
0873 CV_REGISTER(MIPS_F26, 86)
0874 CV_REGISTER(MIPS_F27, 87)
0875 CV_REGISTER(MIPS_F28, 88)
0876 CV_REGISTER(MIPS_F29, 89)
0877 CV_REGISTER(MIPS_F30, 90)
0878 CV_REGISTER(MIPS_F31, 91)
0879 CV_REGISTER(MIPS_Fsr, 92)
0880 
0881 #endif // defined(CV_REGISTERS_ALL) || defined(CV_REGISTERS_MIPS)