Deleted Added
sdiff udiff text old ( 6482:e4b8ec60fd4b ) new ( 7087:fb8d5786ff30 )
full compact
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:
7#
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
31# 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.
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'''