RegList.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. // Internal Listing Machine
  6. // Name Name Encode Type BitVec
  7. //------------------------------------------------------------------------
  8. // Illegal registers - must be first and have a value of 0
  9. // Internal Name
  10. // / Listing Name
  11. // / / Machine Encode
  12. // / / /
  13. // / / / Type
  14. // / / / / BitVec
  15. // / / / / /
  16. REGDAT(NOREG, noreg, 0xf, TyIllegal, RA_DONTALLOCATE)
  17. REGDAT(RAX, rax, 0, TyInt64, RA_CALLERSAVE | RA_BYTEABLE)
  18. REGDAT(RCX, rcx, 1, TyInt64, RA_CALLERSAVE | RA_BYTEABLE)
  19. REGDAT(RDX, rdx, 2, TyInt64, RA_CALLERSAVE | RA_BYTEABLE)
  20. REGDAT(RBX, rbx, 3, TyInt64, RA_CALLEESAVE | RA_BYTEABLE)
  21. REGDAT(RSP, rsp, 4, TyInt64, RA_DONTALLOCATE)
  22. REGDAT(RBP, rbp, 5, TyInt64, RA_DONTALLOCATE)
  23. REGDAT(RSI, rsi, 6, TyInt64, RA_CALLEESAVE)
  24. REGDAT(RDI, rdi, 7, TyInt64, RA_CALLEESAVE)
  25. REGDAT(R8, r8, 0, TyInt64, RA_CALLERSAVE | RA_BYTEABLE)
  26. REGDAT(R9, r9, 1, TyInt64, RA_CALLERSAVE | RA_BYTEABLE)
  27. REGDAT(R10, r10, 2, TyInt64, RA_CALLERSAVE | RA_BYTEABLE)
  28. REGDAT(R11, r11, 3, TyInt64, RA_CALLERSAVE | RA_BYTEABLE)
  29. REGDAT(R12, r12, 4, TyInt64, RA_CALLEESAVE | RA_BYTEABLE)
  30. REGDAT(R13, r13, 5, TyInt64, RA_CALLEESAVE | RA_BYTEABLE)
  31. REGDAT(R14, r14, 6, TyInt64, RA_CALLEESAVE | RA_BYTEABLE)
  32. REGDAT(R15, r15, 7, TyInt64, RA_CALLEESAVE | RA_BYTEABLE)
  33. REGDAT(XMM0, xmm0, 0, TyFloat64, 0)
  34. REGDAT(XMM1, xmm1, 1, TyFloat64, 0)
  35. REGDAT(XMM2, xmm2, 2, TyFloat64, 0)
  36. REGDAT(XMM3, xmm3, 3, TyFloat64, 0)
  37. REGDAT(XMM4, xmm4, 4, TyFloat64, 0)
  38. REGDAT(XMM5, xmm5, 5, TyFloat64, 0)
  39. REGDAT(XMM6, xmm6, 6, TyFloat64, RA_CALLEESAVE)
  40. REGDAT(XMM7, xmm7, 7, TyFloat64, RA_CALLEESAVE)
  41. REGDAT(XMM8, xmm8, 0, TyFloat64, RA_CALLEESAVE)
  42. REGDAT(XMM9, xmm9, 1, TyFloat64, RA_CALLEESAVE)
  43. REGDAT(XMM10, xmm10, 2, TyFloat64, RA_CALLEESAVE)
  44. REGDAT(XMM11, xmm11, 3, TyFloat64, RA_CALLEESAVE)
  45. REGDAT(XMM12, xmm12, 4, TyFloat64, RA_CALLEESAVE)
  46. REGDAT(XMM13, xmm13, 5, TyFloat64, RA_CALLEESAVE)
  47. REGDAT(XMM14, xmm14, 6, TyFloat64, RA_CALLEESAVE)
  48. REGDAT(XMM15, xmm15, 7, TyFloat64, RA_CALLEESAVE)