Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:ragge:20110628093331

Diff

Diff from 1.7 to:

Annotations

Annotate by Age | Author | Mixed | None
/fisheye/browse/pcc/pcc/arch/vax/table.c

Annotated File View

ragge
1.7
1 /*      $Id: table.c,v 1.7 2011/06/28 09:33:31 ragge Exp $      */
ragge
1.1
2 /*
3  * Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * Redistributions of source code and documentation must retain the above
10  * copyright notice, this list of conditions and the following disclaimer.
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditionsand the following disclaimer in the
13  * documentation and/or other materials provided with the distribution.
14  * All advertising materials mentioning features or use of this software
15  * must display the following acknowledgement:
16  *      This product includes software developed or owned by Caldera
17  *      International, Inc.
18  * Neither the name of Caldera International, Inc. nor the names of other
19  * contributors may be used to endorse or promote products derived from
20  * this software without specific prior written permission.
21  *
22  * USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
23  * INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
24  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26  * DISCLAIMED.  IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE
27  * FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30  * HOWEVER CAUSED AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT,
31  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
32  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
33  * POSSIBILITY OF SUCH DAMAGE.
34  */
35
ragge
1.2
36 # include "pass2.h"
ragge
1.1
37
38 # define WPTR TPTRTO|TINT|TLONG|TFLOAT|TDOUBLE|TPOINT|TUNSIGNED|TULONG
39 # define AWD SNAME|SOREG|SCON|STARNM|STARREG
40 /* tbl */
41 # define ANYSIGNED TPOINT|TINT|TLONG|TSHORT|TCHAR
42 # define ANYUSIGNED TUNSIGNED|TULONG|TUSHORT|TUCHAR
43 # define ANYFIXED ANYSIGNED|ANYUSIGNED
44 # define TWORD TINT|TUNSIGNED|TPOINT|TLONG|TULONG
45 /* tbl */
ragge
1.2
46 # define TBREG TLONGLONG|TULONGLONG|TDOUBLE
ragge
1.1
47
48 struct optab  table[] = {
ragge
1.2
49 /* First entry must be an empty entry */
50 { -1FOREFFSANYTANYSANYTANY00"", },
ragge
1.1
51
ragge
1.2
52 PCONV,        INAREG|INAREG,
ragge
1.1
53         SAREG|AWD,      TCHAR|TSHORT,
54         SANY,   TPOINT,
55                 NAREG|NASL,     RESC1,
ragge
1.2
56                 "       cvtZLl  AL,A1\n", },
ragge
1.1
57
ragge
1.2
58 PCONV,        INAREG|INAREG,
ragge
1.1
59         SAREG|AWD,      TUCHAR|TUSHORT,
60         SANY,   TPOINT,
61                 NAREG|NASL,     RESC1,
ragge
1.2
62                 "       movzZLl AL,A1\n", },
ragge
1.1
63
ragge
1.2
64 SCONV,        INBREG|FORCC,
ragge
1.1
65         SAREG,  TDOUBLE,
66         SANY,   TDOUBLE,
67                 0,      RLEFT,
ragge
1.2
68                 "", },
ragge
1.1
69
ragge
1.4
70 SCONV,        INAREG|FORCC,
71         SAREG|AWD,      TANY,
72         SANY,   TFLOAT,
73                 NAREG|NASL,     RESC1|RESCC,
74                 "       cvtZLd  AL,A1\n", },
75
ragge
1.2
76 SCONV,        INBREG|FORCC,
ragge
1.1
77         SAREG|AWD,      TANY,
ragge
1.4
78         SANY,   TDOUBLE,
79                 NBREG|NBSL,     RESC1|RESCC,
ragge
1.2
80                 "       cvtZLd  AL,A1\n", },
ragge
1.1
81
ragge
1.2
82 SCONV,        INAREG|FORCC,
ragge
1.1
83         SAREG|AWD,      TFLOAT|TDOUBLE,
84         SANY,   ANYFIXED,
85                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
86                 "       cvtZLZF AL,A1\n", },
ragge
1.1
87
ragge
1.2
88 SCONV,        INAREG|FORCC,
ragge
1.1
89         SAREG|SNAME|SCON|STARNM,        TANY,
90         SANY,   ANYUSIGNED,
91                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
92                 "       movzZRl AL,A1\n", },
ragge
1.1
93
ragge
1.2
94 SCONV,        INAREG|FORCC,
ragge
1.1
95         SSOREGTANY,
96         SANY,   ANYUSIGNED,
97                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
98                 "       movzZRl AL,A1\n", },
ragge
1.1
99
ragge
1.2
100 SCONV,        INAREG|FORCC,
ragge
1.1
101         SAREG|SNAME|SCON|STARNM,        TANY,
102         SANY,   TANY,
103                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
104                 "       cvtZRl  AL,A1\n", },
ragge
1.1
105
ragge
1.2
106 SCONV,        INAREG|FORCC,
ragge
1.1
107         SSOREGTANY,
108         SANY,   TANY,
109                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
110                 "       cvtZRl  AL,A1\n", },
ragge
1.1
111
ragge
1.2
112 GOTOFOREFF,
ragge
1.1
113         SCON,   TANY,
114         SANY,   TANY,
115                 0,      RNOP,
ragge
1.3
116                 "       ZJ\n", },
ragge
1.1
117
ragge
1.2
118 GOTOFOREFF,
ragge
1.1
119         SAREG,  TANY,
120         SANY,   TANY,
121                 0,      RNOP,
ragge
1.2
122                 "       jmp     (AL)\n", },
ragge
1.1
123
ragge
1.6
124 STARG,        FOREFF,
ragge
1.1
125         SCON|SAREG,     TANY,
126         SANY,   TANY,
ragge
1.6
127                 NSPECIAL,       RNOP,
ragge
1.2
128                 "ZS", },
ragge
1.1
129
ragge
1.2
130 #if 0
131 STASG,        FORARG,
ragge
1.1
132         SNAME|SOREG,    TANY,
133         SCON|SAREG,     TANY,
134                 0,      RNULL,
ragge
1.2
135                 "       subl2   ZT,sp\nZS", },
136 #endif
ragge
1.1
137
ragge
1.3
138 ADDROF,       INAREG,
139         SNAME,  TANY,
140         SAREG,  TANY,
141                 NAREG,  RESC1,
142                 "       movab   AL,A1\n", },
143
ragge
1.2
144 STASG,        FOREFF,
ragge
1.1
145         SNAME|SOREG,    TANY,
146         SCON|SAREG,     TANY,
147                 0,      RNOP,
ragge
1.2
148                 "ZS", },
ragge
1.1
149
ragge
1.2
150 STASG,        INAREG,
ragge
1.1
151         SNAME|SOREG,    TANY,
152         SCON,   TANY,
ragge
1.4
153                 NAREG,  RDEST,
ragge
1.2
154                 "ZS     movl    AR,A1\n", },
ragge
1.1
155
ragge
1.2
156 STASG,        INAREG,
ragge
1.1
157         SNAME|SOREG,    TANY,
158         SAREG,  TANY,
ragge
1.4
159                 0,      RDEST,
ragge
1.2
160                 "       pushl   AR\nZS  movl    (sp)+,AR\n", },
ragge
1.1
161
ragge
1.2
162 FLD,  INAREG|INAREG,
ragge
1.1
163         SANY,   TANY,
164         SFLD,   ANYSIGNED,
165                 NAREG|NASR,     RESC1,
ragge
1.2
166                 "       extv    H,S,AR,A1\n", },
ragge
1.1
167
ragge
1.2
168 FLD,  INAREG|INAREG,
ragge
1.1
169         SANY,   TANY,
170         SFLD,   ANYUSIGNED,
171                 NAREG|NASR,     RESC1,
ragge
1.2
172                 "       extzv   H,S,AR,A1\n", },
ragge
1.1
173
ragge
1.2
174 #if 0
175 FLD,  FORARG,
ragge
1.1
176         SANY,   TANY,
177         SFLD,   ANYSIGNED,
178                 0,      RNULL,
ragge
1.2
179                 "       extv    H,S,AR,-(sp)\n", },
ragge
1.1
180
ragge
1.2
181 FLD,  FORARG,
ragge
1.1
182         SANY,   TANY,
183         SFLD,   ANYUSIGNED,
184                 0,      RNULL,
ragge
1.2
185                 "       extzv   H,S,AR,-(sp)\n", },
186 #endif
ragge
1.1
187
ragge
1.2
188 OPLOG,        FORCC,
ragge
1.7
189         SBREG|AWD,      TLONGLONG|TULONGLONG,
190         SBREG,          TLONGLONG|TULONGLONG,
191                 0,      0,
192                 "ZB", },
193
194
195 OPLOG,        FORCC,
ragge
1.1
196         SAREG|AWD,      TWORD,
197         SAREG|AWD,      TWORD,
198                 0,      RESCC,
ragge
1.2
199                 "       cmpl    AL,AR\n", },
ragge
1.1
200
ragge
1.2
201 OPLOG,        FORCC,
ragge
1.1
202         SAREG|AWD,      TSHORT|TUSHORT,
203         SAREG|AWD,      TSHORT|TUSHORT,
204                 0,      RESCC,
ragge
1.2
205                 "       cmpw    AL,AR\n", },
ragge
1.1
206
ragge
1.2
207 OPLOG,        FORCC,
ragge
1.1
208         SAREG|AWD,      TCHAR|TUCHAR,
209         SAREG|AWD,      TCHAR|TUCHAR,
210                 0,      RESCC,
ragge
1.2
211                 "       cmpb    AL,AR\n", },
ragge
1.1
212
ragge
1.2
213 OPLOG,        FORCC,
ragge
1.1
214         SAREG|AWD,      TSHORT|TUSHORT,
215         SSCON,  TANY,
216                 0,      RESCC,
ragge
1.2
217                 "       cmpw    AL,AR\n", },
ragge
1.1
218
ragge
1.2
219 OPLOG,        FORCC,
ragge
1.1
220         SAREG|AWD,      TCHAR|TUCHAR,
221         SCCON,  TANY,
222                 0,      RESCC,
ragge
1.2
223                 "       cmpb    AL,AR\n", },
ragge
1.1
224
ragge
1.2
225 OPLOG,        FORCC,
ragge
1.1
226         SAREG|AWD,      TDOUBLE,
227         SAREG|AWD,      TDOUBLE,
228                 0,      RESCC,
ragge
1.2
229                 "       cmpd    AL,AR\n", },
ragge
1.1
230
ragge
1.2
231 OPLOG,        FORCC,
ragge
1.1
232         SAREG|AWD,      TFLOAT|TDOUBLE,
233         SAREG|AWD,      TFLOAT|TDOUBLE,
234                 0,      RESCC,
ragge
1.2
235                 "       cmpf    AL,AR\n", },
ragge
1.1
236
ragge
1.2
237 CCODES,       INAREG|INAREG,
ragge
1.1
238         SANY,   TANY,
239         SANY,   TANY,
240                 NAREG,  RESC1,
ragge
1.2
241                 "       movl    $1,A1\nZN", },
242
243 /*
244  * Subroutine calls.
245  */
ragge
1.1
246
ragge
1.2
247 CALL,         FOREFF,
ragge
1.1
248         SCON,   TANY,
ragge
1.2
249         SANY,   TANY,
250                 0,      0,
251                 "       calls   ZC,CL\n", },
252
253 UCALL,        FOREFF,
254         SCON,   TANY,
255         SANY,   TANY,
256                 0,      0,
257                 "       calls   $0,CL\n", },
258
259 CALL,         INAREG,
260         SCON,   TANY,
261         SANY,   TANY,
262                 NAREG|NASL,     RESC1/* should be register 0 */
263                 "       calls   ZC,CL\n", },
264
265 UCALL,        INAREG,
266         SCON,   TANY,
267         SANY,   TANY,
ragge
1.1
268                 NAREG|NASL,     RESC1/* should be register 0 */
ragge
1.2
269                 "       calls   $0,CL\n", },
ragge
1.1
270
ragge
1.4
271 CALL,         FOREFF,
272         SAREG,  TANY,
273         SANY,   TANY,
274                 0,      0,      /* should be 0 */
275                 "       calls   ZC,(AL)\n", },
276
277 CALL,         INAREG,
ragge
1.3
278         SAREG,  TANY,
279         SANY,   TANY,
280                 NAREG|NASL,     RESC1,  /* should be 0 */
281                 "       calls   ZC,(AL)\n", },
282
ragge
1.4
283 UCALL,        FOREFF,
284         SAREG,  TANY,
285         SANY,   TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE,
286                 0,      0,      /* should be 0 */
287                 "       calls   ZC,(AL)\n", },
288
289 UCALL,        INAREG,
ragge
1.1
290         SAREG,  TANY,
291         SANY,   TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE,
292                 NAREG|NASL,     RESC1,  /* should be 0 */
ragge
1.2
293                 "       calls   ZC,(AL)\n", },
ragge
1.1
294
ragge
1.4
295 UCALL,        FOREFF,
296         SNAME,  TANY,
297         SANY,   TANY,
298                 0,      0,      /* really reg 0 */
299                 "       calls   ZC,*AL\n", },
300
301 UCALL,        INAREG,
ragge
1.1
302         SNAME,  TANY,
303         SANY,   TANY,
304                 NAREG|NASL,     RESC1,  /* really reg 0 */
ragge
1.2
305                 "       calls   ZC,*AL\n", },
ragge
1.1
306
ragge
1.4
307 UCALL,        FOREFF,
308         SSOREGTANY,
309         SANY,   TANY,
310                 0,      0,      /* really reg 0 */
311                 "       calls   ZC,*AL\n", },
312
313 UCALL,        INAREG,
ragge
1.1
314         SSOREGTANY,
315         SANY,   TANY,
316                 NAREG|NASL,     RESC1,  /* really reg 0 */
ragge
1.2
317                 "       calls   ZC,*AL\n", },
318
ragge
1.5
319 STCALL,       INAREG,
320         SCON,   TANY,
321         SANY,   TANY,
322                 NAREG|NASL,     RESC1/* should be register 0 */
323                 "       calls   ZC,CL\n", },
324
325
326
ragge
1.2
327 /*
328  * Function arguments
329  */
330 FUNARG,       FOREFF,
331         SCON|SAREG|SNAME|SOREGTWORD|TPOINT,
332         SANY,   TWORD|TPOINT,
333                 0,      RNULL,
334                 "       pushl AL\n" },
335
336 #if 0
337 ASG RS,       INAREG|FOREFF|FORCC,
ragge
1.1
338         SAREG,  TWORD,
339         SCON,   TINT,
340                 0,      RLEFT|RESCC,
ragge
1.2
341                 "       extzv   AR,ZU,AL,AL\n", },
ragge
1.1
342
ragge
1.2
343 ASG RS,       INAREG|FOREFF|FORCC,
ragge
1.1
344         SAREG,  TWORD,
345         SAREG,  ANYFIXED,
346                 NAREG,  RLEFT|RESCC,
ragge
1.2
347                 "       subl3   AR,$32,A1\n     extzv   AR,A1,AL,AL\n", },
ragge
1.1
348
ragge
1.2
349 ASG RS,       INAREG|FOREFF|FORCC,
ragge
1.1
350         SAREG,  TWORD,
351         SAREG|AWD,      TWORD,
352                 NAREG,  RLEFT|RESCC,
ragge
1.2
353                 "       subl3   AR,$32,A1\n     extzv   AR,A1,AL,AL\n", },
354 #endif
ragge
1.1
355
ragge
1.2
356 RS,   INAREG|INAREG|FORCC,
ragge
1.1
357         SAREG,  TWORD,
358         SCON,   TINT,
359                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
360                 "       extzv   AR,ZU,AL,A1\n", },
ragge
1.1
361
ragge
1.2
362 #if 0
363 ASG LS,       INAREG|FOREFF|FORCC,
ragge
1.1
364         SAREG|AWD,      TWORD,
365         SAREG|AWD,      ANYSIGNED|ANYUSIGNED,
366                 0,      RLEFT|RESCC,
ragge
1.2
367                 "       ashl    AR,AL,AL\n", },
368 #endif
ragge
1.1
369
ragge
1.2
370 LS,   INAREG|INAREG|FORCC,
ragge
1.1
371         SAREG|AWD,      TWORD,
372         SAREG|AWD,      ANYSIGNED|ANYUSIGNED,
373                 NAREG|NASL|NASR,        RESC1|RESCC,
ragge
1.2
374                 "       ashl    AR,AL,A1\n", },
ragge
1.1
375
ragge
1.2
376 #if 0
377 INCRFOREFF,
ragge
1.1
378         SAREG|AWD,      TANY,
379         SANY,   TANY,
380                 0,      RLEFT,
ragge
1.2
381                 "       ZE\n", },
ragge
1.1
382
ragge
1.2
383 DECRFOREFF,
ragge
1.1
384         SAREG|AWD,      TANY,
385         SCON,   TANY,
386                 0,      RLEFT,
ragge
1.2
387                 "       ZE\n", },
ragge
1.1
388
ragge
1.2
389 INCRINAREG|INAREG,
ragge
1.1
390         SAREG|AWD,      TANY,
391         SCON,   TANY,
392                 NAREG,  RESC1,
ragge
1.2
393                 "       ZD\n", },
ragge
1.1
394
ragge
1.2
395 DECRINAREG|INAREG,
ragge
1.1
396         SAREG|AWD,      TANY,
397         SCON,   TANY,
398                 NAREG,  RESC1,
ragge
1.2
399                 "       ZD\n", },
400 #endif
401
402 ASSIGN,       INBREG|FOREFF,
403         SBREG|AWD,      TBREG,
404         SBREG|AWD,      TBREG,
405                 0,      RDEST,
406                 "       movq AR,AL\n", },
ragge
1.1
407
ragge
1.2
408 ASSIGN,       INAREG|FOREFF|FORCC,
ragge
1.1
409         SAREG|AWD,      TANY,
410         SAREG|AWD,      TANY,
ragge
1.2
411                 0,      RDEST|RESCC,
412                 "       ZA\n", },
ragge
1.1
413
ragge
1.2
414 ASSIGN,       INAREG|FOREFF|FORCC,
ragge
1.1
415         SFLD,   TANY,
416         SAREG|AWD,      TWORD,
ragge
1.2
417                 0,      RDEST|RESCC,
418                 "       insv    AR,H,S,AL\n", },
ragge
1.1
419
ragge
1.2
420 ASSIGN,       INAREG|FOREFF|FORCC,
ragge
1.1
421         SAREG|AWD,      TWORD,
422         SFLD,   ANYSIGNED,
ragge
1.2
423                 0,      RDEST|RESCC,
424                 "       extv    H,S,AR,AL\n", },
ragge
1.1
425
ragge
1.2
426 ASSIGN,       INAREG|FOREFF|FORCC,
ragge
1.1
427         SAREG|AWD,      TWORD,
428         SFLD,   ANYUSIGNED,
ragge
1.2
429                 0,      RDEST|RESCC,
430                 "       extzv   H,S,AR,AL\n", },
ragge
1.1
431
432 /* dummy UNARY MUL entry to get U* to possibly match OPLTYPE */
ragge
1.2
433 UMULFOREFF,
ragge
1.1
434         SCC,    TANY,
435         SCC,    TANY,
436                 0,      RNULL,
ragge
1.2
437                 "       HELP HELP HELP\n", },
ragge
1.1
438
ragge
1.7
439 UMULINAREG,
440         SANY,   TPOINT|TWORD,
441         SOREG,  TPOINT|TWORD,
442                 NAREG|NASL,     RESC1,
443                 "       movl AL,A1\n", },
444
ragge
1.2
445 #if 0
446 REG,  FORARG,
ragge
1.1
447         SANY,   TANY,
448         SAREG,  TDOUBLE|TFLOAT,
449                 0,      RNULL,
ragge
1.2
450                 "       movZR   AR,-(sp)\n", },
ragge
1.1
451
ragge
1.2
452 REG,  INTEMP,
ragge
1.1
453         SANY,   TANY,
454         SAREG,  TDOUBLE,
455                 2*NTEMP,        RESC1,
ragge
1.2
456                 "       movd    AR,A1\n", },
ragge
1.1
457
ragge
1.2
458 REG,  INTEMP,
ragge
1.1
459         SANY,   TANY,
460         SAREG,  TANY,
461                 NTEMP,  RESC1,
ragge
1.2
462                 "       movZF   AR,A1\n", },
ragge
1.4
463 #endif
ragge
1.1
464
ragge
1.2
465 OPLEAF,       FOREFF,
ragge
1.1
466         SANY,   TANY,
467         SAREG|AWD,      TANY,
468                 0,      RLEFT,
ragge
1.2
469                 "", },
ragge
1.1
470
ragge
1.7
471 OPLTYPE,      INBREG,
472         SANY,   TANY,
473         SCON|SOREG|SNAME,       TLONGLONG|TULONGLONG,
474                 NBREG,  RESC1,
475                 "       movq AL,A1\n", },
476
ragge
1.2
477 OPLTYPE,      INAREG|INAREG,
ragge
1.1
478         SANY,   TANY,
479         SANY,   TFLOAT|TDOUBLE,
480                 2*NAREG|NASR,   RESC1,
ragge
1.2
481                 "       ZA\n", },
ragge
1.1
482
ragge
1.2
483 OPLTYPE,      INAREG|INAREG,
ragge
1.1
484         SANY,   TANY,
485         SANY,   TANY,
486                 NAREG|NASR,     RESC1,
ragge
1.2
487                 "       ZA\n", },
ragge
1.1
488
ragge
1.2
489 OPLTYPE,      FORCC,
ragge
1.1
490         SANY,   TANY,
491         SANY,   TANY,
492                 0,      RESCC,
ragge
1.2
493                 "       tstZR   AR\n", },
ragge
1.1
494
ragge
1.2
495 #if 0
496 OPLTYPE,      FORARG,
ragge
1.1
497         SANY,   TANY,
498         SANY,   TWORD,
499                 0,      RNULL,
ragge
1.2
500                 "       pushl   AR\n", },
ragge
1.1
501
ragge
1.2
502 OPLTYPE,      FORARG,
ragge
1.1
503         SANY,   TANY,
504         SANY,   TCHAR|TSHORT,
505                 0,      RNULL,
ragge
1.2
506                 "       cvtZRl  AR,-(sp)\n", },
ragge
1.1
507
ragge
1.2
508 OPLTYPE,      FORARG,
ragge
1.1
509         SANY,   TANY,
510         SANY,   TUCHAR|TUSHORT,
511                 0,      RNULL,
ragge
1.2
512                 "       movzZRl AR,-(sp)\n", },
ragge
1.1
513
ragge
1.2
514 OPLTYPE,      FORARG,
ragge
1.1
515         SANY,   TANY,
516         SANY,   TDOUBLE,
517                 0,      RNULL,
ragge
1.2
518                 "       movd    AR,-(sp)\n", },
ragge
1.1
519
ragge
1.2
520 OPLTYPE,      FORARG,
ragge
1.1
521         SANY,   TANY,
522         SANY,   TFLOAT,
523                 0,      RNULL,
ragge
1.2
524                 "       cvtfd   AR,-(sp)\n", },
525 #endif
ragge
1.1
526
ragge
1.2
527 UMINUS,       INAREG|FORCC,
ragge
1.1
528         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG|TDOUBLE,
529         SANY,   TANY,
530                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
531                 "       mnegZL  AL,A1\n", },
ragge
1.1
532
ragge
1.2
533 COMPL,        INAREG|FORCC,
ragge
1.1
534         SAREG|AWD,      TINT|TUNSIGNED,
535         SANY,   TANY,
536                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
537                 "       mcomZL  AL,A1\n", },
ragge
1.1
538
ragge
1.2
539 COMPL,        INAREG|FORCC,
ragge
1.1
540         SAREG|AWD,      ANYSIGNED|ANYUSIGNED,
541         SANY,   TANY,
542                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
543                 "       cvtZLl  AL,A1\n mcoml   A1,A1\n", },
ragge
1.1
544
ragge
1.2
545 AND,  FORCC,
ragge
1.1
546         SAREG|AWD,      TWORD,
547         SCON,   TWORD,
548                 0,      RESCC,
ragge
1.2
549                 "       bitl    ZZ,AL\n", },
ragge
1.1
550
ragge
1.2
551 AND,  FORCC,
ragge
1.1
552         SAREG|AWD,      TSHORT|TUSHORT,
553         SSCON,  TWORD,
554                 0,      RESCC,
ragge
1.2
555                 "       bitw    ZZ,AL\n", },
ragge
1.1
556
ragge
1.2
557 AND,  FORCC,
ragge
1.1
558         SAREG|AWD,      TCHAR|TUCHAR,
559         SCCON,  TWORD,
560                 0,      RESCC,
ragge
1.2
561                 "       bitb    ZZ,AL\n", },
ragge
1.1
562
ragge
1.2
563 #if 0
564 ASG AND,      INAREG|FOREFF|FORCC,
ragge
1.1
565         SAREG,  ANYFIXED,
566         SCON,   TWORD,
567                 0,      RLEFT|RESCC,
ragge
1.2
568                 "       bicl2   AR,AL\n", },
ragge
1.1
569
ragge
1.2
570 ASG OPMUL,    INAREG|FOREFF|FORCC,
ragge
1.1
571         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
572         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
573                 0,      RLEFT|RESCC,
ragge
1.2
574                 "       OL2     AR,AL\n", },
575 #endif
ragge
1.1
576
ragge
1.2
577 OPMUL,        INAREG|INAREG|FORCC,
578         SAREG,  TINT|TUNSIGNED|TLONG|TULONG,
ragge
1.1
579         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
580                 0,      RLEFT|RESCC,
ragge
1.2
581                 "       OL2     AR,AL\n", },
ragge
1.1
582
ragge
1.2
583 OPMUL,        INAREG|INAREG|FORCC,
ragge
1.1
584         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
585         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
586                 NAREG|NASL|NASR,        RESC1|RESCC,
ragge
1.2
587                 "       OL3     AR,AL,A1\n", },
ragge
1.1
588
ragge
1.2
589 #if 0
590 ASG MOD,      INAREG|INAREG|FOREFF|FORCC,
ragge
1.1
591         SAREG,  TINT|TUNSIGNED|TLONG|TULONG,
592         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
593                 NAREG,  RLEFT|RESCC,
ragge
1.2
594                 "       divl3   AR,AL,A1\n      mull2   AR,A1\n subl2   A1,AL\n", },
595 #endif
ragge
1.1
596
ragge
1.2
597 MOD,  INAREG|INAREG,
ragge
1.1
598         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
599         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
600                 NAREG,  RESC1,
ragge
1.2
601                 "       divl3   AR,AL,A1\n      mull2   AR,A1\n subl3   A1,AL,A1\n", },
ragge
1.1
602
ragge
1.2
603 #if 0
604 ASG PLUS,     INAREG|FOREFF|FORCC,
ragge
1.1
605         SAREG|AWD,      ANYSIGNED|ANYUSIGNED,
606         SONE,   TINT|TLONG,
607                 0,      RLEFT|RESCC,
ragge
1.2
608                 "       incZL   AL\n", },
ragge
1.1
609
ragge
1.2
610 ASG MINUS,    INAREG|FOREFF|FORCC,
ragge
1.1
611         SAREG|AWD,      ANYSIGNED|ANYUSIGNED,
612         SONE,   TINT|TLONG,
613                 0,      RLEFT|RESCC,
ragge
1.2
614                 "       decZL   AL\n", },
615 #endif
ragge
1.1
616
ragge
1.2
617 PLUSINAREG|INAREG|FORCC,
618         SAREG,  ANYFIXED,
ragge
1.1
619         SONE,   TWORD,
620                 0,      RLEFT|RESCC,
ragge
1.2
621                 "       incZL   AL\n", },
ragge
1.1
622
ragge
1.2
623 MINUS,        INAREG|INAREG|FORCC,
624         SAREG,  ANYFIXED,
ragge
1.1
625         SONE,   TWORD,
626                 0,      RLEFT|RESCC,
ragge
1.2
627                 "       decZL   AL\n", },
ragge
1.1
628
ragge
1.2
629 #if 0
630 ASG OPSIMP,   INAREG|FOREFF|FORCC,
ragge
1.1
631         SAREG|AWD,      TWORD,
632         SAREG|AWD,      TWORD,
633                 0,      RLEFT|RESCC,
ragge
1.2
634                 "       OL2     AR,AL\n", },
ragge
1.1
635
ragge
1.2
636 ASG OPSIMP,   INAREG|FOREFF|FORCC,
ragge
1.1
637         AWD,    TSHORT|TUSHORT,
638         SAREG|AWD,      TSHORT|TUSHORT,
639                 0,      RLEFT|RESCC,
ragge
1.2
640                 "       OW2     AR,AL\n", },
ragge
1.1
641
ragge
1.2
642 ASG OPSIMP,   INAREG|FOREFF|FORCC,
ragge
1.1
643         AWD,    TSHORT|TUSHORT,
644         SSCON,  TWORD,
645                 0,      RLEFT|RESCC,
ragge
1.2
646                 "       OW2     AR,AL\n", },
ragge
1.1
647
ragge
1.2
648 ASG OPSIMP,   INAREG|FOREFF|FORCC,
ragge
1.1
649         AWD,    TCHAR|TUCHAR,
650         SAREG|AWD,      TCHAR|TUCHAR,
651                 0,      RLEFT|RESCC,
ragge
1.2
652                 "       OB2     AR,AL\n", },
ragge
1.1
653
ragge
1.2
654 ASG OPSIMP,   INAREG|FOREFF|FORCC,
ragge
1.1
655         AWD,    TCHAR|TUCHAR,
656         SCCON,  TWORD,
657                 0,      RLEFT|RESCC,
ragge
1.2
658                 "       OB2     AR,AL\n", },
659 #endif
ragge
1.1
660
ragge
1.2
661 OPSIMP,       INAREG|INAREG|FORCC,
662         SAREG,  ANYFIXED,
ragge
1.1
663         SAREG|AWD,      TWORD,
664                 0,      RLEFT|RESCC,
ragge
1.2
665                 "       OL2     AR,AL\n", },
ragge
1.1
666
ragge
1.2
667 OPSIMP,       INAREG|INAREG|FORCC,
ragge
1.1
668         SAREG|AWD,      TWORD,
669         SAREG|AWD,      TWORD,
670                 NAREG|NASL|NASR,        RESC1|RESCC,
ragge
1.2
671                 "       OL3     AR,AL,A1\n", },
ragge
1.1
672
ragge
1.2
673 #if 0
674 ASG OPFLOAT,  INAREG|FOREFF|FORCC,
ragge
1.1
675         SAREG|AWD,      TDOUBLE,
676         SAREG|AWD,      TDOUBLE,
677                 0,      RLEFT|RESCC,
ragge
1.2
678                 "       OD2     AR,AL\n", },
ragge
1.1
679
ragge
1.2
680 ASG OPFLOAT,  INAREG|FOREFF|FORCC,
ragge
1.1
681         SAREG|AWD,      TFLOAT,
682         SAREG|AWD,      TFLOAT,
683                 0,      RLEFT|RESCC,
ragge
1.2
684                 "       OF2     AR,AL\n", },
ragge
1.1
685
ragge
1.2
686 ASG OPFLOAT,  INAREG|FOREFF|FORCC,
ragge
1.1
687         SAREG|AWD,      TDOUBLE,
688         SAREG|AWD,      TFLOAT,
689                 NAREG|NASR,     RLEFT|RESCC,
ragge
1.2
690                 "       cvtfd   AR,A1\n OD2     A1,AL\n", },
ragge
1.1
691
ragge
1.2
692 ASG OPFLOAT,  INAREG|INAREG|FOREFF|FORCC,
ragge
1.1
693         SAREG|AWD,      TFLOAT,
694         SAREG|AWD,      TDOUBLE,
695                 NAREG,  RLEFT|RESC1|RESCC,
ragge
1.2
696                 "       cvtfd   AL,A1\n OD2     AR,A1\n cvtdf   A1,AL\n", },
697 #endif
ragge
1.1
698
ragge
1.2
699 OPFLOAT,      INAREG|INAREG|FORCC,
700         SAREG,  TDOUBLE,
ragge
1.1
701         SAREG|AWD,      TDOUBLE,
702                 0,      RLEFT|RESCC,
ragge
1.2
703                 "       OD2     AR,AL\n", },
ragge
1.1
704
ragge
1.2
705 OPFLOAT,      INAREG|INAREG|FORCC,
ragge
1.1
706         SAREG|AWD,      TDOUBLE,
707         SAREG|AWD,      TDOUBLE,
708                 NAREG|NASL|NASR,        RESC1|RESCC,
ragge
1.2
709                 "       OD3     AR,AL,A1\n", },
ragge
1.1
710
ragge
1.2
711 OPFLOAT,      INAREG|INAREG|FORCC,
ragge
1.1
712         SAREG|AWD,      TFLOAT,
713         SAREG|AWD,      TDOUBLE,
714                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
715                 "       cvtfd   AL,A1\n OD2     AR,A1\n", },
ragge
1.1
716
ragge
1.2
717 OPFLOAT,      INAREG|INAREG|FORCC,
ragge
1.1
718         SAREG|AWD,      TDOUBLE,
719         SAREG|AWD,      TFLOAT,
720                 NAREG|NASR,     RESC1|RESCC,
ragge
1.2
721                 "       cvtfd   AR,A1\n OD3     A1,AL,A1\n", },
ragge
1.1
722
ragge
1.2
723 OPFLOAT,      INAREG|INAREG|FORCC,
ragge
1.1
724         SAREG|AWD,      TFLOAT,
725         SAREG|AWD,      TFLOAT,
726                 NAREG|NASL|NASR,        RESC1|RESCC,
ragge
1.2
727                 "       OF3     AR,AL,A1\n      cvtfd   A1,A1\n", },
ragge
1.1
728
729         /* Default actions for hard trees ... */
730
731 # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,""
732
ragge
1.2
733 UMULDFUMUL ), },
ragge
1.1
734
ragge
1.2
735 ASSIGNDF(ASSIGN), },
ragge
1.1
736
ragge
1.2
737 STASGDF(STASG), },
ragge
1.1
738
ragge
1.2
739 OPLEAFDF(NAME), },
ragge
1.1
740
ragge
1.2
741 OPLOG,        FORCC,
ragge
1.1
742         SANY,   TANY,
743         SANY,   TANY,
744                 REWRITE,        BITYPE,
ragge
1.2
745                 "", },
ragge
1.1
746
ragge
1.2
747 OPUNARYDF(UMINUS), },
ragge
1.1
748
ragge
1.2
749 OPANYDF(BITYPE), },
ragge
1.1
750
ragge
1.2
751 FREEFREE,   FREE,   FREE,   FREE,   FREE,   FREE,   FREE,   "help; I'm in trouble\n" }
752 };
FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-09-01 20:35 +0200