Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:ragge:20110623134823

Diff

Diff from 1.4 to:

Annotations

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

Annotated File View

ragge
1.4
1 /*      $Id: table.c,v 1.4 2011/06/23 13:48:23 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.2
124 STARG,        INTEMP,
ragge
1.1
125         SCON|SAREG,     TANY,
126         SANY,   TANY,
ragge
1.4
127                 NTEMP+2*NAREG,  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.1
189         SAREG|AWD,      TWORD,
190         SAREG|AWD,      TWORD,
191                 0,      RESCC,
ragge
1.2
192                 "       cmpl    AL,AR\n", },
ragge
1.1
193
ragge
1.2
194 OPLOG,        FORCC,
ragge
1.1
195         SAREG|AWD,      TSHORT|TUSHORT,
196         SAREG|AWD,      TSHORT|TUSHORT,
197                 0,      RESCC,
ragge
1.2
198                 "       cmpw    AL,AR\n", },
ragge
1.1
199
ragge
1.2
200 OPLOG,        FORCC,
ragge
1.1
201         SAREG|AWD,      TCHAR|TUCHAR,
202         SAREG|AWD,      TCHAR|TUCHAR,
203                 0,      RESCC,
ragge
1.2
204                 "       cmpb    AL,AR\n", },
ragge
1.1
205
ragge
1.2
206 OPLOG,        FORCC,
ragge
1.1
207         SAREG|AWD,      TSHORT|TUSHORT,
208         SSCON,  TANY,
209                 0,      RESCC,
ragge
1.2
210                 "       cmpw    AL,AR\n", },
ragge
1.1
211
ragge
1.2
212 OPLOG,        FORCC,
ragge
1.1
213         SAREG|AWD,      TCHAR|TUCHAR,
214         SCCON,  TANY,
215                 0,      RESCC,
ragge
1.2
216                 "       cmpb    AL,AR\n", },
ragge
1.1
217
ragge
1.2
218 OPLOG,        FORCC,
ragge
1.1
219         SAREG|AWD,      TDOUBLE,
220         SAREG|AWD,      TDOUBLE,
221                 0,      RESCC,
ragge
1.2
222                 "       cmpd    AL,AR\n", },
ragge
1.1
223
ragge
1.2
224 OPLOG,        FORCC,
ragge
1.1
225         SAREG|AWD,      TFLOAT|TDOUBLE,
226         SAREG|AWD,      TFLOAT|TDOUBLE,
227                 0,      RESCC,
ragge
1.2
228                 "       cmpf    AL,AR\n", },
ragge
1.1
229
ragge
1.2
230 CCODES,       INAREG|INAREG,
ragge
1.1
231         SANY,   TANY,
232         SANY,   TANY,
233                 NAREG,  RESC1,
ragge
1.2
234                 "       movl    $1,A1\nZN", },
235
236 /*
237  * Subroutine calls.
238  */
ragge
1.1
239
ragge
1.2
240 CALL,         FOREFF,
ragge
1.1
241         SCON,   TANY,
ragge
1.2
242         SANY,   TANY,
243                 0,      0,
244                 "       calls   ZC,CL\n", },
245
246 UCALL,        FOREFF,
247         SCON,   TANY,
248         SANY,   TANY,
249                 0,      0,
250                 "       calls   $0,CL\n", },
251
252 CALL,         INAREG,
253         SCON,   TANY,
254         SANY,   TANY,
255                 NAREG|NASL,     RESC1/* should be register 0 */
256                 "       calls   ZC,CL\n", },
257
258 UCALL,        INAREG,
259         SCON,   TANY,
260         SANY,   TANY,
ragge
1.1
261                 NAREG|NASL,     RESC1/* should be register 0 */
ragge
1.2
262                 "       calls   $0,CL\n", },
ragge
1.1
263
ragge
1.4
264 CALL,         FOREFF,
265         SAREG,  TANY,
266         SANY,   TANY,
267                 0,      0,      /* should be 0 */
268                 "       calls   ZC,(AL)\n", },
269
270 CALL,         INAREG,
ragge
1.3
271         SAREG,  TANY,
272         SANY,   TANY,
273                 NAREG|NASL,     RESC1,  /* should be 0 */
274                 "       calls   ZC,(AL)\n", },
275
ragge
1.4
276 UCALL,        FOREFF,
277         SAREG,  TANY,
278         SANY,   TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE,
279                 0,      0,      /* should be 0 */
280                 "       calls   ZC,(AL)\n", },
281
282 UCALL,        INAREG,
ragge
1.1
283         SAREG,  TANY,
284         SANY,   TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE,
285                 NAREG|NASL,     RESC1,  /* should be 0 */
ragge
1.2
286                 "       calls   ZC,(AL)\n", },
ragge
1.1
287
ragge
1.4
288 UCALL,        FOREFF,
289         SNAME,  TANY,
290         SANY,   TANY,
291                 0,      0,      /* really reg 0 */
292                 "       calls   ZC,*AL\n", },
293
294 UCALL,        INAREG,
ragge
1.1
295         SNAME,  TANY,
296         SANY,   TANY,
297                 NAREG|NASL,     RESC1,  /* really reg 0 */
ragge
1.2
298                 "       calls   ZC,*AL\n", },
ragge
1.1
299
ragge
1.4
300 UCALL,        FOREFF,
301         SSOREGTANY,
302         SANY,   TANY,
303                 0,      0,      /* really reg 0 */
304                 "       calls   ZC,*AL\n", },
305
306 UCALL,        INAREG,
ragge
1.1
307         SSOREGTANY,
308         SANY,   TANY,
309                 NAREG|NASL,     RESC1,  /* really reg 0 */
ragge
1.2
310                 "       calls   ZC,*AL\n", },
311
312 /*
313  * Function arguments
314  */
315 FUNARG,       FOREFF,
316         SCON|SAREG|SNAME|SOREGTWORD|TPOINT,
317         SANY,   TWORD|TPOINT,
318                 0,      RNULL,
319                 "       pushl AL\n" },
320
321 #if 0
322 ASG RS,       INAREG|FOREFF|FORCC,
ragge
1.1
323         SAREG,  TWORD,
324         SCON,   TINT,
325                 0,      RLEFT|RESCC,
ragge
1.2
326                 "       extzv   AR,ZU,AL,AL\n", },
ragge
1.1
327
ragge
1.2
328 ASG RS,       INAREG|FOREFF|FORCC,
ragge
1.1
329         SAREG,  TWORD,
330         SAREG,  ANYFIXED,
331                 NAREG,  RLEFT|RESCC,
ragge
1.2
332                 "       subl3   AR,$32,A1\n     extzv   AR,A1,AL,AL\n", },
ragge
1.1
333
ragge
1.2
334 ASG RS,       INAREG|FOREFF|FORCC,
ragge
1.1
335         SAREG,  TWORD,
336         SAREG|AWD,      TWORD,
337                 NAREG,  RLEFT|RESCC,
ragge
1.2
338                 "       subl3   AR,$32,A1\n     extzv   AR,A1,AL,AL\n", },
339 #endif
ragge
1.1
340
ragge
1.2
341 RS,   INAREG|INAREG|FORCC,
ragge
1.1
342         SAREG,  TWORD,
343         SCON,   TINT,
344                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
345                 "       extzv   AR,ZU,AL,A1\n", },
ragge
1.1
346
ragge
1.2
347 #if 0
348 ASG LS,       INAREG|FOREFF|FORCC,
ragge
1.1
349         SAREG|AWD,      TWORD,
350         SAREG|AWD,      ANYSIGNED|ANYUSIGNED,
351                 0,      RLEFT|RESCC,
ragge
1.2
352                 "       ashl    AR,AL,AL\n", },
353 #endif
ragge
1.1
354
ragge
1.2
355 LS,   INAREG|INAREG|FORCC,
ragge
1.1
356         SAREG|AWD,      TWORD,
357         SAREG|AWD,      ANYSIGNED|ANYUSIGNED,
358                 NAREG|NASL|NASR,        RESC1|RESCC,
ragge
1.2
359                 "       ashl    AR,AL,A1\n", },
ragge
1.1
360
ragge
1.2
361 #if 0
362 INCRFOREFF,
ragge
1.1
363         SAREG|AWD,      TANY,
364         SANY,   TANY,
365                 0,      RLEFT,
ragge
1.2
366                 "       ZE\n", },
ragge
1.1
367
ragge
1.2
368 DECRFOREFF,
ragge
1.1
369         SAREG|AWD,      TANY,
370         SCON,   TANY,
371                 0,      RLEFT,
ragge
1.2
372                 "       ZE\n", },
ragge
1.1
373
ragge
1.2
374 INCRINAREG|INAREG,
ragge
1.1
375         SAREG|AWD,      TANY,
376         SCON,   TANY,
377                 NAREG,  RESC1,
ragge
1.2
378                 "       ZD\n", },
ragge
1.1
379
ragge
1.2
380 DECRINAREG|INAREG,
ragge
1.1
381         SAREG|AWD,      TANY,
382         SCON,   TANY,
383                 NAREG,  RESC1,
ragge
1.2
384                 "       ZD\n", },
385 #endif
386
387 ASSIGN,       INBREG|FOREFF,
388         SBREG|AWD,      TBREG,
389         SBREG|AWD,      TBREG,
390                 0,      RDEST,
391                 "       movq AR,AL\n", },
ragge
1.1
392
ragge
1.2
393 ASSIGN,       INAREG|FOREFF|FORCC,
ragge
1.1
394         SAREG|AWD,      TANY,
395         SAREG|AWD,      TANY,
ragge
1.2
396                 0,      RDEST|RESCC,
397                 "       ZA\n", },
ragge
1.1
398
ragge
1.2
399 ASSIGN,       INAREG|FOREFF|FORCC,
ragge
1.1
400         SFLD,   TANY,
401         SAREG|AWD,      TWORD,
ragge
1.2
402                 0,      RDEST|RESCC,
403                 "       insv    AR,H,S,AL\n", },
ragge
1.1
404
ragge
1.2
405 ASSIGN,       INAREG|FOREFF|FORCC,
ragge
1.1
406         SAREG|AWD,      TWORD,
407         SFLD,   ANYSIGNED,
ragge
1.2
408                 0,      RDEST|RESCC,
409                 "       extv    H,S,AR,AL\n", },
ragge
1.1
410
ragge
1.2
411 ASSIGN,       INAREG|FOREFF|FORCC,
ragge
1.1
412         SAREG|AWD,      TWORD,
413         SFLD,   ANYUSIGNED,
ragge
1.2
414                 0,      RDEST|RESCC,
415                 "       extzv   H,S,AR,AL\n", },
ragge
1.1
416
417 /* dummy UNARY MUL entry to get U* to possibly match OPLTYPE */
ragge
1.2
418 UMULFOREFF,
ragge
1.1
419         SCC,    TANY,
420         SCC,    TANY,
421                 0,      RNULL,
ragge
1.2
422                 "       HELP HELP HELP\n", },
ragge
1.1
423
ragge
1.2
424 #if 0
425 REG,  FORARG,
ragge
1.1
426         SANY,   TANY,
427         SAREG,  TDOUBLE|TFLOAT,
428                 0,      RNULL,
ragge
1.2
429                 "       movZR   AR,-(sp)\n", },
ragge
1.1
430
ragge
1.2
431 REG,  INTEMP,
ragge
1.1
432         SANY,   TANY,
433         SAREG,  TDOUBLE,
434                 2*NTEMP,        RESC1,
ragge
1.2
435                 "       movd    AR,A1\n", },
ragge
1.1
436
ragge
1.2
437 REG,  INTEMP,
ragge
1.1
438         SANY,   TANY,
439         SAREG,  TANY,
440                 NTEMP,  RESC1,
ragge
1.2
441                 "       movZF   AR,A1\n", },
ragge
1.4
442 #endif
ragge
1.1
443
ragge
1.2
444 OPLEAF,       FOREFF,
ragge
1.1
445         SANY,   TANY,
446         SAREG|AWD,      TANY,
447                 0,      RLEFT,
ragge
1.2
448                 "", },
ragge
1.1
449
ragge
1.2
450 OPLTYPE,      INAREG|INAREG,
ragge
1.1
451         SANY,   TANY,
452         SANY,   TFLOAT|TDOUBLE,
453                 2*NAREG|NASR,   RESC1,
ragge
1.2
454                 "       ZA\n", },
ragge
1.1
455
ragge
1.2
456 OPLTYPE,      INAREG|INAREG,
ragge
1.1
457         SANY,   TANY,
458         SANY,   TANY,
459                 NAREG|NASR,     RESC1,
ragge
1.2
460                 "       ZA\n", },
ragge
1.1
461
ragge
1.2
462 OPLTYPE,      FORCC,
ragge
1.1
463         SANY,   TANY,
464         SANY,   TANY,
465                 0,      RESCC,
ragge
1.2
466                 "       tstZR   AR\n", },
ragge
1.1
467
ragge
1.2
468 #if 0
469 OPLTYPE,      FORARG,
ragge
1.1
470         SANY,   TANY,
471         SANY,   TWORD,
472                 0,      RNULL,
ragge
1.2
473                 "       pushl   AR\n", },
ragge
1.1
474
ragge
1.2
475 OPLTYPE,      FORARG,
ragge
1.1
476         SANY,   TANY,
477         SANY,   TCHAR|TSHORT,
478                 0,      RNULL,
ragge
1.2
479                 "       cvtZRl  AR,-(sp)\n", },
ragge
1.1
480
ragge
1.2
481 OPLTYPE,      FORARG,
ragge
1.1
482         SANY,   TANY,
483         SANY,   TUCHAR|TUSHORT,
484                 0,      RNULL,
ragge
1.2
485                 "       movzZRl AR,-(sp)\n", },
ragge
1.1
486
ragge
1.2
487 OPLTYPE,      FORARG,
ragge
1.1
488         SANY,   TANY,
489         SANY,   TDOUBLE,
490                 0,      RNULL,
ragge
1.2
491                 "       movd    AR,-(sp)\n", },
ragge
1.1
492
ragge
1.2
493 OPLTYPE,      FORARG,
ragge
1.1
494         SANY,   TANY,
495         SANY,   TFLOAT,
496                 0,      RNULL,
ragge
1.2
497                 "       cvtfd   AR,-(sp)\n", },
498 #endif
ragge
1.1
499
ragge
1.2
500 UMINUS,       INAREG|FORCC,
ragge
1.1
501         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG|TDOUBLE,
502         SANY,   TANY,
503                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
504                 "       mnegZL  AL,A1\n", },
ragge
1.1
505
ragge
1.2
506 COMPL,        INAREG|FORCC,
ragge
1.1
507         SAREG|AWD,      TINT|TUNSIGNED,
508         SANY,   TANY,
509                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
510                 "       mcomZL  AL,A1\n", },
ragge
1.1
511
ragge
1.2
512 COMPL,        INAREG|FORCC,
ragge
1.1
513         SAREG|AWD,      ANYSIGNED|ANYUSIGNED,
514         SANY,   TANY,
515                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
516                 "       cvtZLl  AL,A1\n mcoml   A1,A1\n", },
ragge
1.1
517
ragge
1.2
518 AND,  FORCC,
ragge
1.1
519         SAREG|AWD,      TWORD,
520         SCON,   TWORD,
521                 0,      RESCC,
ragge
1.2
522                 "       bitl    ZZ,AL\n", },
ragge
1.1
523
ragge
1.2
524 AND,  FORCC,
ragge
1.1
525         SAREG|AWD,      TSHORT|TUSHORT,
526         SSCON,  TWORD,
527                 0,      RESCC,
ragge
1.2
528                 "       bitw    ZZ,AL\n", },
ragge
1.1
529
ragge
1.2
530 AND,  FORCC,
ragge
1.1
531         SAREG|AWD,      TCHAR|TUCHAR,
532         SCCON,  TWORD,
533                 0,      RESCC,
ragge
1.2
534                 "       bitb    ZZ,AL\n", },
ragge
1.1
535
ragge
1.2
536 #if 0
537 ASG AND,      INAREG|FOREFF|FORCC,
ragge
1.1
538         SAREG,  ANYFIXED,
539         SCON,   TWORD,
540                 0,      RLEFT|RESCC,
ragge
1.2
541                 "       bicl2   AR,AL\n", },
ragge
1.1
542
ragge
1.2
543 ASG OPMUL,    INAREG|FOREFF|FORCC,
ragge
1.1
544         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
545         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
546                 0,      RLEFT|RESCC,
ragge
1.2
547                 "       OL2     AR,AL\n", },
548 #endif
ragge
1.1
549
ragge
1.2
550 OPMUL,        INAREG|INAREG|FORCC,
551         SAREG,  TINT|TUNSIGNED|TLONG|TULONG,
ragge
1.1
552         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
553                 0,      RLEFT|RESCC,
ragge
1.2
554                 "       OL2     AR,AL\n", },
ragge
1.1
555
ragge
1.2
556 OPMUL,        INAREG|INAREG|FORCC,
ragge
1.1
557         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
558         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
559                 NAREG|NASL|NASR,        RESC1|RESCC,
ragge
1.2
560                 "       OL3     AR,AL,A1\n", },
ragge
1.1
561
ragge
1.2
562 #if 0
563 ASG MOD,      INAREG|INAREG|FOREFF|FORCC,
ragge
1.1
564         SAREG,  TINT|TUNSIGNED|TLONG|TULONG,
565         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
566                 NAREG,  RLEFT|RESCC,
ragge
1.2
567                 "       divl3   AR,AL,A1\n      mull2   AR,A1\n subl2   A1,AL\n", },
568 #endif
ragge
1.1
569
ragge
1.2
570 MOD,  INAREG|INAREG,
ragge
1.1
571         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
572         SAREG|AWD,      TINT|TUNSIGNED|TLONG|TULONG,
573                 NAREG,  RESC1,
ragge
1.2
574                 "       divl3   AR,AL,A1\n      mull2   AR,A1\n subl3   A1,AL,A1\n", },
ragge
1.1
575
ragge
1.2
576 #if 0
577 ASG PLUS,     INAREG|FOREFF|FORCC,
ragge
1.1
578         SAREG|AWD,      ANYSIGNED|ANYUSIGNED,
579         SONE,   TINT|TLONG,
580                 0,      RLEFT|RESCC,
ragge
1.2
581                 "       incZL   AL\n", },
ragge
1.1
582
ragge
1.2
583 ASG MINUS,    INAREG|FOREFF|FORCC,
ragge
1.1
584         SAREG|AWD,      ANYSIGNED|ANYUSIGNED,
585         SONE,   TINT|TLONG,
586                 0,      RLEFT|RESCC,
ragge
1.2
587                 "       decZL   AL\n", },
588 #endif
ragge
1.1
589
ragge
1.2
590 PLUSINAREG|INAREG|FORCC,
591         SAREG,  ANYFIXED,
ragge
1.1
592         SONE,   TWORD,
593                 0,      RLEFT|RESCC,
ragge
1.2
594                 "       incZL   AL\n", },
ragge
1.1
595
ragge
1.2
596 MINUS,        INAREG|INAREG|FORCC,
597         SAREG,  ANYFIXED,
ragge
1.1
598         SONE,   TWORD,
599                 0,      RLEFT|RESCC,
ragge
1.2
600                 "       decZL   AL\n", },
ragge
1.1
601
ragge
1.2
602 #if 0
603 ASG OPSIMP,   INAREG|FOREFF|FORCC,
ragge
1.1
604         SAREG|AWD,      TWORD,
605         SAREG|AWD,      TWORD,
606                 0,      RLEFT|RESCC,
ragge
1.2
607                 "       OL2     AR,AL\n", },
ragge
1.1
608
ragge
1.2
609 ASG OPSIMP,   INAREG|FOREFF|FORCC,
ragge
1.1
610         AWD,    TSHORT|TUSHORT,
611         SAREG|AWD,      TSHORT|TUSHORT,
612                 0,      RLEFT|RESCC,
ragge
1.2
613                 "       OW2     AR,AL\n", },
ragge
1.1
614
ragge
1.2
615 ASG OPSIMP,   INAREG|FOREFF|FORCC,
ragge
1.1
616         AWD,    TSHORT|TUSHORT,
617         SSCON,  TWORD,
618                 0,      RLEFT|RESCC,
ragge
1.2
619                 "       OW2     AR,AL\n", },
ragge
1.1
620
ragge
1.2
621 ASG OPSIMP,   INAREG|FOREFF|FORCC,
ragge
1.1
622         AWD,    TCHAR|TUCHAR,
623         SAREG|AWD,      TCHAR|TUCHAR,
624                 0,      RLEFT|RESCC,
ragge
1.2
625                 "       OB2     AR,AL\n", },
ragge
1.1
626
ragge
1.2
627 ASG OPSIMP,   INAREG|FOREFF|FORCC,
ragge
1.1
628         AWD,    TCHAR|TUCHAR,
629         SCCON,  TWORD,
630                 0,      RLEFT|RESCC,
ragge
1.2
631                 "       OB2     AR,AL\n", },
632 #endif
ragge
1.1
633
ragge
1.2
634 OPSIMP,       INAREG|INAREG|FORCC,
635         SAREG,  ANYFIXED,
ragge
1.1
636         SAREG|AWD,      TWORD,
637                 0,      RLEFT|RESCC,
ragge
1.2
638                 "       OL2     AR,AL\n", },
ragge
1.1
639
ragge
1.2
640 OPSIMP,       INAREG|INAREG|FORCC,
ragge
1.1
641         SAREG|AWD,      TWORD,
642         SAREG|AWD,      TWORD,
643                 NAREG|NASL|NASR,        RESC1|RESCC,
ragge
1.2
644                 "       OL3     AR,AL,A1\n", },
ragge
1.1
645
ragge
1.2
646 #if 0
647 ASG OPFLOAT,  INAREG|FOREFF|FORCC,
ragge
1.1
648         SAREG|AWD,      TDOUBLE,
649         SAREG|AWD,      TDOUBLE,
650                 0,      RLEFT|RESCC,
ragge
1.2
651                 "       OD2     AR,AL\n", },
ragge
1.1
652
ragge
1.2
653 ASG OPFLOAT,  INAREG|FOREFF|FORCC,
ragge
1.1
654         SAREG|AWD,      TFLOAT,
655         SAREG|AWD,      TFLOAT,
656                 0,      RLEFT|RESCC,
ragge
1.2
657                 "       OF2     AR,AL\n", },
ragge
1.1
658
ragge
1.2
659 ASG OPFLOAT,  INAREG|FOREFF|FORCC,
ragge
1.1
660         SAREG|AWD,      TDOUBLE,
661         SAREG|AWD,      TFLOAT,
662                 NAREG|NASR,     RLEFT|RESCC,
ragge
1.2
663                 "       cvtfd   AR,A1\n OD2     A1,AL\n", },
ragge
1.1
664
ragge
1.2
665 ASG OPFLOAT,  INAREG|INAREG|FOREFF|FORCC,
ragge
1.1
666         SAREG|AWD,      TFLOAT,
667         SAREG|AWD,      TDOUBLE,
668                 NAREG,  RLEFT|RESC1|RESCC,
ragge
1.2
669                 "       cvtfd   AL,A1\n OD2     AR,A1\n cvtdf   A1,AL\n", },
670 #endif
ragge
1.1
671
ragge
1.2
672 OPFLOAT,      INAREG|INAREG|FORCC,
673         SAREG,  TDOUBLE,
ragge
1.1
674         SAREG|AWD,      TDOUBLE,
675                 0,      RLEFT|RESCC,
ragge
1.2
676                 "       OD2     AR,AL\n", },
ragge
1.1
677
ragge
1.2
678 OPFLOAT,      INAREG|INAREG|FORCC,
ragge
1.1
679         SAREG|AWD,      TDOUBLE,
680         SAREG|AWD,      TDOUBLE,
681                 NAREG|NASL|NASR,        RESC1|RESCC,
ragge
1.2
682                 "       OD3     AR,AL,A1\n", },
ragge
1.1
683
ragge
1.2
684 OPFLOAT,      INAREG|INAREG|FORCC,
ragge
1.1
685         SAREG|AWD,      TFLOAT,
686         SAREG|AWD,      TDOUBLE,
687                 NAREG|NASL,     RESC1|RESCC,
ragge
1.2
688                 "       cvtfd   AL,A1\n OD2     AR,A1\n", },
ragge
1.1
689
ragge
1.2
690 OPFLOAT,      INAREG|INAREG|FORCC,
ragge
1.1
691         SAREG|AWD,      TDOUBLE,
692         SAREG|AWD,      TFLOAT,
693                 NAREG|NASR,     RESC1|RESCC,
ragge
1.2
694                 "       cvtfd   AR,A1\n OD3     A1,AL,A1\n", },
ragge
1.1
695
ragge
1.2
696 OPFLOAT,      INAREG|INAREG|FORCC,
ragge
1.1
697         SAREG|AWD,      TFLOAT,
698         SAREG|AWD,      TFLOAT,
699                 NAREG|NASL|NASR,        RESC1|RESCC,
ragge
1.2
700                 "       OF3     AR,AL,A1\n      cvtfd   A1,A1\n", },
ragge
1.1
701
702         /* Default actions for hard trees ... */
703
704 # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,""
705
ragge
1.2
706 UMULDFUMUL ), },
ragge
1.1
707
ragge
1.2
708 ASSIGNDF(ASSIGN), },
ragge
1.1
709
ragge
1.2
710 STASGDF(STASG), },
ragge
1.1
711
ragge
1.2
712 OPLEAFDF(NAME), },
ragge
1.1
713
ragge
1.2
714 OPLOG,        FORCC,
ragge
1.1
715         SANY,   TANY,
716         SANY,   TANY,
717                 REWRITE,        BITYPE,
ragge
1.2
718                 "", },
ragge
1.1
719
ragge
1.2
720 OPUNARYDF(UMINUS), },
ragge
1.1
721
ragge
1.2
722 OPANYDF(BITYPE), },
ragge
1.1
723
ragge
1.2
724 FREEFREE,   FREE,   FREE,   FREE,   FREE,   FREE,   FREE,   "help; I'm in trouble\n" }
725 };
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-08-22 11:48 +0200