Statistics
| Branch: | Revision:

root / tcg / tcg-opc.h @ 9fdf0c29

History | View | Annotate | Download (8.9 kB)

1 c896fe29 bellard
/*
2 c896fe29 bellard
 * Tiny Code Generator for QEMU
3 c896fe29 bellard
 *
4 c896fe29 bellard
 * Copyright (c) 2008 Fabrice Bellard
5 c896fe29 bellard
 *
6 c896fe29 bellard
 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 c896fe29 bellard
 * of this software and associated documentation files (the "Software"), to deal
8 c896fe29 bellard
 * in the Software without restriction, including without limitation the rights
9 c896fe29 bellard
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 c896fe29 bellard
 * copies of the Software, and to permit persons to whom the Software is
11 c896fe29 bellard
 * furnished to do so, subject to the following conditions:
12 c896fe29 bellard
 *
13 c896fe29 bellard
 * The above copyright notice and this permission notice shall be included in
14 c896fe29 bellard
 * all copies or substantial portions of the Software.
15 c896fe29 bellard
 *
16 c896fe29 bellard
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 c896fe29 bellard
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 c896fe29 bellard
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 c896fe29 bellard
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 c896fe29 bellard
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 c896fe29 bellard
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 c896fe29 bellard
 * THE SOFTWARE.
23 c896fe29 bellard
 */
24 c61aaf7a Aurelien Jarno
25 c61aaf7a Aurelien Jarno
/*
26 c61aaf7a Aurelien Jarno
 * DEF(name, oargs, iargs, cargs, flags)
27 c61aaf7a Aurelien Jarno
 */
