Statistics
| Branch: | Revision:

root / tcg / tcg-opc.h @ a10f9f4f

History | View | Annotate | Download (8.5 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 c896fe29 bellard
#ifndef DEF2
25 c896fe29 bellard
#define DEF2(name, oargs, iargs, cargs, flags) DEF(name, oargs + iargs + cargs, 0)
26 c896fe29 bellard
#endif
27 c896fe29 bellard
28 c896fe29 bellard
/* predefined ops */
29 c896fe29 bellard
DEF2(end, 0, 0, 0, 0) /* must be kept first */
30 c896fe29 bellard
DEF2(nop, 0, 0, 0, 0)
31 c896fe29 bellard
DEF2(nop1, 0, 0, 1, 0)
32 c896fe29 bellard
DEF2(nop2, 0, 0, 2, 0)
33 c896fe29 bellard
DEF2(nop3, 0, 0, 3, 0)
34 c896fe29 bellard
DEF2(nopn, 0, 0, 1, 0) /* variable number of parameters */
35 c896fe29 bellard
36 5ff9d6a4 bellard
DEF2(discard, 1, 0, 0, 0)
37 5ff9d6a4 bellard
38 c896fe29 bellard
DEF2(set_label, 0, 0, 1, 0)
39 5ff9d6a4 bellard
DEF2(call, 0, 1, 2, TCG_OPF_SIDE_EFFECTS) /* variable number of parameters */
40 5ff9d6a4 bellard
DEF2(jmp, 0, 1, 0, TCG_OPF_BB_END | TCG_OPF_SIDE_EFFECTS)
41 5ff9d6a4 bellard
DEF2(br, 0, 0, 1, TCG_OPF_BB_END | TCG_OPF_SIDE_EFFECTS)
42 c896fe29 bellard
43 c896fe29 bellard
DEF2(mov_i32, 1, 1, 0, 0)
44 c896fe29 bellard
DEF2(movi_i32, 1, 0, 1, 0)
45 be210acb Richard Henderson
DEF2(setcond_i32, 1, 2, 1, 0)
46 c896fe29 bellard
/* load/store */
47 c896fe29 bellard
DEF2(ld8u_i32, 1, 1, 1, 0)
48 c896fe29 bellard
DEF2(ld8s_i32, 1, 1, 1, 0)
49 c896fe29 bellard
DEF2(ld16u_i32, 1, 1, 1, 0)
50 c896fe29 bellard
DEF2(ld16s_i32, 1, 1, 1, 0)
51 c896fe29 bellard
DEF2(ld_i32, 1, 1, 1, 0)
52 5ff9d6a4 bellard
DEF2(st8_i32, 0, 2, 1, TCG_OPF_SIDE_EFFECTS)
53 5ff9d6a4 bellard
DEF2(st16_i32, 0, 2, 1, TCG_OPF_SIDE_EFFECTS)
54 5ff9d6a4 bellard
DEF2(st_i32, 0, 2, 1, TCG_OPF_SIDE_EFFECTS)
55 c896fe29 bellard
/* arith */
56 c896fe29 bellard
DEF2(add_i32, 1, 2, 0, 0)
57 c896fe29 bellard
DEF2(sub_i32, 1, 2, 0, 0)
58 c896fe29 bellard
DEF2(mul_i32, 1, 2, 0, 0)
59 c896fe29 bellard
#ifdef TCG_TARGET_HAS_div_i32
60 c896fe29 bellard
DEF2(div_i32, 1, 2, 0, 0)
61 c896fe29 bellard
DEF2(divu_i32, 1, 2, 0, 0)
62 c896fe29 bellard
DEF2(rem_i32, 1, 2, 0, 0)
63 c896fe29 bellard
DEF2(remu_i32, 1, 2, 0, 0)
64 30138f28 Aurelien Jarno
#endif
65 30138f28 Aurelien Jarno
#ifdef TCG_TARGET_HAS_div2_i32
66 c896fe29 bellard
DEF2(div2_i32, 2, 3, 0, 0)
67 c896fe29 bellard
DEF2(divu2_i32, 2, 3, 0, 0)
68 c896fe29 bellard
#endif
69 c896fe29 bellard
DEF2(and_i32, 1, 2, 0, 0)
70 c896fe29 bellard
DEF2(or_i32, 1, 2, 0, 0)
71 c896fe29 bellard
DEF2(xor_i32, 1, 2, 0, 0)
72 d42f183c aurel32
/* shifts/rotates */
73 c896fe29 bellard
DEF2(shl_i32, 1, 2, 0, 0)
74 c896fe29 bellard
DEF2(shr_i32, 1, 2, 0, 0)
75 c896fe29 bellard
DEF2(sar_i32, 1, 2, 0, 0)
76 f31e9370 aurel32
#ifdef TCG_TARGET_HAS_rot_i32
77 d42f183c aurel32
DEF2(rotl_i32, 1, 2, 0, 0)
78 d42f183c aurel32
DEF2(rotr_i32, 1, 2, 0, 0)
79 f31e9370 aurel32
#endif
80 c896fe29 bellard
81 5ff9d6a4 bellard
DEF2(brcond_i32, 0, 2, 2, TCG_OPF_BB_END | TCG_OPF_SIDE_EFFECTS)
82 c896fe29 bellard
#if TCG_TARGET_REG_BITS == 32
83 c896fe29 bellard
DEF2(add2_i32, 2, 4, 0, 0)
84 c896fe29 bellard
DEF2(sub2_i32, 2, 4, 0, 0)
85 5ff9d6a4 bellard
DEF2(brcond2_i32, 0, 4, 2, TCG_OPF_BB_END | TCG_OPF_SIDE_EFFECTS)
86 c896fe29 bellard
DEF2(mulu2_i32, 2, 2, 0, 0)
87 be210acb Richard Henderson
DEF2(setcond2_i32, 1, 4, 1, 0)
88 c896fe29 bellard
#endif
89 c896fe29 bellard
#ifdef TCG_TARGET_HAS_ext8s_i32
90 c896fe29 bellard
DEF2(ext8s_i32, 1, 1, 0, 0)
91 c896fe29 bellard
#endif
92 c896fe29 bellard
#ifdef TCG_TARGET_HAS_ext16s_i32
93 c896fe29 bellard
DEF2(ext16s_i32, 1, 1, 0, 0)
94 c896fe29 bellard
#endif
95 cfc86988 Aurelien Jarno
#ifdef TCG_TARGET_HAS_ext8u_i32
96 cfc86988 Aurelien Jarno
DEF2(ext8u_i32, 1, 1, 0, 0)
97 cfc86988 Aurelien Jarno
#endif
98 cfc86988 Aurelien Jarno
#ifdef TCG_TARGET_HAS_ext16u_i32
99 cfc86988 Aurelien Jarno
DEF2(ext16u_i32, 1, 1, 0, 0)
100 cfc86988 Aurelien Jarno
#endif
101 84aafb06 aurel32
#ifdef TCG_TARGET_HAS_bswap16_i32
102 84aafb06 aurel32
DEF2(bswap16_i32, 1, 1, 0, 0)
103 84aafb06 aurel32
#endif
104 66896cb8 aurel32
#ifdef TCG_TARGET_HAS_bswap32_i32
105 66896cb8 aurel32
DEF2(bswap32_i32, 1, 1, 0, 0)
106 c896fe29 bellard
#endif
107 0dd0dd55 aurel32
#ifdef TCG_TARGET_HAS_not_i32
108 0dd0dd55 aurel32
DEF2(not_i32, 1, 1, 0, 0)
109 0dd0dd55 aurel32
#endif
110 0dd0dd55 aurel32
#ifdef TCG_TARGET_HAS_neg_i32
111 0dd0dd55 aurel32
DEF2(neg_i32, 1, 1, 0, 0)
112 0dd0dd55 aurel32
#endif
113 241cbed4 Richard Henderson
#ifdef TCG_TARGET_HAS_andc_i32
114 241cbed4 Richard Henderson
DEF2(andc_i32, 1, 2, 0, 0)
115 241cbed4 Richard Henderson
#endif
116 791d1262 Richard Henderson
#ifdef TCG_TARGET_HAS_orc_i32
117 791d1262 Richard Henderson
DEF2(orc_i32, 1, 2, 0, 0)
118 791d1262 Richard Henderson
#endif
119 c896fe29 bellard
120 c896fe29 bellard
#if TCG_TARGET_REG_BITS == 64
121 c896fe29 bellard
DEF2(mov_i64, 1, 1, 0, 0)
122 c896fe29 bellard
DEF2(movi_i64, 1, 0, 1, 0)
123 be210acb Richard Henderson
DEF2(setcond_i64, 1, 2, 1, 0)
124 c896fe29 bellard
/* load/store */
125 c896fe29 bellard
DEF2(ld8u_i64, 1, 1, 1, 0)
126 c896fe29 bellard
DEF2(ld8s_i64, 1, 1, 1, 0)
127 c896fe29 bellard
DEF2(ld16u_i64, 1, 1, 1, 0)
128 c896fe29 bellard
DEF2(ld16s_i64, 1, 1, 1, 0)
129 c896fe29 bellard
DEF2(ld32u_i64, 1, 1, 1, 0)
130 c896fe29 bellard
DEF2(ld32s_i64, 1, 1, 1, 0)
131 c896fe29 bellard
DEF2(ld_i64, 1, 1, 1, 0)
132 5ff9d6a4 bellard
DEF2(st8_i64, 0, 2, 1, TCG_OPF_SIDE_EFFECTS)
133 5ff9d6a4 bellard
DEF2(st16_i64, 0, 2, 1, TCG_OPF_SIDE_EFFECTS)
134 5ff9d6a4 bellard
DEF2(st32_i64, 0, 2, 1, TCG_OPF_SIDE_EFFECTS)
135 5ff9d6a4 bellard
DEF2(st_i64, 0, 2, 1, TCG_OPF_SIDE_EFFECTS)
136 c896fe29 bellard
/* arith */
137 c896fe29 bellard
DEF2(add_i64, 1, 2, 0, 0)
138 c896fe29 bellard
DEF2(sub_i64, 1, 2, 0, 0)
139 c896fe29 bellard
DEF2(mul_i64, 1, 2, 0, 0)
140 c896fe29 bellard
#ifdef TCG_TARGET_HAS_div_i64
141 c896fe29 bellard
DEF2(div_i64, 1, 2, 0, 0)
142 c896fe29 bellard
DEF2(divu_i64, 1, 2, 0, 0)
143 c896fe29 bellard
DEF2(rem_i64, 1, 2, 0, 0)
144 c896fe29 bellard
DEF2(remu_i64, 1, 2, 0, 0)
145 30138f28 Aurelien Jarno
#endif
146 30138f28 Aurelien Jarno
#ifdef TCG_TARGET_HAS_div2_i64
147 c896fe29 bellard
DEF2(div2_i64, 2, 3, 0, 0)
148 c896fe29 bellard
DEF2(divu2_i64, 2, 3, 0, 0)
149 c896fe29 bellard
#endif
150 c896fe29 bellard
DEF2(and_i64, 1, 2, 0, 0)
151 c896fe29 bellard
DEF2(or_i64, 1, 2, 0, 0)
152 c896fe29 bellard
DEF2(xor_i64, 1, 2, 0, 0)
153 d42f183c aurel32
/* shifts/rotates */
154 c896fe29 bellard
DEF2(shl_i64, 1, 2, 0, 0)
155 c896fe29 bellard
DEF2(shr_i64, 1, 2, 0, 0)
156 c896fe29 bellard
DEF2(sar_i64, 1, 2, 0, 0)
157 f31e9370 aurel32
#ifdef TCG_TARGET_HAS_rot_i64
158 d42f183c aurel32
DEF2(rotl_i64, 1, 2, 0, 0)
159 d42f183c aurel32
DEF2(rotr_i64, 1, 2, 0, 0)
160 f31e9370 aurel32
#endif
161 c896fe29 bellard
162 5ff9d6a4 bellard
DEF2(brcond_i64, 0, 2, 2, TCG_OPF_BB_END | TCG_OPF_SIDE_EFFECTS)
163 c896fe29 bellard
#ifdef TCG_TARGET_HAS_ext8s_i64
164 c896fe29 bellard
DEF2(ext8s_i64, 1, 1, 0, 0)
165 c896fe29 bellard
#endif
166 c896fe29 bellard
#ifdef TCG_TARGET_HAS_ext16s_i64
167 c896fe29 bellard
DEF2(ext16s_i64, 1, 1, 0, 0)
168 c896fe29 bellard
#endif
169 c896fe29 bellard
#ifdef TCG_TARGET_HAS_ext32s_i64
170 c896fe29 bellard
DEF2(ext32s_i64, 1, 1, 0, 0)
171 c896fe29 bellard
#endif
172 cfc86988 Aurelien Jarno
#ifdef TCG_TARGET_HAS_ext8u_i64
173 cfc86988 Aurelien Jarno
DEF2(ext8u_i64, 1, 1, 0, 0)
174 cfc86988 Aurelien Jarno
#endif
175 cfc86988 Aurelien Jarno
#ifdef TCG_TARGET_HAS_ext16u_i64
176 cfc86988 Aurelien Jarno
DEF2(ext16u_i64, 1, 1, 0, 0)
177 cfc86988 Aurelien Jarno
#endif
178 cfc86988 Aurelien Jarno
#ifdef TCG_TARGET_HAS_ext32u_i64
179 cfc86988 Aurelien Jarno
DEF2(ext32u_i64, 1, 1, 0, 0)
180 cfc86988 Aurelien Jarno
#endif
181 9a5c57fd aurel32
#ifdef TCG_TARGET_HAS_bswap16_i64
182 9a5c57fd aurel32
DEF2(bswap16_i64, 1, 1, 0, 0)
183 9a5c57fd aurel32
#endif
184 9a5c57fd aurel32
#ifdef TCG_TARGET_HAS_bswap32_i64
185 9a5c57fd aurel32
DEF2(bswap32_i64, 1, 1, 0, 0)
186 9a5c57fd aurel32
#endif
187 66896cb8 aurel32
#ifdef TCG_TARGET_HAS_bswap64_i64
188 66896cb8 aurel32
DEF2(bswap64_i64, 1, 1, 0, 0)
189 c896fe29 bellard
#endif
190 d2604285 aurel32
#ifdef TCG_TARGET_HAS_not_i64
191 d2604285 aurel32
DEF2(not_i64, 1, 1, 0, 0)
192 d2604285 aurel32
#endif
193 390efc54 pbrook
#ifdef TCG_TARGET_HAS_neg_i64
194 390efc54 pbrook
DEF2(neg_i64, 1, 1, 0, 0)
195 390efc54 pbrook
#endif
196 241cbed4 Richard Henderson
#ifdef TCG_TARGET_HAS_andc_i64
197 241cbed4 Richard Henderson
DEF2(andc_i64, 1, 2, 0, 0)
198 241cbed4 Richard Henderson
#endif
199 791d1262 Richard Henderson
#ifdef TCG_TARGET_HAS_orc_i64
200 791d1262 Richard Henderson
DEF2(orc_i64, 1, 2, 0, 0)
201 791d1262 Richard Henderson
#endif
202 0dd0dd55 aurel32
#endif
203 c896fe29 bellard
204 c896fe29 bellard
/* QEMU specific */
205 7e4597d7 bellard
#if TARGET_LONG_BITS > TCG_TARGET_REG_BITS
206 7e4597d7 bellard
DEF2(debug_insn_start, 0, 0, 2, 0)
207 7e4597d7 bellard
#else
208 7e4597d7 bellard
DEF2(debug_insn_start, 0, 0, 1, 0)
209 7e4597d7 bellard
#endif
210 5ff9d6a4 bellard
DEF2(exit_tb, 0, 0, 1, TCG_OPF_BB_END | TCG_OPF_SIDE_EFFECTS)
211 5ff9d6a4 bellard
DEF2(goto_tb, 0, 0, 1, TCG_OPF_BB_END | TCG_OPF_SIDE_EFFECTS)
212 c896fe29 bellard
/* Note: even if TARGET_LONG_BITS is not defined, the INDEX_op
213 c896fe29 bellard
   constants must be defined */
214 c896fe29 bellard
#if TCG_TARGET_REG_BITS == 32
215 c896fe29 bellard
#if TARGET_LONG_BITS == 32
216 5ff9d6a4 bellard
DEF2(qemu_ld8u, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
217 c896fe29 bellard
#else
218 5ff9d6a4 bellard
DEF2(qemu_ld8u, 1, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
219 c896fe29 bellard
#endif
220 c896fe29 bellard
#if TARGET_LONG_BITS == 32
221 5ff9d6a4 bellard
DEF2(qemu_ld8s, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
222 c896fe29 bellard
#else
223 5ff9d6a4 bellard
DEF2(qemu_ld8s, 1, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
224 c896fe29 bellard
#endif
225 c896fe29 bellard
#if TARGET_LONG_BITS == 32
226 5ff9d6a4 bellard
DEF2(qemu_ld16u, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
227 c896fe29 bellard
#else
228 5ff9d6a4 bellard
DEF2(qemu_ld16u, 1, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
229 c896fe29 bellard
#endif
230 c896fe29 bellard
#if TARGET_LONG_BITS == 32
231 5ff9d6a4 bellard
DEF2(qemu_ld16s, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
232 c896fe29 bellard
#else
233 5ff9d6a4 bellard
DEF2(qemu_ld16s, 1, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
234 c896fe29 bellard
#endif
235 c896fe29 bellard
#if TARGET_LONG_BITS == 32
236 5ff9d6a4 bellard
DEF2(qemu_ld32u, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
237 c896fe29 bellard
#else
238 5ff9d6a4 bellard
DEF2(qemu_ld32u, 1, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
239 c896fe29 bellard
#endif
240 c896fe29 bellard
#if TARGET_LONG_BITS == 32
241 5ff9d6a4 bellard
DEF2(qemu_ld64, 2, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
242 c896fe29 bellard
#else
243 5ff9d6a4 bellard
DEF2(qemu_ld64, 2, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
244 c896fe29 bellard
#endif
245 c896fe29 bellard
246 c896fe29 bellard
#if TARGET_LONG_BITS == 32
247 5ff9d6a4 bellard
DEF2(qemu_st8, 0, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
248 c896fe29 bellard
#else
249 5ff9d6a4 bellard
DEF2(qemu_st8, 0, 3, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
250 c896fe29 bellard
#endif
251 c896fe29 bellard
#if TARGET_LONG_BITS == 32
252 5ff9d6a4 bellard
DEF2(qemu_st16, 0, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
253 c896fe29 bellard
#else
254 5ff9d6a4 bellard
DEF2(qemu_st16, 0, 3, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
255 c896fe29 bellard
#endif
256 c896fe29 bellard
#if TARGET_LONG_BITS == 32
257 5ff9d6a4 bellard
DEF2(qemu_st32, 0, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
258 c896fe29 bellard
#else
259 5ff9d6a4 bellard
DEF2(qemu_st32, 0, 3, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
260 c896fe29 bellard
#endif
261 c896fe29 bellard
#if TARGET_LONG_BITS == 32
262 5ff9d6a4 bellard
DEF2(qemu_st64, 0, 3, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
263 c896fe29 bellard
#else
264 5ff9d6a4 bellard
DEF2(qemu_st64, 0, 4, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
265 c896fe29 bellard
#endif
266 c896fe29 bellard
267 c896fe29 bellard
#else /* TCG_TARGET_REG_BITS == 32 */
268 c896fe29 bellard
269 5ff9d6a4 bellard
DEF2(qemu_ld8u, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
270 5ff9d6a4 bellard
DEF2(qemu_ld8s, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
271 5ff9d6a4 bellard
DEF2(qemu_ld16u, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
272 5ff9d6a4 bellard
DEF2(qemu_ld16s, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
273 5ff9d6a4 bellard
DEF2(qemu_ld32u, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
274 5ff9d6a4 bellard
DEF2(qemu_ld32s, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
275 5ff9d6a4 bellard
DEF2(qemu_ld64, 1, 1, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
276 c896fe29 bellard
277 5ff9d6a4 bellard
DEF2(qemu_st8, 0, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
278 5ff9d6a4 bellard
DEF2(qemu_st16, 0, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
279 5ff9d6a4 bellard
DEF2(qemu_st32, 0, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
280 5ff9d6a4 bellard
DEF2(qemu_st64, 0, 2, 1, TCG_OPF_CALL_CLOBBER | TCG_OPF_SIDE_EFFECTS)
281 c896fe29 bellard
282 c896fe29 bellard
#endif /* TCG_TARGET_REG_BITS != 32 */
283 c896fe29 bellard
284 c896fe29 bellard
#undef DEF2