1//===-- CodeViewRegisters.def - CodeView registers --------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// See CV_HREG_e in cvconst.h. This should match the constants there. 11// 12//===----------------------------------------------------------------------===// 13 14#ifndef CV_REGISTER 15#define CV_REGISTER(name, value) 16#endif 17 18// This currently only contains the "register subset shared by all processor 19// types" (ERR etc.) and the x86 registers. 20 21// Some system headers define macros that conflict with our enums. Every 22// compiler supported by LLVM has the push_macro and pop_macro pragmas, so use 23// them to avoid the conflict. 24#pragma push_macro("CR0") 25#pragma push_macro("CR1") 26#pragma push_macro("CR2") 27#pragma push_macro("CR3") 28#pragma push_macro("CR4") 29 30CV_REGISTER(ERR, 30000) 31CV_REGISTER(TEB, 30001) 32CV_REGISTER(TIMER, 30002) 33CV_REGISTER(EFAD1, 30003) 34CV_REGISTER(EFAD2, 30004) 35CV_REGISTER(EFAD3, 30005) 36CV_REGISTER(VFRAME, 30006) 37CV_REGISTER(HANDLE, 30007) 38CV_REGISTER(PARAMS, 30008) 39CV_REGISTER(LOCALS, 30009) 40CV_REGISTER(TID, 30010) 41CV_REGISTER(ENV, 30011) 42CV_REGISTER(CMDLN, 30012) 43 44CV_REGISTER(NONE, 0) 45CV_REGISTER(AL, 1) 46CV_REGISTER(CL, 2) 47CV_REGISTER(DL, 3) 48CV_REGISTER(BL, 4) 49CV_REGISTER(AH, 5) 50CV_REGISTER(CH, 6) 51CV_REGISTER(DH, 7) 52CV_REGISTER(BH, 8) 53CV_REGISTER(AX, 9) 54CV_REGISTER(CX, 10) 55CV_REGISTER(DX, 11) 56CV_REGISTER(BX, 12) 57CV_REGISTER(SP, 13) 58CV_REGISTER(BP, 14) 59CV_REGISTER(SI, 15) 60CV_REGISTER(DI, 16) 61CV_REGISTER(EAX, 17) 62CV_REGISTER(ECX, 18) 63CV_REGISTER(EDX, 19) 64CV_REGISTER(EBX, 20) 65CV_REGISTER(ESP, 21) 66CV_REGISTER(EBP, 22) 67CV_REGISTER(ESI, 23) 68CV_REGISTER(EDI, 24) 69CV_REGISTER(ES, 25) 70CV_REGISTER(CS, 26) 71CV_REGISTER(SS, 27) 72CV_REGISTER(DS, 28) 73CV_REGISTER(FS, 29) 74CV_REGISTER(GS, 30) 75CV_REGISTER(IP, 31) 76CV_REGISTER(FLAGS, 32) 77CV_REGISTER(EIP, 33) 78CV_REGISTER(EFLAGS, 34) 79CV_REGISTER(TEMP, 40) 80CV_REGISTER(TEMPH, 41) 81CV_REGISTER(QUOTE, 42) 82CV_REGISTER(PCDR3, 43) 83CV_REGISTER(PCDR4, 44) 84CV_REGISTER(PCDR5, 45) 85CV_REGISTER(PCDR6, 46) 86CV_REGISTER(PCDR7, 47) 87CV_REGISTER(CR0, 80) 88CV_REGISTER(CR1, 81) 89CV_REGISTER(CR2, 82) 90CV_REGISTER(CR3, 83) 91CV_REGISTER(CR4, 84) 92CV_REGISTER(DR0, 90) 93CV_REGISTER(DR1, 91) 94CV_REGISTER(DR2, 92) 95CV_REGISTER(DR3, 93) 96CV_REGISTER(DR4, 94) 97CV_REGISTER(DR5, 95) 98CV_REGISTER(DR6, 96) 99CV_REGISTER(DR7, 97) 100CV_REGISTER(GDTR, 110) 101CV_REGISTER(GDTL, 111) 102CV_REGISTER(IDTR, 112) 103CV_REGISTER(IDTL, 113) 104CV_REGISTER(LDTR, 114) 105CV_REGISTER(TR, 115) 106 107CV_REGISTER(PSEUDO1, 116) 108CV_REGISTER(PSEUDO2, 117) 109CV_REGISTER(PSEUDO3, 118) 110CV_REGISTER(PSEUDO4, 119) 111CV_REGISTER(PSEUDO5, 120) 112CV_REGISTER(PSEUDO6, 121) 113CV_REGISTER(PSEUDO7, 122) 114CV_REGISTER(PSEUDO8, 123) 115CV_REGISTER(PSEUDO9, 124) 116 117CV_REGISTER(ST0, 128) 118CV_REGISTER(ST1, 129) 119CV_REGISTER(ST2, 130) 120CV_REGISTER(ST3, 131) 121CV_REGISTER(ST4, 132) 122CV_REGISTER(ST5, 133) 123CV_REGISTER(ST6, 134) 124CV_REGISTER(ST7, 135) 125CV_REGISTER(CTRL, 136) 126CV_REGISTER(STAT, 137) 127CV_REGISTER(TAG, 138) 128CV_REGISTER(FPIP, 139) 129CV_REGISTER(FPCS, 140) 130CV_REGISTER(FPDO, 141) 131CV_REGISTER(FPDS, 142) 132CV_REGISTER(ISEM, 143) 133CV_REGISTER(FPEIP, 144) 134CV_REGISTER(FPEDO, 145) 135 136CV_REGISTER(MM0, 146) 137CV_REGISTER(MM1, 147) 138CV_REGISTER(MM2, 148) 139CV_REGISTER(MM3, 149) 140CV_REGISTER(MM4, 150) 141CV_REGISTER(MM5, 151) 142CV_REGISTER(MM6, 152) 143CV_REGISTER(MM7, 153) 144 145CV_REGISTER(XMM0, 154) 146CV_REGISTER(XMM1, 155) 147CV_REGISTER(XMM2, 156) 148CV_REGISTER(XMM3, 157) 149CV_REGISTER(XMM4, 158) 150CV_REGISTER(XMM5, 159) 151CV_REGISTER(XMM6, 160) 152CV_REGISTER(XMM7, 161) 153 154CV_REGISTER(MXCSR, 211) 155 156CV_REGISTER(EDXEAX, 212) 157 158CV_REGISTER(EMM0L, 220) 159CV_REGISTER(EMM1L, 221) 160CV_REGISTER(EMM2L, 222) 161CV_REGISTER(EMM3L, 223) 162CV_REGISTER(EMM4L, 224) 163CV_REGISTER(EMM5L, 225) 164CV_REGISTER(EMM6L, 226) 165CV_REGISTER(EMM7L, 227) 166 167CV_REGISTER(EMM0H, 228) 168CV_REGISTER(EMM1H, 229) 169CV_REGISTER(EMM2H, 230) 170CV_REGISTER(EMM3H, 231) 171CV_REGISTER(EMM4H, 232) 172CV_REGISTER(EMM5H, 233) 173CV_REGISTER(EMM6H, 234) 174CV_REGISTER(EMM7H, 235) 175 176CV_REGISTER(MM00, 236) 177CV_REGISTER(MM01, 237) 178CV_REGISTER(MM10, 238) 179CV_REGISTER(MM11, 239) 180CV_REGISTER(MM20, 240) 181CV_REGISTER(MM21, 241) 182CV_REGISTER(MM30, 242) 183CV_REGISTER(MM31, 243) 184CV_REGISTER(MM40, 244) 185CV_REGISTER(MM41, 245) 186CV_REGISTER(MM50, 246) 187CV_REGISTER(MM51, 247) 188CV_REGISTER(MM60, 248) 189CV_REGISTER(MM61, 249) 190CV_REGISTER(MM70, 250) 191CV_REGISTER(MM71, 251) 192 193CV_REGISTER(BND0, 396) 194CV_REGISTER(BND1, 397) 195CV_REGISTER(BND2, 398) 196 197 198CV_REGISTER(XMM8, 252) 199CV_REGISTER(XMM9, 253) 200CV_REGISTER(XMM10, 254) 201CV_REGISTER(XMM11, 255) 202CV_REGISTER(XMM12, 256) 203CV_REGISTER(XMM13, 257) 204CV_REGISTER(XMM14, 258) 205CV_REGISTER(XMM15, 259) 206 207 208CV_REGISTER(SIL, 324) 209CV_REGISTER(DIL, 325) 210CV_REGISTER(BPL, 326) 211CV_REGISTER(SPL, 327) 212 213CV_REGISTER(RAX, 328) 214CV_REGISTER(RBX, 329) 215CV_REGISTER(RCX, 330) 216CV_REGISTER(RDX, 331) 217CV_REGISTER(RSI, 332) 218CV_REGISTER(RDI, 333) 219CV_REGISTER(RBP, 334) 220CV_REGISTER(RSP, 335) 221 222CV_REGISTER(R8, 336) 223CV_REGISTER(R9, 337) 224CV_REGISTER(R10, 338) 225CV_REGISTER(R11, 339) 226CV_REGISTER(R12, 340) 227CV_REGISTER(R13, 341) 228CV_REGISTER(R14, 342) 229CV_REGISTER(R15, 343) 230 231CV_REGISTER(R8B, 344) 232CV_REGISTER(R9B, 345) 233CV_REGISTER(R10B, 346) 234CV_REGISTER(R11B, 347) 235CV_REGISTER(R12B, 348) 236CV_REGISTER(R13B, 349) 237CV_REGISTER(R14B, 350) 238CV_REGISTER(R15B, 351) 239 240CV_REGISTER(R8W, 352) 241CV_REGISTER(R9W, 353) 242CV_REGISTER(R10W, 354) 243CV_REGISTER(R11W, 355) 244CV_REGISTER(R12W, 356) 245CV_REGISTER(R13W, 357) 246CV_REGISTER(R14W, 358) 247CV_REGISTER(R15W, 359) 248 249CV_REGISTER(R8D, 360) 250CV_REGISTER(R9D, 361) 251CV_REGISTER(R10D, 362) 252CV_REGISTER(R11D, 363) 253CV_REGISTER(R12D, 364) 254CV_REGISTER(R13D, 365) 255CV_REGISTER(R14D, 366) 256CV_REGISTER(R15D, 367) 257 258 259// cvconst.h defines both CV_REG_YMM0 (252) and CV_AMD64_YMM0 (368). Keep the 260// original prefix to distinguish them. 261 262CV_REGISTER(AMD64_YMM0, 368) 263CV_REGISTER(AMD64_YMM1, 369) 264CV_REGISTER(AMD64_YMM2, 370) 265CV_REGISTER(AMD64_YMM3, 371) 266CV_REGISTER(AMD64_YMM4, 372) 267CV_REGISTER(AMD64_YMM5, 373) 268CV_REGISTER(AMD64_YMM6, 374) 269CV_REGISTER(AMD64_YMM7, 375) 270CV_REGISTER(AMD64_YMM8, 376) 271CV_REGISTER(AMD64_YMM9, 377) 272CV_REGISTER(AMD64_YMM10, 378) 273CV_REGISTER(AMD64_YMM11, 379) 274CV_REGISTER(AMD64_YMM12, 380) 275CV_REGISTER(AMD64_YMM13, 381) 276CV_REGISTER(AMD64_YMM14, 382) 277CV_REGISTER(AMD64_YMM15, 383) 278 279CV_REGISTER(AMD64_XMM16, 694) 280CV_REGISTER(AMD64_XMM17, 695) 281CV_REGISTER(AMD64_XMM18, 696) 282CV_REGISTER(AMD64_XMM19, 697) 283CV_REGISTER(AMD64_XMM20, 698) 284CV_REGISTER(AMD64_XMM21, 699) 285CV_REGISTER(AMD64_XMM22, 700) 286CV_REGISTER(AMD64_XMM23, 701) 287CV_REGISTER(AMD64_XMM24, 702) 288CV_REGISTER(AMD64_XMM25, 703) 289CV_REGISTER(AMD64_XMM26, 704) 290CV_REGISTER(AMD64_XMM27, 705) 291CV_REGISTER(AMD64_XMM28, 706) 292CV_REGISTER(AMD64_XMM29, 707) 293CV_REGISTER(AMD64_XMM30, 708) 294CV_REGISTER(AMD64_XMM31, 709) 295 296CV_REGISTER(AMD64_YMM16, 710) 297CV_REGISTER(AMD64_YMM17, 711) 298CV_REGISTER(AMD64_YMM18, 712) 299CV_REGISTER(AMD64_YMM19, 713) 300CV_REGISTER(AMD64_YMM20, 714) 301CV_REGISTER(AMD64_YMM21, 715) 302CV_REGISTER(AMD64_YMM22, 716) 303CV_REGISTER(AMD64_YMM23, 717) 304CV_REGISTER(AMD64_YMM24, 718) 305CV_REGISTER(AMD64_YMM25, 719) 306CV_REGISTER(AMD64_YMM26, 720) 307CV_REGISTER(AMD64_YMM27, 721) 308CV_REGISTER(AMD64_YMM28, 722) 309CV_REGISTER(AMD64_YMM29, 723) 310CV_REGISTER(AMD64_YMM30, 724) 311CV_REGISTER(AMD64_YMM31, 725) 312 313CV_REGISTER(AMD64_ZMM0, 726) 314CV_REGISTER(AMD64_ZMM1, 727) 315CV_REGISTER(AMD64_ZMM2, 728) 316CV_REGISTER(AMD64_ZMM3, 729) 317CV_REGISTER(AMD64_ZMM4, 730) 318CV_REGISTER(AMD64_ZMM5, 731) 319CV_REGISTER(AMD64_ZMM6, 732) 320CV_REGISTER(AMD64_ZMM7, 733) 321CV_REGISTER(AMD64_ZMM8, 734) 322CV_REGISTER(AMD64_ZMM9, 735) 323CV_REGISTER(AMD64_ZMM10, 736) 324CV_REGISTER(AMD64_ZMM11, 737) 325CV_REGISTER(AMD64_ZMM12, 738) 326CV_REGISTER(AMD64_ZMM13, 739) 327CV_REGISTER(AMD64_ZMM14, 740) 328CV_REGISTER(AMD64_ZMM15, 741) 329CV_REGISTER(AMD64_ZMM16, 742) 330CV_REGISTER(AMD64_ZMM17, 743) 331CV_REGISTER(AMD64_ZMM18, 744) 332CV_REGISTER(AMD64_ZMM19, 745) 333CV_REGISTER(AMD64_ZMM20, 746) 334CV_REGISTER(AMD64_ZMM21, 747) 335CV_REGISTER(AMD64_ZMM22, 748) 336CV_REGISTER(AMD64_ZMM23, 749) 337CV_REGISTER(AMD64_ZMM24, 750) 338CV_REGISTER(AMD64_ZMM25, 751) 339CV_REGISTER(AMD64_ZMM26, 752) 340CV_REGISTER(AMD64_ZMM27, 753) 341CV_REGISTER(AMD64_ZMM28, 754) 342CV_REGISTER(AMD64_ZMM29, 755) 343CV_REGISTER(AMD64_ZMM30, 756) 344CV_REGISTER(AMD64_ZMM31, 757) 345 346CV_REGISTER(AMD64_K0, 758) 347CV_REGISTER(AMD64_K1, 759) 348CV_REGISTER(AMD64_K2, 760) 349CV_REGISTER(AMD64_K3, 761) 350CV_REGISTER(AMD64_K4, 762) 351CV_REGISTER(AMD64_K5, 763) 352CV_REGISTER(AMD64_K6, 764) 353CV_REGISTER(AMD64_K7, 765) 354 355#pragma pop_macro("CR0") 356#pragma pop_macro("CR1") 357#pragma pop_macro("CR2") 358#pragma pop_macro("CR3") 359#pragma pop_macro("CR4") 360