Add optimizers from string=* for simple-base-string= too.
[sbcl.git] / src / runtime / x86-64-lispregs.h
blobeecfc280da282617e77038fb6aff2111eccfe366
1 /*
2 * These register names and offsets correspond to definitions in
3 * compiler/x86/vm.lisp. They map into accessors in the OS-dependent
4 * POSIX signal context structure os_context_t via the
5 * os_context_register_addr(..) OS-dependent function.
6 */
8 /*
9 * This software is part of the SBCL system. See the README file for
10 * more information.
12 * This software is derived from the CMU CL system, which was
13 * written at Carnegie Mellon University and released into the
14 * public domain. The software is in the public domain and is
15 * provided with absolutely no warranty. See the COPYING and CREDITS
16 * files for more information.
19 /* the number of registers visible as registers in the virtual machine
20 * (excludes stuff like segment registers) */
21 #define NREGS (16)
23 #ifdef __ASSEMBLER__
24 #define REG(num) $ ## num
25 #else
26 #define REG(num) num
27 #endif
29 #define reg_RAX REG( 0)
30 #define reg_RCX REG( 1)
31 #define reg_RDX REG( 2)
32 #define reg_RBX REG( 3)
33 #define reg_RSP REG( 4)
34 #define reg_RBP REG( 5)
35 #define reg_RSI REG( 6)
36 #define reg_RDI REG( 7)
37 #define reg_R8 REG( 8)
38 #define reg_R9 REG( 9)
39 #define reg_R10 REG(10)
40 #define reg_R11 REG(11)
41 #define reg_R12 REG(12)
42 #define reg_R13 REG(13)
43 #define reg_R14 REG(14)
44 #define reg_R15 REG(15)
46 /* reg_SP = stack pointer, reg_FP = frame pointer */
47 #define reg_SP reg_RSP
48 #define reg_FP reg_RBP