x86-64: Integrate Paul Khuong's interleaved raw slot feature.
[sbcl.git] / src / runtime / sparc-lispregs.h
blob127e9e2eccab5bbc331bc9a217505c22288765a9
1 /*
2 * This software is part of the SBCL system. See the README file for
3 * more information.
5 * This software is derived from the CMU CL system, which was
6 * written at Carnegie Mellon University and released into the
7 * public domain. The software is in the public domain and is
8 * provided with absolutely no warranty. See the COPYING and CREDITS
9 * files for more information.
13 #define NREGS (32)
15 #ifdef LANGUAGE_ASSEMBLY
16 #define GREG(num) %g##num
17 #define OREG(num) %o##num
18 #define LREG(num) %l##num
19 #define IREG(num) %i##num
21 #else
23 #define GREG(num) (num)
24 #define OREG(num) ((num)+8)
25 #define LREG(num) ((num)+16)
26 #define IREG(num) ((num)+24)
28 #endif
30 #define reg_ZERO GREG(0)
31 #define reg_ALLOC GREG(1)
32 #define reg_NIL GREG(2)
33 #define reg_CSP GREG(3)
34 #define reg_CFP GREG(4)
35 #define reg_BSP GREG(5)
36 /* %g6 and %g7 are supposed to be reserved for the system */
38 #define reg_NL0 OREG(0)
39 #define reg_NL1 OREG(1)
40 #define reg_NL2 OREG(2)
41 #define reg_NL3 OREG(3)
42 #define reg_NL4 OREG(4)
43 #define reg_NL5 OREG(5)
44 #define reg_NSP OREG(6)
45 #define reg_NARGS OREG(7)
47 #define reg_A0 LREG(0)
48 #define reg_A1 LREG(1)
49 #define reg_A2 LREG(2)
50 #define reg_A3 LREG(3)
51 #define reg_A4 LREG(4)
52 #define reg_A5 LREG(5)
53 #define reg_OCFP LREG(6)
54 #define reg_LRA LREG(7)
56 #define reg_FDEFN IREG(0)
57 #define reg_LEXENV IREG(1)
58 #define reg_L0 IREG(2)
59 #define reg_NFP IREG(3)
60 #define reg_CFUNC IREG(4)
61 #define reg_CODE IREG(5)
62 #define reg_LIP IREG(7)
64 #define REGNAMES \
65 "ZERO", "ALLOC", "NULL", "CSP", \
66 "CFP", "BSP", "%g6", "%g7", \
67 "NL0", "NL1", "NL2", "NL3", \
68 "NL4", "NL5", "NSP", "NARGS", \
69 "A0", "A1", "A2", "A3", \
70 "A4", "A5", "OCFP", "LRA", \
71 "FDEFN", "LEXENV", "L0", "NFP", \
72 "CFUNC", "CODE", "???", "LIP"
74 #define BOXED_REGISTERS { \
75 reg_A0, reg_A1, reg_A2, reg_A3, reg_A4, reg_A5, reg_FDEFN, reg_LEXENV, \
76 reg_OCFP, reg_LRA, reg_L0, reg_CODE \