28 c896fe29 bellard
29 c896fe29 bellard
/* predefined ops */
30 c61aaf7a Aurelien Jarno
DEF(end, 0, 0, 0, 0) /* must be kept first */
31 c61aaf7a Aurelien Jarno
DEF(nop, 0, 0, 0, 0)
32 c61aaf7a Aurelien Jarno
DEF(nop1, 0, 0, 1, 0)
33 c61aaf7a Aurelien Jarno
DEF(nop2, 0, 0, 2, 0)
34 c61aaf7a Aurelien Jarno
DEF(nop3, 0, 0, 3, 0)
35 c61aaf7a Aurelien Jarno
DEF(nopn, 0, 0, 1, 0) /* variable number of parameters */
36 c896fe29 bellard
37 c61aaf7a Aurelien Jarno
DEF(discard, 1, 0, 0, 0)
38 5ff9d6a4 bellard
39 c61aaf7a Aurelien Jarno
DEF(set_label, 0, 0, 1, 0)
40 c61aaf7a Aurelien Jarno
DEF(call, 0, 1, 2, TCG_OPF_SIDE_EFFECTS) /* variable number of parameters */
41 c61aaf7a Aurelien Jarno
DEF(jmp, 0, 1, 0, TCG_OPF_BB_END | TCG_OPF_SIDE_EFFECTS)
42 c61aaf7a Aurelien Jarno
DEF(br, 0, 0, 1, TCG_OPF_BB_END | TCG_OPF_SIDE_EFFECTS)
43 c896fe29 bellard
44 c61aaf7a Aurelien Jarno
DEF(mov_i32, 1, 1, 0, 0)
45 c61aaf7a Aurelien Jarno
DEF(movi_i32, 1, 0, 1, 0)
46 c61aaf7a Aurelien Jarno
DEF(setcond_i32, 1, 2, 1, 0)
47 c896fe29 bellard
/* load/store */
48 c61aaf7a Aurelien Jarno
DEF(ld8u_i32, 1, 1, 1, 0)
49 c61aaf7a Aurelien Jarno
DEF(ld8s_i32, 1, 1, 1, 0)
50 c61aaf7a Aurelien Jarno
DEF(ld16u_i32, 1, 1, 1, 0)
51 c61aaf7a Aurelien Jarno
DEF(ld16s_i32, 1, 1, 1, 0)
52 c61aaf7a Aurelien Jarno
DEF(ld_i32, 1, 1, 1, 0)
53 c61aaf7a Aurelien Jarno
DEF(st8_i32, 0, 2, 1, TCG_OPF_SIDE_EFFECTS)
54 c61aaf7a Aurelien Jarno
DEF(st16_i32, 0, 2, 1, TCG_OPF_SIDE_EFFECTS)
55 c61aaf7a Aurelien Jarno
DEF(st_i32, 0, 2, 1, TCG_OPF_SIDE_EFFECTS)
56 c896fe29 bellard
/* arith */
57 c61aaf7a Aurelien Jarno
DEF(add_i32, 1, 2, 0, 0)
58 c61aaf7a Aurelien Jarno
DEF(sub_i32, 1, 2, 0, 0)
59 c61aaf7a Aurelien Jarno
DEF(mul_i32, 1, 2, 0, 0)
60 c896fe29 bellard
#ifdef TCG_TARGET_HAS_div_i32
61 c61aaf7a Aurelien Jarno
DEF(div_i32, 1, 2, 0, 0)
62 c61aaf7a Aurelien Jarno
DEF(divu_i32, 1, 2, 0, 0)
63 c61aaf7a Aurelien Jarno
DEF(rem_i32, 1, 2, 0, 0)
64 c61aaf7a Aurelien Jarno
DEF(remu_i32, 1, 2, 0, 0)
65 30138f28 Aurelien Jarno
#endif
66 30138f28 Aurelien Jarno
#ifdef TCG_TARGET_HAS_div2_i32
67 c61aaf7a Aurelien Jarno
DEF(div2_i32, 2, 3, 0, 0)
68 c61aaf7a Aurelien Jarno
DEF(divu2_i32, 2, 3, 0, 0)
69 c896fe29 bellard
#endif
70 c61aaf7a Aurelien Jarno
DEF(and_i32, 1, 2, 0, 0)
71 c61aaf7a Aurelien Jarno
DEF(or_i32, 1, 2, 0, 0)
72 c61aaf7a Aurelien Jarno
DEF(xor_i32, 1, 2, 0, 0)
73 d42f183c aurel32
/* shifts/rotates */
74 c61aaf7a Aurelien Jarno
DEF(shl_i32, 1, 2, 0, 0)
75 c61aaf7a Aurelien Jarno
DEF(shr_i32, 1, 2, 0, 0)
76 c61aaf7a Aurelien Jarno
DEF(sar_i32, 1, 2, 0, 0)
77 f31e9370 aurel32
#ifdef TCG_TARGET_HAS_rot_i32
78 c61aaf7a Aurelien Jarno
DEF(rotl_i32, 1, 2, 0, 0)
79 c61aaf7a Aurelien Jarno
DEF(rotr_i32, 1, 2, 0, 0)
80 f31e9370 aurel32
#endif
81 b7767f0f Richard Henderson
#ifdef TCG_TARGET_HAS_deposit_i32
82 b7767f0f Richard Henderson
DEF(deposit_i32, 1, 2, 2, 0)
83 b7767f0f Richard Henderson
#endif
84 c896fe29 bellard
85 c61aaf7a Aurelien Jarno
DEF(brcond_i32, 0, 2, 2, TCG_OPF_BB_END | TCG_OPF_SIDE_EFFECTS)
86 c896fe29 bellard
#if TCG_TARGET_REG_BITS == 32
87 c61aaf7a Aurelien Jarno
DEF(add2_i32, 2, 4, 0, 0)
88 c61aaf7a Aurelien Jarno
DEF(sub2_i32, 2, 4, 0, 0)
89 c61aaf7a Aurelien Jarno
DEF(brcond2_i32, 0, 4, 2, TCG_OPF_BB_END | TCG_OPF_SIDE_EFFECTS)
90 c61aaf7a Aurelien Jarno
DEF(mulu2_i32, 2, 2, 0, 0)
91 c61aaf7a Aurelien Jarno
DEF(setcond2_i32, 1, 4, 1, 0)
92 c896fe29 bellard
#endif
93 c896fe29 bellard
#ifdef TCG_TARGET_HAS_ext8s_i32
94 c61aaf7a Aurelien Jarno
DEF(ext8s_i32, 1, 1, 0, 0)
95 c896fe29 bellard
#endif
96 c896fe29 bellard
#ifdef TCG_TARGET_HAS_ext16s_i32
97 c61aaf7a Aurelien Jarno
DEF(ext16s_i32, 1, 1, 0, 0)
98 c896fe29 bellard
#endif
99 cfc86988 Aurelien Jarno
#ifdef TCG_TARGET_HAS_ext8u_i32
100 c61aaf7a Aurelien Jarno
DEF(ext8u_i32, 1, 1, 0, 0)
101 cfc86988 Aurelien Jarno
#endif
102 cfc86988 Aurelien Jarno
#ifdef TCG_TARGET_HAS_ext16u_i32
103 c61aaf7a Aurelien Jarno
DEF(ext16u_i32, 1, 1, 0, 0)
104 cfc86988 Aurelien Jarno
#endif
105 84aafb06 aurel32
#ifdef TCG_TARGET_HAS_bswap16_i32
106 c61aaf7a Aurelien Jarno
DEF(bswap16_i32, 1, 1, 0, 0)
107 84aafb06 aurel32
#endif
108 66896cb8 aurel32
#ifdef TCG_TARGET_HAS_bswap32_i32
109 c61aaf7a Aurelien Jarno
DEF(bswap32_i32, 1, 1, 0, 0)
110 c896fe29 bellard
#endif
111 0dd0dd55 aurel32
#ifdef TCG_TARGET_HAS_not_i32
112 c61aaf7a Aurelien Jarno
DEF(not_i32, 1, 1, 0, 0)
113 0dd0dd55 aurel32
#endif
114 0dd0dd55 aurel32
#ifdef TCG_TARGET_HAS_neg_i32
115 c61aaf7a Aurelien Jarno
DEF(neg_i32, 1, 1, 0, 0)
116 0dd0dd55 aurel32
#endif
117 241cbed4 Richard Henderson
#ifdef TCG_TARGET_HAS_andc_i32
118 c61aaf7a Aurelien Jarno
DEF(andc_i32, 1, 2, 0, 0)
119 241cbed4 Richard Henderson
#endif
120 791d1262 Richard Henderson
#ifdef TCG_TARGET_HAS_orc_i32
121 c61aaf7a Aurelien Jarno
DEF(orc_i32, 1, 2, 0, 0)
122 791d1262 Richard Henderson
#endif
123 8d625cf1 Richard Henderson
#ifdef TCG_TARGET_HAS_eqv_i32
124 c61aaf7a Aurelien Jarno
DEF(eqv_i32, 1, 2, 0, 0)
125 8d625cf1 Richard Henderson
#endif
126 9940a96b Richard Henderson
#ifdef TCG_TARGET_HAS_nand_i32
127 c61aaf7a Aurelien Jarno
DEF(nand_i32, 1, 2, 0, 0)
128 9940a96b Richard Henderson
#endif
129 32d98fbd Richard Henderson
#ifdef TCG_TARGET_HAS_nor_i32
130 c61aaf7a Aurelien Jarno
DEF(nor_i32, 1, 2, 0, 0)
131 32d98fbd Richard Henderson
#endif
132 c896fe29 bellard
133 c896fe29 bellard
#if TCG_TARGET_REG_BITS == 64
134 c61aaf7a Aurelien Jarno
DEF(mov_i64, 1, 1, 0, 0)
135 c61aaf7a Aurelien Jarno
DEF(movi_i64, 1, 0, 1, 0)
136 c61aaf7a Aurelien Jarno
DEF(setcond_i64, 1, 2, 1, 0)
137 c896fe29 bellard
/* load/store */
138 c61aaf7a Aurelien Jarno
DEF(ld8u_i64, 1, 1, 1, 0)
139 c61aaf7a Aurelien Jarno
DEF(ld8s_i64, 1, 1, 1, 0)
140 c61aaf7a Aurelien Jarno
DEF(ld16u_i64, 1, 1, 1, 0)
141 c61aaf7a Aurelien Jarno
DEF(ld16s_i64, 1, 1, 1, 0)
142 c61aaf7a Aurelien Jarno
DEF(ld32u_i64, 1, 1, 1, 0)
143 c61aaf7a Aurelien Jarno
DEF(ld32s_i64, 1, 1, 1, 0)
144 c61aaf7a Aurelien Jarno
DEF(ld_i64, 1, 1, 1, 0)
145 c61aaf7a Aurelien Jarno
DEF(st8_i64, 0, 2, 1, TCG_OPF_SIDE_EFFECTS)
146 c61aaf7a Aurelien Jarno
DEF(st16_i64, 0, 2, 1, TCG_OPF_SIDE_EFFECTS)
147 c61aaf7a Aurelien Jarno
DEF(st32_i64, 0, 2, 1, TCG_OPF_SIDE_EFFECTS)
148 c61aaf7a Aurelien Jarno
DEF(st_i64, 0, 2, 1, TCG_OPF_SIDE_EFFECTS)
149 c896fe29 bellard
/* arith */
150 c61aaf7a Aurelien Jarno
DEF(add_i64, 1, 2, 0, 0)
151 c61aaf7a Aurelien Jarno
DEF(sub_i64, 1, 2, 0, 0)
152 c61aaf7a Aurelien Jarno
DEF(mul_i64, 1, 2, 0, 0)
153 c896fe29 bellard
#ifdef TCG_TARGET_HAS_div_i64
154 c61aaf7a Aurelien Jarno
DEF(div_i64, 1, 2, 0, 0)
155 c61aaf7a Aurelien Jarno
DEF(divu_i64, 1, 2, 0, 0)
156 c61aaf7a Aurelien Jarno
DEF(rem_i64, 1, 2, 0, 0)
157 c61aaf7a Aurelien Jarno
DEF(remu_i64, 1, 2, 0, 0)
158 30138f28 Aurelien Jarno
#endif
159 30138f28 Aurelien Jarno
#ifdef TCG_TARGET_HAS_div2_i64
160 c61aaf7a Aurelien Jarno
DEF(div2_i64, 2, 3, 0, 0)
161 c61aaf7a Aurelien Jarno
DEF(divu2_i64, 2, 3, 0, 0)
162 c896fe29 bellard
#endif
163 c61aaf7a Aurelien Jarno
DEF(and_i64, 1, 2, 0, 0)
164 c61aaf7a Aurelien Jarno
DEF(or_i64, 1, 2, 0, 0)
165 c61aaf7a Aurelien Jarno
DEF(xor_i64, 1, 2, 0, 0)
166 d42f183c aurel32
/* shifts/rotates */
167 c61aaf7a Aurelien Jarno
DEF(shl_i64, 1, 2, 0, 0)
168 c61aaf7a Aurelien Jarno
DEF(shr_i64, 1, 2, 0, 0)
169 c61aaf7a Aurelien Jarno
DEF(sar_i64, 1, 2, 0, 0)
170 f31e9370 aurel32
#ifdef TCG_TARGET_HAS_rot_i64
171 c61aaf7a Aurelien Jarno
DEF(rotl_i64, 1, 2, 0, 0)
172 c61aaf7a Aurelien Jarno
DEF(rotr_i64, 1, 2, 0, 0)
173 f31e9370 aurel32
#endif
174 b7767f0f Richard Henderson
#ifdef TCG_TARGET_HAS_deposit_i64
175 b7767f0f Richard Henderson
DEF(deposit_i64, 1, 2, 2, 0)
176 b7767f0f Richard Henderson
#endif
177 c896fe29 bellard
178 c61aaf7a Aurelien Jarno
DEF(brcond_i64, 0, 2, 2, TCG_OPF_BB_END | TCG_OPF_SIDE_EFFECTS)
179 c896fe29 bellard
#ifdef TCG_TARGET_HAS_ext8s_i64
180 c61aaf7a Aurelien Jarno
DEF(ext8s_i64, 1, 1, 0, 0)
181 c896fe29 bellard
#endif
182 c896fe29 bellard
#ifdef TCG_TARGET_HAS_ext16s_i64
183 c61aaf7a Aurelien Jarno
DEF(ext16s_i64, 1, 1, 0, 0)
184 c896fe29 bellard
#endif
185 c896fe29 bellard
#ifdef TCG_TARGET_HAS_ext32s_i64
186 c61aaf7a Aurelien Jarno
DEF(ext32s_i64, 1, 1, 0, 0)
187 c896fe29 bellard
#endif
188 cfc86988 Aurelien Jarno
#ifdef TCG_TARGET_HAS_ext8u_i64
189 c61aaf7a Aurelien Jarno
DEF(ext8u_i64, 1, 1, 0, 0)
190 cfc86988 Aurelien Jarno
#endif
191 cfc86988 Aurelien Jarno
#ifdef TCG_TARGET_HAS_ext16u_i64
192 c61aaf7a Aurelien Jarno
DEF(ext16u_i64, 1, 1, 0, 0)
193 cfc86988 Aurelien Jarno
#endif
194 cfc86988 Aurelien Jarno
#ifdef TCG_TARGET_HAS_ext32u_i64
195 c61aaf7a Aurelien Jarno
DEF(ext32u_i64, 1, 1, 0, 0)
196 cfc86988 Aurelien Jarno
#endif
197 9a5c57fd aurel32
#ifdef TCG_TARGET_HAS_bswap16_i64
198 c61aaf7a Aurelien Jarno
DEF(bswap16_i64, 1, 1, 0, 0)
199 9a5c57fd aurel32
#endif
200 9a5c57fd aurel32
#ifdef TCG_TARGET_HAS_bswap32_i64
201 c61aaf7a Aurelien Jarno
DEF(bswap32_i64, 1, 1, 0, 0)
202 9a5c57fd aurel32
#endif
203 66896cb8 aurel32
#ifdef TCG_TARGET_HAS_bswap64_i64
204 c61aaf7a Aurelien Jarno
DEF(bswap64_i64, 1, 1, 0, 0)
205 c896fe29 bellard
#endif
206 d2604285 aurel32
#ifdef TCG_TARGET_HAS_not_i64
207 c61aaf7a Aurelien Jarno
DEF(not_i64, 1, 1, 0, 0)
208 d2604285 aurel32
#endif
209 390efc54 pbrook
#ifdef TCG_TARGET_HAS_neg_i64
210 c61aaf7a Aurelien Jarno
DEF(neg_i64, 1, 1, 0, 0)
211 390efc54 pbrook
#endif
212 241cbed4 Richard Henderson
#ifdef TCG_TARGET_HAS_andc_i64
213 c61aaf7a Aurelien Jarno
DEF(andc_i64, 1, 2, 0, 0)
214 241cbed4 Richard Henderson
#endif
215 791d1262 Richard Henderson
#ifdef TCG_TARGET_HAS_orc_i64
216 c61aaf7a Aurelien Jarno
DEF(orc_i64, 1, 2, 0, 0)
217 791d1262 Richard Henderson
#endif
218 8d625cf1 Richard Henderson
#ifdef TCG_TARGET_HAS_eqv_i64
219 c61aaf7a Aurelien Jarno
DEF(eqv_i64, 1, 2, 0, 0)
220 8d625cf1 Richard Henderson
#endif
221 9940a96b Richard Henderson
#ifdef TCG_TARGET_HAS_nand_i64
222 c61aaf7a Aurelien Jarno
DEF(nand_i64, 1, 2, 0, 0)
223 9940a96b Richard Henderson
#endif
224 32d98fbd Richard Henderson
#ifdef TCG_TARGET_HAS_nor_i64
225 c61aaf7a Aurelien Jarno
DEF(nor_i64, 1, 2, 0, 0)
226 32d98fbd Richard Henderson
#endif
227 0dd0dd55 aurel32
#endif
228 c896fe29 bellard
229 c896fe29 bellard
/* QEMU specific */
230 7e4597d7 bellard
#if TARGET_LONG_BITS > TCG_TARGET_REG_BITS
231 c61aaf7a Aurelien Jarno
DEF(debug_insn_start, 0, 0, 2, 0)
232 7e4597d7 bellard
#else
233 c61aaf7a Aurelien Jarno
DEF(debug_insn_start, 0, 0, 1, 0)
234 7e4597d7 bellard
#endif
235 c61aaf7a Aurelien Jarno
DEF(exit_tb, 0, 0, 1, TCG_OPF_BB_END | TCG_OPF_SIDE_EFFECTS)
236 c61aaf7a Aurelien Jarno
DEF(goto_tb, 0, 0, 1, TCG_OPF_BB_END | TCG_OPF_SIDE_EFFECTS)
237 c896fe29 bellard
/* Note: even if TARGET_LONG_BITS is not defined, the INDEX_op
238 c896fe29 bellard
   constants must be defined */
