1 /*
2  * Copyright (c) 2008, 2016, Oracle and/or its affiliates. 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  *
23  */
24 
25 #include "precompiled.hpp"
26 #include "asm/assembler.hpp"
27 #include "asm/register.hpp"
28 #include "interp_masm_arm.hpp"
29 #include "register_arm.hpp"
30 
31 REGISTER_DEFINITION(Register, noreg);
32 REGISTER_DEFINITION(FloatRegister, fnoreg);
33 
34 #ifdef AARCH64
35 
36 REGISTER_DEFINITION(FloatRegister, V0);
37 REGISTER_DEFINITION(FloatRegister, V1);
38 REGISTER_DEFINITION(FloatRegister, V2);
39 REGISTER_DEFINITION(FloatRegister, V3);
40 REGISTER_DEFINITION(FloatRegister, V4);
41 REGISTER_DEFINITION(FloatRegister, V5);
42 REGISTER_DEFINITION(FloatRegister, V6);
43 REGISTER_DEFINITION(FloatRegister, V7);
44 REGISTER_DEFINITION(FloatRegister, V8);
45 REGISTER_DEFINITION(FloatRegister, V9);
46 REGISTER_DEFINITION(FloatRegister, V10);
47 REGISTER_DEFINITION(FloatRegister, V11);
48 REGISTER_DEFINITION(FloatRegister, V12);
49 REGISTER_DEFINITION(FloatRegister, V13);
50 REGISTER_DEFINITION(FloatRegister, V14);
51 REGISTER_DEFINITION(FloatRegister, V15);
52 REGISTER_DEFINITION(FloatRegister, V16);
53 REGISTER_DEFINITION(FloatRegister, V17);
54 REGISTER_DEFINITION(FloatRegister, V18);
55 REGISTER_DEFINITION(FloatRegister, V19);
56 REGISTER_DEFINITION(FloatRegister, V20);
57 REGISTER_DEFINITION(FloatRegister, V21);
58 REGISTER_DEFINITION(FloatRegister, V22);
59 REGISTER_DEFINITION(FloatRegister, V23);
60 REGISTER_DEFINITION(FloatRegister, V24);
61 REGISTER_DEFINITION(FloatRegister, V25);
62 REGISTER_DEFINITION(FloatRegister, V26);
63 REGISTER_DEFINITION(FloatRegister, V27);
64 REGISTER_DEFINITION(FloatRegister, V28);
65 REGISTER_DEFINITION(FloatRegister, V29);
66 REGISTER_DEFINITION(FloatRegister, V30);
67 REGISTER_DEFINITION(FloatRegister, V31);
68 
69 #else // AARCH64
70 
71 REGISTER_DEFINITION(FloatRegister, S0);
72 REGISTER_DEFINITION(FloatRegister, S1_reg);
73 REGISTER_DEFINITION(FloatRegister, S2_reg);
74 REGISTER_DEFINITION(FloatRegister, S3_reg);
75 REGISTER_DEFINITION(FloatRegister, S4_reg);
76 REGISTER_DEFINITION(FloatRegister, S5_reg);
77 REGISTER_DEFINITION(FloatRegister, S6_reg);
78 REGISTER_DEFINITION(FloatRegister, S7);
79 REGISTER_DEFINITION(FloatRegister, S8);
80 REGISTER_DEFINITION(FloatRegister, S9);
81 REGISTER_DEFINITION(FloatRegister, S10);
82 REGISTER_DEFINITION(FloatRegister, S11);
83 REGISTER_DEFINITION(FloatRegister, S12);
84 REGISTER_DEFINITION(FloatRegister, S13);
85 REGISTER_DEFINITION(FloatRegister, S14);
86 REGISTER_DEFINITION(FloatRegister, S15);
87 REGISTER_DEFINITION(FloatRegister, S16);
88 REGISTER_DEFINITION(FloatRegister, S17);
89 REGISTER_DEFINITION(FloatRegister, S18);
90 REGISTER_DEFINITION(FloatRegister, S19);
91 REGISTER_DEFINITION(FloatRegister, S20);
92 REGISTER_DEFINITION(FloatRegister, S21);
93 REGISTER_DEFINITION(FloatRegister, S22);
94 REGISTER_DEFINITION(FloatRegister, S23);
95 REGISTER_DEFINITION(FloatRegister, S24);
96 REGISTER_DEFINITION(FloatRegister, S25);
97 REGISTER_DEFINITION(FloatRegister, S26);
98 REGISTER_DEFINITION(FloatRegister, S27);
99 REGISTER_DEFINITION(FloatRegister, S28);
100 REGISTER_DEFINITION(FloatRegister, S29);
101 REGISTER_DEFINITION(FloatRegister, S30);
102 REGISTER_DEFINITION(FloatRegister, S31);
103 REGISTER_DEFINITION(FloatRegister, Stemp);
104 REGISTER_DEFINITION(FloatRegister, D0);
105 REGISTER_DEFINITION(FloatRegister, D1);
106 REGISTER_DEFINITION(FloatRegister, D2);
107 REGISTER_DEFINITION(FloatRegister, D3);
108 REGISTER_DEFINITION(FloatRegister, D4);
109 REGISTER_DEFINITION(FloatRegister, D5);
110 REGISTER_DEFINITION(FloatRegister, D6);
111 REGISTER_DEFINITION(FloatRegister, D7);
112 REGISTER_DEFINITION(FloatRegister, D8);
113 REGISTER_DEFINITION(FloatRegister, D9);
114 REGISTER_DEFINITION(FloatRegister, D10);
115 REGISTER_DEFINITION(FloatRegister, D11);
116 REGISTER_DEFINITION(FloatRegister, D12);
117 REGISTER_DEFINITION(FloatRegister, D13);
118 REGISTER_DEFINITION(FloatRegister, D14);
119 REGISTER_DEFINITION(FloatRegister, D15);
120 REGISTER_DEFINITION(FloatRegister, D16);
121 REGISTER_DEFINITION(FloatRegister, D17);
122 REGISTER_DEFINITION(FloatRegister, D18);
123 REGISTER_DEFINITION(FloatRegister, D19);
124 REGISTER_DEFINITION(FloatRegister, D20);
125 REGISTER_DEFINITION(FloatRegister, D21);
126 REGISTER_DEFINITION(FloatRegister, D22);
127 REGISTER_DEFINITION(FloatRegister, D23);
128 REGISTER_DEFINITION(FloatRegister, D24);
129 REGISTER_DEFINITION(FloatRegister, D25);
130 REGISTER_DEFINITION(FloatRegister, D26);
131 REGISTER_DEFINITION(FloatRegister, D27);
132 REGISTER_DEFINITION(FloatRegister, D28);
133 REGISTER_DEFINITION(FloatRegister, D29);
134 REGISTER_DEFINITION(FloatRegister, D30);
135 REGISTER_DEFINITION(FloatRegister, D31);
136 
137 #endif //AARCH64
138