register_definitions_x86.cpp revision 0:a61af66fc99e
1/*
2 * Copyright 2002-2005 Sun Microsystems, Inc.  All Rights Reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
20 * CA 95054 USA or visit www.sun.com if you need additional information or
21 * have any questions.
22 *
23 */
24
25// make sure the defines don't screw up the declarations later on in this file
26#define DONT_USE_REGISTER_DEFINES
27
28#include "incls/_precompiled.incl"
29#include "incls/_register_definitions_x86.cpp.incl"
30
31REGISTER_DEFINITION(Register, noreg);
32REGISTER_DEFINITION(Register, rax);
33REGISTER_DEFINITION(Register, rcx);
34REGISTER_DEFINITION(Register, rdx);
35REGISTER_DEFINITION(Register, rbx);
36REGISTER_DEFINITION(Register, rsp);
37REGISTER_DEFINITION(Register, rbp);
38REGISTER_DEFINITION(Register, rsi);
39REGISTER_DEFINITION(Register, rdi);
40#ifdef AMD64
41REGISTER_DEFINITION(Register, r8);
42REGISTER_DEFINITION(Register, r9);
43REGISTER_DEFINITION(Register, r10);
44REGISTER_DEFINITION(Register, r11);
45REGISTER_DEFINITION(Register, r12);
46REGISTER_DEFINITION(Register, r13);
47REGISTER_DEFINITION(Register, r14);
48REGISTER_DEFINITION(Register, r15);
49#endif // AMD64
50
51REGISTER_DEFINITION(XMMRegister, xmm0 );
52REGISTER_DEFINITION(XMMRegister, xmm1 );
53REGISTER_DEFINITION(XMMRegister, xmm2 );
54REGISTER_DEFINITION(XMMRegister, xmm3 );
55REGISTER_DEFINITION(XMMRegister, xmm4 );
56REGISTER_DEFINITION(XMMRegister, xmm5 );
57REGISTER_DEFINITION(XMMRegister, xmm6 );
58REGISTER_DEFINITION(XMMRegister, xmm7 );
59#ifdef AMD64
60REGISTER_DEFINITION(XMMRegister, xmm8);
61REGISTER_DEFINITION(XMMRegister, xmm9);
62REGISTER_DEFINITION(XMMRegister, xmm10);
63REGISTER_DEFINITION(XMMRegister, xmm11);
64REGISTER_DEFINITION(XMMRegister, xmm12);
65REGISTER_DEFINITION(XMMRegister, xmm13);
66REGISTER_DEFINITION(XMMRegister, xmm14);
67REGISTER_DEFINITION(XMMRegister, xmm15);
68
69REGISTER_DEFINITION(Register, c_rarg0);
70REGISTER_DEFINITION(Register, c_rarg1);
71REGISTER_DEFINITION(Register, c_rarg2);
72REGISTER_DEFINITION(Register, c_rarg3);
73
74REGISTER_DEFINITION(XMMRegister, c_farg0);
75REGISTER_DEFINITION(XMMRegister, c_farg1);
76REGISTER_DEFINITION(XMMRegister, c_farg2);
77REGISTER_DEFINITION(XMMRegister, c_farg3);
78
79// Non windows OS's have a few more argument registers
80#ifndef _WIN64
81REGISTER_DEFINITION(Register, c_rarg4);
82REGISTER_DEFINITION(Register, c_rarg5);
83
84REGISTER_DEFINITION(XMMRegister, c_farg4);
85REGISTER_DEFINITION(XMMRegister, c_farg5);
86REGISTER_DEFINITION(XMMRegister, c_farg6);
87REGISTER_DEFINITION(XMMRegister, c_farg7);
88#endif /* _WIN64 */
89
90REGISTER_DEFINITION(Register, j_rarg0);
91REGISTER_DEFINITION(Register, j_rarg1);
92REGISTER_DEFINITION(Register, j_rarg2);
93REGISTER_DEFINITION(Register, j_rarg3);
94REGISTER_DEFINITION(Register, j_rarg4);
95REGISTER_DEFINITION(Register, j_rarg5);
96
97REGISTER_DEFINITION(XMMRegister, j_farg0);
98REGISTER_DEFINITION(XMMRegister, j_farg1);
99REGISTER_DEFINITION(XMMRegister, j_farg2);
100REGISTER_DEFINITION(XMMRegister, j_farg3);
101REGISTER_DEFINITION(XMMRegister, j_farg4);
102REGISTER_DEFINITION(XMMRegister, j_farg5);
103REGISTER_DEFINITION(XMMRegister, j_farg6);
104REGISTER_DEFINITION(XMMRegister, j_farg7);
105
106REGISTER_DEFINITION(Register, rscratch1);
107REGISTER_DEFINITION(Register, rscratch2);
108
109REGISTER_DEFINITION(Register, r15_thread);
110#endif // AMD64
111
112REGISTER_DEFINITION(MMXRegister, mmx0 );
113REGISTER_DEFINITION(MMXRegister, mmx1 );
114REGISTER_DEFINITION(MMXRegister, mmx2 );
115REGISTER_DEFINITION(MMXRegister, mmx3 );
116REGISTER_DEFINITION(MMXRegister, mmx4 );
117REGISTER_DEFINITION(MMXRegister, mmx5 );
118REGISTER_DEFINITION(MMXRegister, mmx6 );
119REGISTER_DEFINITION(MMXRegister, mmx7 );
120