Fix reading Time zone rules using Julian days (#17672)
[platform/upstream/coreclr.git] / src / jit / registerarm.h
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.
4
5 // clang-format off
6
7 /*****************************************************************************/
8 /*****************************************************************************/
9 #ifndef REGDEF
10 #error  Must define REGDEF macro before including this file
11 #endif
12 #ifndef REGALIAS
13 #define REGALIAS(alias, realname)
14 #endif
15
16 /*
17 REGDEF(name, rnum,   mask, sname) */
18 REGDEF(R0,      0, 0x0001, "r0"   )
19 REGDEF(R1,      1, 0x0002, "r1"   )
20 REGDEF(R2,      2, 0x0004, "r2"   )
21 REGDEF(R3,      3, 0x0008, "r3"   )
22 REGDEF(R4,      4, 0x0010, "r4"   )
23 REGDEF(R5,      5, 0x0020, "r5"   )
24 REGDEF(R6,      6, 0x0040, "r6"   )
25 REGDEF(R7,      7, 0x0080, "r7"   )
26 REGDEF(R8,      8, 0x0100, "r8"   )
27 REGDEF(R9,      9, 0x0200, "r9"   )
28 REGDEF(R10,    10, 0x0400, "r10"  )
29 REGDEF(R11,    11, 0x0800, "r11"  )
30 REGDEF(R12,    12, 0x1000, "r12"  )
31 REGDEF(SP,     13, 0x2000, "sp"   )
32 REGDEF(LR,     14, 0x4000, "lr"   )
33 REGDEF(PC,     15, 0x8000, "pc"   )
34
35 #define FPBASE 16
36 #define VFPMASK(x) (((__int64)1) << (x+FPBASE))
37
38 REGDEF(F0,    0+FPBASE, VFPMASK(0),  "f0")
39 REGDEF(F1,    1+FPBASE, VFPMASK(1),  "f1")
40 REGDEF(F2,    2+FPBASE, VFPMASK(2),  "f2")
41 REGDEF(F3,    3+FPBASE, VFPMASK(3),  "f3")
42 REGDEF(F4,    4+FPBASE, VFPMASK(4),  "f4")
43 REGDEF(F5,    5+FPBASE, VFPMASK(5),  "f5")
44 REGDEF(F6,    6+FPBASE, VFPMASK(6),  "f6")
45 REGDEF(F7,    7+FPBASE, VFPMASK(7),  "f7")
46 REGDEF(F8,    8+FPBASE, VFPMASK(8),  "f8")
47 REGDEF(F9,    9+FPBASE, VFPMASK(9),  "f9")
48 REGDEF(F10,  10+FPBASE, VFPMASK(10), "f10")
49 REGDEF(F11,  11+FPBASE, VFPMASK(11), "f11")
50 REGDEF(F12,  12+FPBASE, VFPMASK(12), "f12")
51 REGDEF(F13,  13+FPBASE, VFPMASK(13), "f13")
52 REGDEF(F14,  14+FPBASE, VFPMASK(14), "f14")
53 REGDEF(F15,  15+FPBASE, VFPMASK(15), "f15")
54 REGDEF(F16,  16+FPBASE, VFPMASK(16), "f16")
55 REGDEF(F17,  17+FPBASE, VFPMASK(17), "f17")
56 REGDEF(F18,  18+FPBASE, VFPMASK(18), "f18")
57 REGDEF(F19,  19+FPBASE, VFPMASK(19), "f19")
58 REGDEF(F20,  20+FPBASE, VFPMASK(20), "f20")
59 REGDEF(F21,  21+FPBASE, VFPMASK(21), "f21")
60 REGDEF(F22,  22+FPBASE, VFPMASK(22), "f22")
61 REGDEF(F23,  23+FPBASE, VFPMASK(23), "f23")
62 REGDEF(F24,  24+FPBASE, VFPMASK(24), "f24")
63 REGDEF(F25,  25+FPBASE, VFPMASK(25), "f25")
64 REGDEF(F26,  26+FPBASE, VFPMASK(26), "f26")
65 REGDEF(F27,  27+FPBASE, VFPMASK(27), "f27")
66 REGDEF(F28,  28+FPBASE, VFPMASK(28), "f28")
67 REGDEF(F29,  29+FPBASE, VFPMASK(29), "f29")
68 REGDEF(F30,  30+FPBASE, VFPMASK(30), "f30")
69 REGDEF(F31,  31+FPBASE, VFPMASK(31), "f31")
70
71
72 // Allow us to call R11/FP, SP, LR and PC by their register number names 
73 REGALIAS(FP,  R11)
74 REGALIAS(R13, SP)
75 REGALIAS(R14, LR)
76 REGALIAS(R15, PC)
77
78 // This must be last!
79 REGDEF(STK,  32+FPBASE, 0x0000,      "STK")
80
81 /*****************************************************************************/
82 #undef  REGDEF
83 #undef  REGALIAS
84 /*****************************************************************************/
85
86 // clang-format on