1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
7 /*****************************************************************************/
8 /*****************************************************************************/
10 #error Must define REGDEF macro before including this file
13 #define REGALIAS(alias, realname)
16 #if defined(_TARGET_XARCH_)
18 #if defined(_TARGET_X86_)
20 REGDEF(name, rnum, mask, sname) */
21 REGDEF(EAX, 0, 0x01, "eax" )
22 REGDEF(ECX, 1, 0x02, "ecx" )
23 REGDEF(EDX, 2, 0x04, "edx" )
24 REGDEF(EBX, 3, 0x08, "ebx" )
25 REGDEF(ESP, 4, 0x10, "esp" )
26 REGDEF(EBP, 5, 0x20, "ebp" )
27 REGDEF(ESI, 6, 0x40, "esi" )
28 REGDEF(EDI, 7, 0x80, "edi" )
38 #else // !defined(_TARGET_X86_)
41 REGDEF(name, rnum, mask, sname) */
42 REGDEF(RAX, 0, 0x0001, "rax" )
43 REGDEF(RCX, 1, 0x0002, "rcx" )
44 REGDEF(RDX, 2, 0x0004, "rdx" )
45 REGDEF(RBX, 3, 0x0008, "rbx" )
46 REGDEF(RSP, 4, 0x0010, "rsp" )
47 REGDEF(RBP, 5, 0x0020, "rbp" )
48 REGDEF(RSI, 6, 0x0040, "rsi" )
49 REGDEF(RDI, 7, 0x0080, "rdi" )
50 REGDEF(R8, 8, 0x0100, "r8" )
51 REGDEF(R9, 9, 0x0200, "r9" )
52 REGDEF(R10, 10, 0x0400, "r10" )
53 REGDEF(R11, 11, 0x0800, "r11" )
54 REGDEF(R12, 12, 0x1000, "r12" )
55 REGDEF(R13, 13, 0x2000, "r13" )
56 REGDEF(R14, 14, 0x4000, "r14" )
57 REGDEF(R15, 15, 0x8000, "r15" )
68 #endif // !defined(_TARGET_X86_)
72 REGDEF(STK, 8, 0x00, "STK" )
74 #else // !LEGACY_BACKEND
78 #define XMMMASK(x) (__int64(1) << (x+XMMBASE))
79 #else // !_TARGET_AMD64_
81 #define XMMMASK(x) (__int32(1) << (x+XMMBASE))
82 #endif // !_TARGET_AMD64_
84 REGDEF(XMM0, 0+XMMBASE, XMMMASK(0), "mm0" )
85 REGDEF(XMM1, 1+XMMBASE, XMMMASK(1), "mm1" )
86 REGDEF(XMM2, 2+XMMBASE, XMMMASK(2), "mm2" )
87 REGDEF(XMM3, 3+XMMBASE, XMMMASK(3), "mm3" )
88 REGDEF(XMM4, 4+XMMBASE, XMMMASK(4), "mm4" )
89 REGDEF(XMM5, 5+XMMBASE, XMMMASK(5), "mm5" )
90 REGDEF(XMM6, 6+XMMBASE, XMMMASK(6), "mm6" )
91 REGDEF(XMM7, 7+XMMBASE, XMMMASK(7), "mm7" )
94 REGDEF(STK, 8+XMMBASE, 0x0000, "STK" )
95 #else // !_TARGET_X86_
96 REGDEF(XMM8, 8+XMMBASE, XMMMASK(8), "mm8" )
97 REGDEF(XMM9, 9+XMMBASE, XMMMASK(9), "mm9" )
98 REGDEF(XMM10, 10+XMMBASE, XMMMASK(10), "mm10" )
99 REGDEF(XMM11, 11+XMMBASE, XMMMASK(11), "mm11" )
100 REGDEF(XMM12, 12+XMMBASE, XMMMASK(12), "mm12" )
101 REGDEF(XMM13, 13+XMMBASE, XMMMASK(13), "mm13" )
102 REGDEF(XMM14, 14+XMMBASE, XMMMASK(14), "mm14" )
103 REGDEF(XMM15, 15+XMMBASE, XMMMASK(15), "mm15" )
104 REGDEF(STK, 16+XMMBASE, 0x0000, "STK" )
105 #endif // !_TARGET_X86_
107 #endif // !LEGACY_BACKEND
109 #elif defined(_TARGET_ARM_)
110 #include "registerarm.h"
112 #elif defined(_TARGET_ARM64_)
113 #include "registerarm64.h"
116 #error Unsupported or unset target architecture
117 #endif // target type
118 /*****************************************************************************/
122 /*****************************************************************************/