239 c896fe29 bellard
#if TCG_TARGET_REG_BITS == 32
240 c896fe29 bellard
#if TARGET_LONG_BITS == 32
241 c61aaf7a Aurelien Jarno
DEF(qemu_ld8u, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
242 c896fe29 bellard
#else
243 c61aaf7a Aurelien Jarno
DEF(qemu_ld8u, 1, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
244 c896fe29 bellard
#endif
245 c896fe29 bellard
#if TARGET_LONG_BITS == 32
246 c61aaf7a Aurelien Jarno
DEF(qemu_ld8s, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
247 c896fe29 bellard
#else
248 c61aaf7a Aurelien Jarno
DEF(qemu_ld8s, 1, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
249 c896fe29 bellard
#endif
250 c896fe29 bellard
#if TARGET_LONG_BITS == 32
251 c61aaf7a Aurelien Jarno
DEF(qemu_ld16u, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
252 c896fe29 bellard
#else
253 c61aaf7a Aurelien Jarno
DEF(qemu_ld16u, 1, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
254 c896fe29 bellard
#endif
255 c896fe29 bellard
#if TARGET_LONG_BITS == 32
256 c61aaf7a Aurelien Jarno
DEF(qemu_ld16s, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
257 c896fe29 bellard
#else
258 c61aaf7a Aurelien Jarno
DEF(qemu_ld16s, 1, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
259 c896fe29 bellard
#endif
260 c896fe29 bellard
#if TARGET_LONG_BITS == 32
261 c61aaf7a Aurelien Jarno
DEF(qemu_ld32, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
262 c896fe29 bellard
#else
263 c61aaf7a Aurelien Jarno
DEF(qemu_ld32, 1, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
264 c896fe29 bellard
#endif
265 c896fe29 bellard
#if TARGET_LONG_BITS == 32
266 c61aaf7a Aurelien Jarno
DEF(qemu_ld64, 2, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
267 c896fe29 bellard
#else
268 c61aaf7a Aurelien Jarno
DEF(qemu_ld64, 2, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
269 c896fe29 bellard
#endif
270 c896fe29 bellard
271 c896fe29 bellard
#if TARGET_LONG_BITS == 32
272 c61aaf7a Aurelien Jarno
DEF(qemu_st8, 0, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
273 c896fe29 bellard
#else
274 c61aaf7a Aurelien Jarno
DEF(qemu_st8, 0, 3, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
275 c896fe29 bellard
#endif
276 c896fe29 bellard
#if TARGET_LONG_BITS == 32
277 c61aaf7a Aurelien Jarno
DEF(qemu_st16, 0, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
278 c896fe29 bellard
#else
279 c61aaf7a Aurelien Jarno
DEF(qemu_st16, 0, 3, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
280 c896fe29 bellard
#endif
281 c896fe29 bellard
#if TARGET_LONG_BITS == 32
282 c61aaf7a Aurelien Jarno
DEF(qemu_st32, 0, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
283 c896fe29 bellard
#else
284 c61aaf7a Aurelien Jarno
DEF(qemu_st32, 0, 3, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
285 c896fe29 bellard
#endif
286 c896fe29 bellard
#if TARGET_LONG_BITS == 32
287 c61aaf7a Aurelien Jarno
DEF(qemu_st64, 0, 3, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
288 c896fe29 bellard
#else
289 c61aaf7a Aurelien Jarno
DEF(qemu_st64, 0, 4, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
290 c896fe29 bellard
#endif
291 c896fe29 bellard
292 c896fe29 bellard
#else /* TCG_TARGET_REG_BITS == 32 */
293 c896fe29 bellard
294 c61aaf7a Aurelien Jarno
DEF(qemu_ld8u, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
295 c61aaf7a Aurelien Jarno
DEF(qemu_ld8s, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
296 c61aaf7a Aurelien Jarno
DEF(qemu_ld16u, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
297 c61aaf7a Aurelien Jarno
DEF(qemu_ld16s, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
298 c61aaf7a Aurelien Jarno
DEF(qemu_ld32, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
299 c61aaf7a Aurelien Jarno
DEF(qemu_ld32u, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
300 c61aaf7a Aurelien Jarno
DEF(qemu_ld32s, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
301 c61aaf7a Aurelien Jarno
DEF(qemu_ld64, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
302 c896fe29 bellard
303 c61aaf7a Aurelien Jarno
DEF(qemu_st8, 0, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
304 c61aaf7a Aurelien Jarno
DEF(qemu_st16, 0, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
305 c61aaf7a Aurelien Jarno
DEF(qemu_st32, 0, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
306 c61aaf7a Aurelien Jarno
DEF(qemu_st64, 0, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
307 c896fe29 bellard
308 c896fe29 bellard
#endif /* TCG_TARGET_REG_BITS != 32 */
309 c896fe29 bellard
310 c61aaf7a Aurelien Jarno
#undef DEF