conditional_move.py (6482:e4b8ec60fd4b) conditional_move.py (7087:fb8d5786ff30)
1# Copyright (c) 2007 The Hewlett-Packard Development Company
2# All rights reserved.
3#
1# Copyright (c) 2007 The Hewlett-Packard Development Company
2# All rights reserved.
3#
4# Redistribution and use of this software in source and binary forms,
5# with or without modification, are permitted provided that the
6# following conditions are met:
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license
9# terms below provided that you ensure that this notice is replicated
10# unmodified and in its entirety in all distributions of the software,
11# modified or unmodified, in source code or in binary form.
7#
12#
8# The software must be used only for Non-Commercial Use which means any
9# use which is NOT directed to receiving any direct monetary
10# compensation for, or commercial advantage from such use. Illustrative
11# examples of non-commercial use are academic research, personal study,
12# teaching, education and corporate research & development.
13# Illustrative examples of commercial use are distributing products for
14# commercial advantage and providing services using the software for
15# commercial advantage.
16#
17# If you wish to use this software or functionality therein that may be
18# covered by patents for commercial use, please contact:
19# Director of Intellectual Property Licensing
20# Office of Strategy and Technology
21# Hewlett-Packard Company
22# 1501 Page Mill Road
23# Palo Alto, California 94304
24#
25# Redistributions of source code must retain the above copyright notice,
26# this list of conditions and the following disclaimer. Redistributions
27# in binary form must reproduce the above copyright notice, this list of
28# conditions and the following disclaimer in the documentation and/or
29# other materials provided with the distribution. Neither the name of
30# the COPYRIGHT HOLDER(s), HEWLETT-PACKARD COMPANY, nor the names of its
13# Redistribution and use in source and binary forms, with or without
14# modification, are permitted provided that the following conditions are
15# met: redistributions of source code must retain the above copyright
16# notice, this list of conditions and the following disclaimer;
17# redistributions in binary form must reproduce the above copyright
18# notice, this list of conditions and the following disclaimer in the
19# documentation and/or other materials provided with the distribution;
20# neither the name of the copyright holders nor the names of its
31# contributors may be used to endorse or promote products derived from
21# contributors may be used to endorse or promote products derived from
32# this software without specific prior written permission. No right of
33# sublicense is granted herewith. Derivatives of the software and
34# output created using the software may be prepared, but only for
35# Non-Commercial Uses. Derivatives of the software may be shared with
36# others provided: (i) the others agree to abide by the list of
37# conditions herein which includes the Non-Commercial Use restrictions;
38# and (ii) such Derivatives of the software include the above copyright
39# notice to acknowledge the contribution from this software where
40# applicable, this list of conditions and the disclaimer below.
22# this software without specific prior written permission.
41#
42# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
43# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
44# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
45# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
46# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
47# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
48# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
49# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
50# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
51# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
52# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
53#
54# Authors: Gabe Black
55
56microcode = '''
57def macroop CMOVZ_R_R
58{
59 mov reg, reg, reg, flags=(nCZF,)
60 mov reg, reg, regm, flags=(CZF,)
61};
62
63def macroop CMOVZ_R_M
64{
65 ld t1, seg, sib, disp
66 mov reg, reg, reg, flags=(nCZF,)
67 mov reg, reg, t1, flags=(CZF,)
68};
69
70def macroop CMOVZ_R_P
71{
72 rdip t7
73 ld t1, seg, riprel, disp
74 mov reg, reg, reg, flags=(nCZF,)
75 mov reg, reg, t1, flags=(CZF,)
76};
77
78def macroop CMOVNZ_R_R
79{
80 mov reg, reg, reg, flags=(CZF,)
81 mov reg, reg, regm, flags=(nCZF,)
82};
83
84def macroop CMOVNZ_R_M
85{
86 ld t1, seg, sib, disp
87 mov reg, reg, reg, flags=(CZF,)
88 mov reg, reg, t1, flags=(nCZF,)
89};
90
91def macroop CMOVNZ_R_P
92{
93 rdip t7
94 ld t1, seg, riprel, disp
95 mov reg, reg, reg, flags=(CZF,)
96 mov reg, reg, t1, flags=(nCZF,)
97};
98
99def macroop CMOVB_R_R
100{
101 mov reg, reg, reg, flags=(nCCF,)
102 mov reg, reg, regm, flags=(CCF,)
103};
104
105def macroop CMOVB_R_M
106{
107 ld t1, seg, sib, disp
108 mov reg, reg, reg, flags=(nCCF,)
109 mov reg, reg, t1, flags=(CCF,)
110};
111
112def macroop CMOVB_R_P
113{
114 rdip t7
115 ld t1, seg, riprel, disp
116 mov reg, reg, reg, flags=(nCCF,)
117 mov reg, reg, t1, flags=(CCF,)
118};
119
120def macroop CMOVNB_R_R
121{
122 mov reg, reg, reg, flags=(CCF,)
123 mov reg, reg, regm, flags=(nCCF,)
124};
125
126def macroop CMOVNB_R_M
127{
128 ld t1, seg, sib, disp
129 mov reg, reg, reg, flags=(CCF,)
130 mov reg, reg, t1, flags=(nCCF,)
131};
132
133def macroop CMOVNB_R_P
134{
135 rdip t7
136 ld t1, seg, riprel, disp
137 mov reg, reg, reg, flags=(CCF,)
138 mov reg, reg, t1, flags=(nCCF,)
139};
140
141def macroop CMOVBE_R_R
142{
143 mov reg, reg, reg, flags=(nCCvZF,)
144 mov reg, reg, regm, flags=(CCvZF,)
145};
146
147def macroop CMOVBE_R_M
148{
149 ld t1, seg, sib, disp
150 mov reg, reg, reg, flags=(nCCvZF,)
151 mov reg, reg, t1, flags=(CCvZF,)
152};
153
154def macroop CMOVBE_R_P
155{
156 rdip t7
157 ld t1, seg, riprel, disp
158 mov reg, reg, reg, flags=(nCCvZF,)
159 mov reg, reg, t1, flags=(CCvZF,)
160};
161
162def macroop CMOVNBE_R_R
163{
164 mov reg, reg, reg, flags=(CCvZF,)
165 mov reg, reg, regm, flags=(nCCvZF,)
166};
167
168def macroop CMOVNBE_R_M
169{
170 ld t1, seg, sib, disp
171 mov reg, reg, reg, flags=(CCvZF,)
172 mov reg, reg, t1, flags=(nCCvZF,)
173};
174
175def macroop CMOVNBE_R_P
176{
177 rdip t7
178 ld t1, seg, riprel, disp
179 mov reg, reg, reg, flags=(CCvZF,)
180 mov reg, reg, t1, flags=(nCCvZF,)
181};
182
183def macroop CMOVS_R_R
184{
185 mov reg, reg, reg, flags=(nCSF,)
186 mov reg, reg, regm, flags=(CSF,)
187};
188
189def macroop CMOVS_R_M
190{
191 ld t1, seg, sib, disp
192 mov reg, reg, reg, flags=(nCSF,)
193 mov reg, reg, t1, flags=(CSF,)
194};
195
196def macroop CMOVS_R_P
197{
198 rdip t7
199 ld t1, seg, riprel, disp
200 mov reg, reg, reg, flags=(nCSF,)
201 mov reg, reg, t1, flags=(CSF,)
202};
203
204def macroop CMOVNS_R_R
205{
206 mov reg, reg, reg, flags=(CSF,)
207 mov reg, reg, regm, flags=(nCSF,)
208};
209
210def macroop CMOVNS_R_M
211{
212 ld t1, seg, sib, disp
213 mov reg, reg, reg, flags=(CSF,)
214 mov reg, reg, t1, flags=(nCSF,)
215};
216
217def macroop CMOVNS_R_P
218{
219 rdip t7
220 ld t1, seg, riprel, disp
221 mov reg, reg, reg, flags=(CSF,)
222 mov reg, reg, t1, flags=(nCSF,)
223};
224
225def macroop CMOVP_R_R
226{
227 mov reg, reg, reg, flags=(nCPF,)
228 mov reg, reg, regm, flags=(CPF,)
229};
230
231def macroop CMOVP_R_M
232{
233 ld t1, seg, sib, disp
234 mov reg, reg, reg, flags=(nCPF,)
235 mov reg, reg, t1, flags=(CPF,)
236};
237
238def macroop CMOVP_R_P
239{
240 rdip t7
241 ld t1, seg, riprel, disp
242 mov reg, reg, reg, flags=(nCPF,)
243 mov reg, reg, t1, flags=(CPF,)
244};
245
246def macroop CMOVNP_R_R
247{
248 mov reg, reg, reg, flags=(CPF,)
249 mov reg, reg, regm, flags=(nCPF,)
250};
251
252def macroop CMOVNP_R_M
253{
254 ld t1, seg, sib, disp
255 mov reg, reg, reg, flags=(CPF,)
256 mov reg, reg, t1, flags=(nCPF,)
257};
258
259def macroop CMOVNP_R_P
260{
261 rdip t7
262 ld t1, seg, riprel, disp
263 mov reg, reg, reg, flags=(CPF,)
264 mov reg, reg, t1, flags=(nCPF,)
265};
266
267def macroop CMOVL_R_R
268{
269 mov reg, reg, reg, flags=(nCSxOF,)
270 mov reg, reg, regm, flags=(CSxOF,)
271};
272
273def macroop CMOVL_R_M
274{
275 ld t1, seg, sib, disp
276 mov reg, reg, reg, flags=(nCSxOF,)
277 mov reg, reg, t1, flags=(CSxOF,)
278};
279
280def macroop CMOVL_R_P
281{
282 rdip t7
283 ld t1, seg, riprel, disp
284 mov reg, reg, reg, flags=(nCSxOF,)
285 mov reg, reg, t1, flags=(CSxOF,)
286};
287
288def macroop CMOVNL_R_R
289{
290 mov reg, reg, reg, flags=(CSxOF,)
291 mov reg, reg, regm, flags=(nCSxOF,)
292};
293
294def macroop CMOVNL_R_M
295{
296 ld t1, seg, sib, disp
297 mov reg, reg, reg, flags=(CSxOF,)
298 mov reg, reg, t1, flags=(nCSxOF,)
299};
300
301def macroop CMOVNL_R_P
302{
303 rdip t7
304 ld t1, seg, riprel, disp
305 mov reg, reg, reg, flags=(CSxOF,)
306 mov reg, reg, t1, flags=(nCSxOF,)
307};
308
309def macroop CMOVLE_R_R
310{
311 mov reg, reg, reg, flags=(nCSxOvZF,)
312 mov reg, reg, regm, flags=(CSxOvZF,)
313};
314
315def macroop CMOVLE_R_M
316{
317 ld t1, seg, sib, disp
318 mov reg, reg, reg, flags=(nCSxOvZF,)
319 mov reg, reg, t1, flags=(CSxOvZF,)
320};
321
322def macroop CMOVLE_R_P
323{
324 rdip t7
325 ld t1, seg, riprel, disp
326 mov reg, reg, reg, flags=(nCSxOvZF,)
327 mov reg, reg, t1, flags=(CSxOvZF,)
328};
329
330def macroop CMOVNLE_R_R
331{
332 mov reg, reg, reg, flags=(CSxOvZF,)
333 mov reg, reg, regm, flags=(nCSxOvZF,)
334};
335
336def macroop CMOVNLE_R_M
337{
338 ld t1, seg, sib, disp
339 mov reg, reg, reg, flags=(CSxOvZF,)
340 mov reg, reg, t1, flags=(nCSxOvZF,)
341};
342
343def macroop CMOVNLE_R_P
344{
345 rdip t7
346 ld t1, seg, riprel, disp
347 mov reg, reg, reg, flags=(CSxOvZF,)
348 mov reg, reg, t1, flags=(nCSxOvZF,)
349};
350
351def macroop CMOVO_R_R
352{
353 mov reg, reg, reg, flags=(nCOF,)
354 mov reg, reg, regm, flags=(COF,)
355};
356
357def macroop CMOVO_R_M
358{
359 ld t1, seg, sib, disp
360 mov reg, reg, reg, flags=(nCOF,)
361 mov reg, reg, t1, flags=(COF,)
362};
363
364def macroop CMOVO_R_P
365{
366 rdip t7
367 ld t1, seg, riprel, disp
368 mov reg, reg, reg, flags=(nCOF,)
369 mov reg, reg, t1, flags=(COF,)
370};
371
372def macroop CMOVNO_R_R
373{
374 mov reg, reg, reg, flags=(COF,)
375 mov reg, reg, regm, flags=(nCOF,)
376};
377
378def macroop CMOVNO_R_M
379{
380 ld t1, seg, sib, disp
381 mov reg, reg, reg, flags=(COF,)
382 mov reg, reg, t1, flags=(nCOF,)
383};
384
385def macroop CMOVNO_R_P
386{
387 rdip t7
388 ld t1, seg, riprel, disp
389 mov reg, reg, reg, flags=(COF,)
390 mov reg, reg, t1, flags=(nCOF,)
391};
392'''
23#
24# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
28# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35#
36# Authors: Gabe Black
37
38microcode = '''
39def macroop CMOVZ_R_R
40{
41 mov reg, reg, reg, flags=(nCZF,)
42 mov reg, reg, regm, flags=(CZF,)
43};
44
45def macroop CMOVZ_R_M
46{
47 ld t1, seg, sib, disp
48 mov reg, reg, reg, flags=(nCZF,)
49 mov reg, reg, t1, flags=(CZF,)
50};
51
52def macroop CMOVZ_R_P
53{
54 rdip t7
55 ld t1, seg, riprel, disp
56 mov reg, reg, reg, flags=(nCZF,)
57 mov reg, reg, t1, flags=(CZF,)
58};
59
60def macroop CMOVNZ_R_R
61{
62 mov reg, reg, reg, flags=(CZF,)
63 mov reg, reg, regm, flags=(nCZF,)
64};
65
66def macroop CMOVNZ_R_M
67{
68 ld t1, seg, sib, disp
69 mov reg, reg, reg, flags=(CZF,)
70 mov reg, reg, t1, flags=(nCZF,)
71};
72
73def macroop CMOVNZ_R_P
74{
75 rdip t7
76 ld t1, seg, riprel, disp
77 mov reg, reg, reg, flags=(CZF,)
78 mov reg, reg, t1, flags=(nCZF,)
79};
80
81def macroop CMOVB_R_R
82{
83 mov reg, reg, reg, flags=(nCCF,)
84 mov reg, reg, regm, flags=(CCF,)
85};
86
87def macroop CMOVB_R_M
88{
89 ld t1, seg, sib, disp
90 mov reg, reg, reg, flags=(nCCF,)
91 mov reg, reg, t1, flags=(CCF,)
92};
93
94def macroop CMOVB_R_P
95{
96 rdip t7
97 ld t1, seg, riprel, disp
98 mov reg, reg, reg, flags=(nCCF,)
99 mov reg, reg, t1, flags=(CCF,)
100};
101
102def macroop CMOVNB_R_R
103{
104 mov reg, reg, reg, flags=(CCF,)
105 mov reg, reg, regm, flags=(nCCF,)
106};
107
108def macroop CMOVNB_R_M
109{
110 ld t1, seg, sib, disp
111 mov reg, reg, reg, flags=(CCF,)
112 mov reg, reg, t1, flags=(nCCF,)
113};
114
115def macroop CMOVNB_R_P
116{
117 rdip t7
118 ld t1, seg, riprel, disp
119 mov reg, reg, reg, flags=(CCF,)
120 mov reg, reg, t1, flags=(nCCF,)
121};
122
123def macroop CMOVBE_R_R
124{
125 mov reg, reg, reg, flags=(nCCvZF,)
126 mov reg, reg, regm, flags=(CCvZF,)
127};
128
129def macroop CMOVBE_R_M
130{
131 ld t1, seg, sib, disp
132 mov reg, reg, reg, flags=(nCCvZF,)
133 mov reg, reg, t1, flags=(CCvZF,)
134};
135
136def macroop CMOVBE_R_P
137{
138 rdip t7
139 ld t1, seg, riprel, disp
140 mov reg, reg, reg, flags=(nCCvZF,)
141 mov reg, reg, t1, flags=(CCvZF,)
142};
143
144def macroop CMOVNBE_R_R
145{
146 mov reg, reg, reg, flags=(CCvZF,)
147 mov reg, reg, regm, flags=(nCCvZF,)
148};
149
150def macroop CMOVNBE_R_M
151{
152 ld t1, seg, sib, disp
153 mov reg, reg, reg, flags=(CCvZF,)
154 mov reg, reg, t1, flags=(nCCvZF,)
155};
156
157def macroop CMOVNBE_R_P
158{
159 rdip t7
160 ld t1, seg, riprel, disp
161 mov reg, reg, reg, flags=(CCvZF,)
162 mov reg, reg, t1, flags=(nCCvZF,)
163};
164
165def macroop CMOVS_R_R
166{
167 mov reg, reg, reg, flags=(nCSF,)
168 mov reg, reg, regm, flags=(CSF,)
169};
170
171def macroop CMOVS_R_M
172{
173 ld t1, seg, sib, disp
174 mov reg, reg, reg, flags=(nCSF,)
175 mov reg, reg, t1, flags=(CSF,)
176};
177
178def macroop CMOVS_R_P
179{
180 rdip t7
181 ld t1, seg, riprel, disp
182 mov reg, reg, reg, flags=(nCSF,)
183 mov reg, reg, t1, flags=(CSF,)
184};
185
186def macroop CMOVNS_R_R
187{
188 mov reg, reg, reg, flags=(CSF,)
189 mov reg, reg, regm, flags=(nCSF,)
190};
191
192def macroop CMOVNS_R_M
193{
194 ld t1, seg, sib, disp
195 mov reg, reg, reg, flags=(CSF,)
196 mov reg, reg, t1, flags=(nCSF,)
197};
198
199def macroop CMOVNS_R_P
200{
201 rdip t7
202 ld t1, seg, riprel, disp
203 mov reg, reg, reg, flags=(CSF,)
204 mov reg, reg, t1, flags=(nCSF,)
205};
206
207def macroop CMOVP_R_R
208{
209 mov reg, reg, reg, flags=(nCPF,)
210 mov reg, reg, regm, flags=(CPF,)
211};
212
213def macroop CMOVP_R_M
214{
215 ld t1, seg, sib, disp
216 mov reg, reg, reg, flags=(nCPF,)
217 mov reg, reg, t1, flags=(CPF,)
218};
219
220def macroop CMOVP_R_P
221{
222 rdip t7
223 ld t1, seg, riprel, disp
224 mov reg, reg, reg, flags=(nCPF,)
225 mov reg, reg, t1, flags=(CPF,)
226};
227
228def macroop CMOVNP_R_R
229{
230 mov reg, reg, reg, flags=(CPF,)
231 mov reg, reg, regm, flags=(nCPF,)
232};
233
234def macroop CMOVNP_R_M
235{
236 ld t1, seg, sib, disp
237 mov reg, reg, reg, flags=(CPF,)
238 mov reg, reg, t1, flags=(nCPF,)
239};
240
241def macroop CMOVNP_R_P
242{
243 rdip t7
244 ld t1, seg, riprel, disp
245 mov reg, reg, reg, flags=(CPF,)
246 mov reg, reg, t1, flags=(nCPF,)
247};
248
249def macroop CMOVL_R_R
250{
251 mov reg, reg, reg, flags=(nCSxOF,)
252 mov reg, reg, regm, flags=(CSxOF,)
253};
254
255def macroop CMOVL_R_M
256{
257 ld t1, seg, sib, disp
258 mov reg, reg, reg, flags=(nCSxOF,)
259 mov reg, reg, t1, flags=(CSxOF,)
260};
261
262def macroop CMOVL_R_P
263{
264 rdip t7
265 ld t1, seg, riprel, disp
266 mov reg, reg, reg, flags=(nCSxOF,)
267 mov reg, reg, t1, flags=(CSxOF,)
268};
269
270def macroop CMOVNL_R_R
271{
272 mov reg, reg, reg, flags=(CSxOF,)
273 mov reg, reg, regm, flags=(nCSxOF,)
274};
275
276def macroop CMOVNL_R_M
277{
278 ld t1, seg, sib, disp
279 mov reg, reg, reg, flags=(CSxOF,)
280 mov reg, reg, t1, flags=(nCSxOF,)
281};
282
283def macroop CMOVNL_R_P
284{
285 rdip t7
286 ld t1, seg, riprel, disp
287 mov reg, reg, reg, flags=(CSxOF,)
288 mov reg, reg, t1, flags=(nCSxOF,)
289};
290
291def macroop CMOVLE_R_R
292{
293 mov reg, reg, reg, flags=(nCSxOvZF,)
294 mov reg, reg, regm, flags=(CSxOvZF,)
295};
296
297def macroop CMOVLE_R_M
298{
299 ld t1, seg, sib, disp
300 mov reg, reg, reg, flags=(nCSxOvZF,)
301 mov reg, reg, t1, flags=(CSxOvZF,)
302};
303
304def macroop CMOVLE_R_P
305{
306 rdip t7
307 ld t1, seg, riprel, disp
308 mov reg, reg, reg, flags=(nCSxOvZF,)
309 mov reg, reg, t1, flags=(CSxOvZF,)
310};
311
312def macroop CMOVNLE_R_R
313{
314 mov reg, reg, reg, flags=(CSxOvZF,)
315 mov reg, reg, regm, flags=(nCSxOvZF,)
316};
317
318def macroop CMOVNLE_R_M
319{
320 ld t1, seg, sib, disp
321 mov reg, reg, reg, flags=(CSxOvZF,)
322 mov reg, reg, t1, flags=(nCSxOvZF,)
323};
324
325def macroop CMOVNLE_R_P
326{
327 rdip t7
328 ld t1, seg, riprel, disp
329 mov reg, reg, reg, flags=(CSxOvZF,)
330 mov reg, reg, t1, flags=(nCSxOvZF,)
331};
332
333def macroop CMOVO_R_R
334{
335 mov reg, reg, reg, flags=(nCOF,)
336 mov reg, reg, regm, flags=(COF,)
337};
338
339def macroop CMOVO_R_M
340{
341 ld t1, seg, sib, disp
342 mov reg, reg, reg, flags=(nCOF,)
343 mov reg, reg, t1, flags=(COF,)
344};
345
346def macroop CMOVO_R_P
347{
348 rdip t7
349 ld t1, seg, riprel, disp
350 mov reg, reg, reg, flags=(nCOF,)
351 mov reg, reg, t1, flags=(COF,)
352};
353
354def macroop CMOVNO_R_R
355{
356 mov reg, reg, reg, flags=(COF,)
357 mov reg, reg, regm, flags=(nCOF,)
358};
359
360def macroop CMOVNO_R_M
361{
362 ld t1, seg, sib, disp
363 mov reg, reg, reg, flags=(COF,)
364 mov reg, reg, t1, flags=(nCOF,)
365};
366
367def macroop CMOVNO_R_P
368{
369 rdip t7
370 ld t1, seg, riprel, disp
371 mov reg, reg, reg, flags=(COF,)
372 mov reg, reg, t1, flags=(nCOF,)
373};
374'''