xref: /csrg-svn/old/pcc/ccom.vax/table.c (revision 32964)
117740Sralph #ifndef lint
2*32964Sdonn static char *sccsid ="@(#)table.c	1.20 (Berkeley) 12/11/87";
317740Sralph #endif lint
417740Sralph 
518558Sralph # include "pass2.h"
69705Slinton 
79705Slinton # define WPTR TPTRTO|TINT|TLONG|TFLOAT|TDOUBLE|TPOINT|TUNSIGNED|TULONG
89705Slinton # define AWD SNAME|SOREG|SCON|STARNM|STARREG
99705Slinton /* tbl */
109705Slinton # define ANYSIGNED TPOINT|TINT|TLONG|TSHORT|TCHAR
119705Slinton # define ANYUSIGNED TUNSIGNED|TULONG|TUSHORT|TUCHAR
129705Slinton # define ANYFIXED ANYSIGNED|ANYUSIGNED
139705Slinton # define TWORD TINT|TUNSIGNED|TPOINT|TLONG|TULONG
149705Slinton # define NIAWD SNAME|SCON|STARNM
159705Slinton /* tbl */
169705Slinton 
179705Slinton struct optab  table[] = {
189705Slinton 
199705Slinton PCONV,	INAREG|INTAREG,
209705Slinton 	SAREG|AWD,	TCHAR|TSHORT,
219705Slinton 	SANY,	TPOINT,
229705Slinton 		NAREG|NASL,	RESC1,
239705Slinton 		"	cvtZLl	AL,A1\n",
249705Slinton 
259705Slinton PCONV,	INAREG|INTAREG,
269705Slinton 	SAREG|AWD,	TUCHAR|TUSHORT,
279705Slinton 	SANY,	TPOINT,
289705Slinton 		NAREG|NASL,	RESC1,
299705Slinton 		"	movzZLl	AL,A1\n",
309705Slinton 
319705Slinton 	/* the following entry is to fix a problem with
329705Slinton 	   the manner that the first pass handles the
339705Slinton 	   type of a shift expression                 */
349705Slinton PCONV,	INAREG|INTAREG,
359705Slinton 	SAREG|AWD,	TINT|TUNSIGNED,
369705Slinton 	SANY,	TPOINT,
379705Slinton 		NAREG|NASL,	RLEFT,
389705Slinton 		"",
399705Slinton 
4017740Sralph #if defined(FORT) || defined(SPRECC)
419705Slinton SCONV,	INTAREG|FORCC,
4216182Sralph 	SAREG|AWD,	TDOUBLE,
4316182Sralph 	SANY,	TFLOAT,
4416182Sralph 		NAREG|NASL,	RESC1|RESCC,
4516182Sralph 		"	cvtdf	AL,A1\n",
469705Slinton 
479705Slinton SCONV,	INTAREG|FORCC,
4825753Sdonn 	SAREG|AWD,	ANYSIGNED,
499705Slinton 	SANY,	TFLOAT,
509705Slinton 		NAREG|NASL,	RESC1|RESCC,
519705Slinton 		"	cvtZLf	AL,TA1\n",
529705Slinton 
539705Slinton SCONV,	INTAREG|FORCC,
549705Slinton 	SAREG|AWD,	TUCHAR|TUSHORT,
559705Slinton 	SANY,	TFLOAT,
569705Slinton 		NAREG|NASL,	RESC1|RESCC,
579705Slinton 		"	movzZLl	AL,A1\n	cvtlf	A1,TA1\n",
589705Slinton #endif
599705Slinton 
609705Slinton SCONV,	INTAREG|FORCC,
619705Slinton 	SAREG|AWD,	TUCHAR|TUSHORT,
629705Slinton 	SANY,	TFLOAT|TDOUBLE,
639705Slinton 		NAREG|NASL,	RESC1|RESCC,
649705Slinton 		"	movzZLl	AL,A1\n	cvtld	A1,A1\n",
659705Slinton 
6619934Smckusick /* take care of redundant conversions introduced by reclaim() */
6719934Smckusick SCONV,	INTAREG,
6819934Smckusick 	STAREG,	TWORD,
6919934Smckusick 	SANY,	TWORD,
7019934Smckusick 		0,	RLEFT,
7119934Smckusick 		"",
7219934Smckusick 
739705Slinton SCONV,	INTAREG|FORCC,
7416182Sralph 	SAREG|AWD,	TANY,
759705Slinton 	SANY,	TANY,
769705Slinton 		NAREG|NASL,	RESC1|RESCC,
7716182Sralph 		"	ZA\n",
789705Slinton 
799705Slinton 
809705Slinton INIT,	FOREFF,
819705Slinton 	SCON,	TANY,
829705Slinton 	SANY,	TWORD,
839705Slinton 		0,	RNOP,
849705Slinton 		"	.long	CL\n",
859705Slinton 
869705Slinton INIT,	FOREFF,
879705Slinton 	SCON,	TANY,
889705Slinton 	SANY,	TSHORT|TUSHORT,
899705Slinton 		0,	RNOP,
909705Slinton 		"	.word	CL\n",
919705Slinton 
929705Slinton INIT,	FOREFF,
939705Slinton 	SCON,	TANY,
949705Slinton 	SANY,	TCHAR|TUCHAR,
959705Slinton 		0,	RNOP,
969705Slinton 		"	.byte	CL\n",
979705Slinton 
989705Slinton 	/* for the use of fortran only */
999705Slinton 
1009705Slinton GOTO,	FOREFF,
1019705Slinton 	SCON,	TANY,
1029705Slinton 	SANY,	TANY,
1039705Slinton 		0,	RNOP,
1049705Slinton 		"	jbr	CL\n",
1059705Slinton 
1069705Slinton GOTO,	FOREFF,
10717740Sralph 	SNAME|SOREG,	TANY,
1089705Slinton 	SANY,	TANY,
1099705Slinton 		0,	RNOP,
1109705Slinton 		"	jmp	*AL\n",
1119705Slinton 
1129705Slinton GOTO,	FOREFF,
1139705Slinton 	SAREG,	TANY,
1149705Slinton 	SANY,	TANY,
1159705Slinton 		0,	RNOP,
1169705Slinton 		"	jmp	(AL)\n",
1179705Slinton 
1189705Slinton STARG,	FORARG,
1199705Slinton 	SCON|SOREG,	TANY,
1209705Slinton 	SANY,	TANY,
1219705Slinton 		0,	RNULL,
1229705Slinton 		"	subl2	ZT,sp\nZS",
1239705Slinton 
1249705Slinton STASG,	FOREFF,
1259705Slinton 	SNAME|SOREG,	TANY,
1269705Slinton 	SCON|SAREG,	TANY,
1279705Slinton 		0,	RNOP,
1289705Slinton 		"ZS",
1299705Slinton 
1309705Slinton STASG,	INAREG,
1319705Slinton 	SNAME|SOREG,	TANY,
1329705Slinton 	SCON,	TANY,
1339705Slinton 		NAREG,	RESC1,
1349705Slinton 		"ZS	movl	AR,A1\n",
1359705Slinton 
1369705Slinton STASG,	INAREG,
1379705Slinton 	SNAME|SOREG,	TANY,
1389705Slinton 	SAREG,	TANY,
1399705Slinton 		0,	RRIGHT,
1409705Slinton 		"	pushl	AR\nZS	movl	(sp)+,AR\n",
1419705Slinton 
1429705Slinton FLD,	INAREG|INTAREG,
1439705Slinton 	SANY,	TANY,
1449705Slinton 	SFLD,	ANYSIGNED,
1459705Slinton 		NAREG|NASR,	RESC1,
1469705Slinton 		"	extv	$H,$S,AR,A1\n",
1479705Slinton 
1489705Slinton FLD,	INAREG|INTAREG,
1499705Slinton 	SANY,	TANY,
1509705Slinton 	SFLD,	ANYUSIGNED,
1519705Slinton 		NAREG|NASR,	RESC1,
1529705Slinton 		"	extzv	$H,$S,AR,A1\n",
1539705Slinton 
1549705Slinton FLD,	FORARG,
1559705Slinton 	SANY,	TANY,
1569705Slinton 	SFLD,	ANYSIGNED,
1579705Slinton 		0,	RNULL,
1589705Slinton 		"	extv	$H,$S,AR,-(sp)\n",
1599705Slinton 
1609705Slinton FLD,	FORARG,
1619705Slinton 	SANY,	TANY,
1629705Slinton 	SFLD,	ANYUSIGNED,
1639705Slinton 		0,	RNULL,
1649705Slinton 		"	extzv	$H,$S,AR,-(sp)\n",
1659705Slinton 
1669705Slinton OPLOG,	FORCC,
1679705Slinton 	SAREG|AWD,	TWORD,
1689705Slinton 	SAREG|AWD,	TWORD,
1699705Slinton 		0,	RESCC,
1709705Slinton 		"	cmpl	AL,AR\nZP",
1719705Slinton 
1729705Slinton OPLOG,	FORCC,
17319934Smckusick 	SAREG|AWD,	TSHORT,
17419934Smckusick 	SAREG|AWD,	TSHORT,
1759705Slinton 		0,	RESCC,
1769705Slinton 		"	cmpw	AL,AR\nZP",
1779705Slinton 
1789705Slinton OPLOG,	FORCC,
17919934Smckusick 	SAREG|AWD,	TUSHORT,
18019934Smckusick 	SAREG|AWD,	TUSHORT,
1819705Slinton 		0,	RESCC,
18219934Smckusick 		"	cmpw	AL,AR\nZP",
18319934Smckusick 
18419934Smckusick OPLOG,	FORCC,
18519934Smckusick 	SAREG|AWD,	TCHAR,
18619934Smckusick 	SAREG|AWD,	TCHAR,
18719934Smckusick 		0,	RESCC,
1889705Slinton 		"	cmpb	AL,AR\nZP",
1899705Slinton 
1909705Slinton OPLOG,	FORCC,
19119934Smckusick 	SAREG|AWD,	TUCHAR,
19219934Smckusick 	SAREG|AWD,	TUCHAR,
19319934Smckusick 		0,	RESCC,
19419934Smckusick 		"	cmpb	AL,AR\nZP",
19519934Smckusick 
19619934Smckusick OPLOG,	FORCC,
197*32964Sdonn 	SAREG|AWD,	TSHORT,
198*32964Sdonn 	SSCON,	ANYSIGNED,
1999705Slinton 		0,	RESCC,
2009705Slinton 		"	cmpw	AL,AR\nZP",
2019705Slinton 
2029705Slinton OPLOG,	FORCC,
203*32964Sdonn 	SAREG|AWD,	TUSHORT,
204*32964Sdonn 	SSCON,	ANYUSIGNED,
2059705Slinton 		0,	RESCC,
206*32964Sdonn 		"	cmpw	AL,AR\nZP",
207*32964Sdonn 
208*32964Sdonn OPLOG,	FORCC,
209*32964Sdonn 	SAREG|AWD,	TCHAR,
210*32964Sdonn 	SCCON,	ANYSIGNED,
211*32964Sdonn 		0,	RESCC,
2129705Slinton 		"	cmpb	AL,AR\nZP",
2139705Slinton 
2149705Slinton OPLOG,	FORCC,
215*32964Sdonn 	SAREG|AWD,	TUCHAR,
216*32964Sdonn 	SCCON,	ANYUSIGNED,
217*32964Sdonn 		0,	RESCC,
218*32964Sdonn 		"	cmpb	AL,AR\nZP",
219*32964Sdonn 
220*32964Sdonn OPLOG,	FORCC,
2219705Slinton 	SAREG|AWD,	TDOUBLE,
2229705Slinton 	SAREG|AWD,	TDOUBLE,
2239705Slinton 		0,	RESCC,
2249705Slinton 		"	cmpd	AL,AR\nZP",
2259705Slinton 
2269705Slinton OPLOG,	FORCC,
2279705Slinton 	SAREG|AWD,	TDOUBLE,
2289705Slinton 	SAREG|AWD,	TFLOAT,
22917205Sralph 		NAREG|NASR,	RESCC,
2309705Slinton 		"	cvtfd	AR,A1\n	cmpd	AL,A1\nZP",
2319705Slinton 
2329705Slinton OPLOG,	FORCC,
2339705Slinton 	SAREG|AWD,	TFLOAT,
2349705Slinton 	SAREG|AWD,	TDOUBLE,
23517205Sralph 		NAREG|NASL,	RESCC,
2369705Slinton 		"	cvtfd	AL,A1\n	cmpd	A1,AR\nZP",
2379705Slinton 
2389705Slinton OPLOG,	FORCC,
2399705Slinton 	SAREG|AWD,	TFLOAT,
2409705Slinton 	SAREG|AWD,	TFLOAT,
2419705Slinton 		0,	RESCC,
2429705Slinton 		"	cmpf	AL,AR\nZP",
2439705Slinton 
2449705Slinton CCODES,	INAREG|INTAREG,
2459705Slinton 	SANY,	TANY,
2469705Slinton 	SANY,	TANY,
2479705Slinton 		NAREG,	RESC1,
2489705Slinton 		"	movl	$1,A1\nZN",
2499705Slinton 
2509705Slinton UNARY CALL,	INTAREG,
2519705Slinton 	SCON,	TANY,
25216182Sralph 	SANY,	TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE,
25316182Sralph 		NAREG|NASL,	RESC1,
25416182Sralph 		"	calls	ZC,CL\n",
25516182Sralph 
25616182Sralph UNARY CALL,	INTAREG,
2579705Slinton 	SAREG,	TANY,
2589705Slinton 	SANY,	TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE,
2599705Slinton 		NAREG|NASL,	RESC1,	/* should be 0 */
2609705Slinton 		"	calls	ZC,(AL)\n",
2619705Slinton 
2629705Slinton UNARY CALL,	INAREG|INTAREG,
2639705Slinton 	SNAME,	TANY,
2649705Slinton 	SANY,	TANY,
2659705Slinton 		NAREG|NASL,	RESC1,	/* really reg 0 */
2669705Slinton 		"	calls	ZC,*AL\n",
2679705Slinton 
2689705Slinton UNARY CALL,	INAREG|INTAREG,
2699705Slinton 	SSOREG,	TANY,
2709705Slinton 	SANY,	TANY,
2719705Slinton 		NAREG|NASL,	RESC1,	/* really reg 0 */
2729705Slinton 		"	calls	ZC,*AL\n",
2739705Slinton 
2749705Slinton ASG RS,	INAREG|FOREFF|FORCC,
2759705Slinton 	SAREG,	TWORD,
276*32964Sdonn 	SCON,	TINT|TUNSIGNED,
2779705Slinton 		0,	RLEFT|RESCC,
2789705Slinton 		"	extzv	AR,ZU,AL,AL\n",
2799705Slinton 
2809705Slinton ASG RS,	INAREG|FOREFF|FORCC,
2819705Slinton 	SAREG,	TWORD,
2829705Slinton 	SAREG,	ANYFIXED,
2839705Slinton 		NAREG,	RLEFT|RESCC,
2849705Slinton 		"	subl3	AR,$32,A1\n	extzv	AR,A1,AL,AL\n",
2859705Slinton 
2869705Slinton ASG RS,	INAREG|FOREFF|FORCC,
2879705Slinton 	SAREG,	TWORD,
2889705Slinton 	SAREG|AWD,	TWORD,
2899705Slinton 		NAREG,	RLEFT|RESCC,
2909705Slinton 		"	subl3	AR,$32,A1\n	extzv	AR,A1,AL,AL\n",
2919705Slinton 
2929705Slinton RS,	INAREG|INTAREG|FORCC,
2939705Slinton 	SAREG,	TWORD,
294*32964Sdonn 	SCON,	TINT|TUNSIGNED,
2959705Slinton 		NAREG|NASL,	RESC1|RESCC,
2969705Slinton 		"	extzv	AR,ZU,AL,A1\n",
2979705Slinton 
2989705Slinton ASG LS,	INAREG|FOREFF|FORCC,
2999705Slinton 	SAREG|AWD,	TWORD,
3009705Slinton 	SAREG|NIAWD,	ANYSIGNED|ANYUSIGNED,
3019705Slinton 		0,	RLEFT|RESCC,
3029705Slinton 		"	ashl	AR,AL,AL\n",
3039705Slinton 
3049705Slinton ASG LS,	INAREG|FOREFF|FORCC,
3059705Slinton 	SAREG|AWD,	TWORD,
3069705Slinton 	SSOREG,	ANYSIGNED|ANYUSIGNED,
3079705Slinton 		0,	RLEFT|RESCC,
3089705Slinton 		"	ashl	AR,AL,AL\n",
3099705Slinton 
3109705Slinton ASG LS,	INAREG|FOREFF|FORCC,
3119705Slinton 	SAREG|AWD,	TWORD,
3129705Slinton 	SOREG,	ANYSIGNED|ANYUSIGNED,
3139705Slinton 		NAREG,	RLEFT|RESCC,
3149705Slinton 		"	ZB	AR,A1\n	ashl	A1,AL,AL\n",
3159705Slinton 
3169705Slinton LS,	INAREG|INTAREG|FORCC,
3179705Slinton 	SAREG|AWD,	TWORD,
3189705Slinton 	SAREG|NIAWD,	ANYSIGNED|ANYUSIGNED,
3199705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
3209705Slinton 		"	ashl	AR,AL,A1\n",
3219705Slinton 
3229705Slinton LS,	INAREG|INTAREG|FORCC,
3239705Slinton 	SAREG|AWD,	TWORD,
3249705Slinton 	SSOREG,	ANYSIGNED|ANYUSIGNED,
3259705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
3269705Slinton 		"	ashl	AR,AL,A1\n",
3279705Slinton 
3289705Slinton LS,	INAREG|INTAREG|FORCC,
3299705Slinton 	SAREG|AWD,	TWORD,
3309705Slinton 	SOREG,	ANYSIGNED|ANYUSIGNED,
3319705Slinton 		NAREG|NASR,	RESC1|RESCC,
3329705Slinton 		"	ZB	AR,A1\n	ashl	A1,AL,A1\n",
3339705Slinton 
3349705Slinton INCR,	FOREFF,
3359705Slinton 	AWD,	TANY,
3369705Slinton 	SCON,	TANY,
3379705Slinton 		0,	RLEFT,
3389705Slinton 		"	ZE\n",
3399705Slinton 
3409705Slinton DECR,	FOREFF,
3419705Slinton 	AWD,	TANY,
3429705Slinton 	SCON,	TANY,
3439705Slinton 		0,	RLEFT,
3449705Slinton 		"	ZE\n",
3459705Slinton 
3469705Slinton INCR,	FOREFF,
3479705Slinton 	SAREG,	TWORD,
3489705Slinton 	SCON,	TANY,
3499705Slinton 		0,	RLEFT,
3509705Slinton 		"	ZE\n",
3519705Slinton 
3529705Slinton DECR,	FOREFF,
3539705Slinton 	SAREG,	TWORD,
3549705Slinton 	SCON,	TANY,
3559705Slinton 		0,	RLEFT,
3569705Slinton 		"	ZE\n",
3579705Slinton 
3589705Slinton /* jwf INCR and DECR for SAREG TCHAR|TSHORT matched by ASG PLUS etc */
3599705Slinton 
3609705Slinton INCR,	INAREG|INTAREG,
3619705Slinton 	AWD,	TANY,
3629705Slinton 	SCON,	TANY,
3639705Slinton 		NAREG,	RESC1,
3649705Slinton 		"	ZD\n",
3659705Slinton 
3669705Slinton DECR,	INAREG|INTAREG,
3679705Slinton 	AWD,	TANY,
3689705Slinton 	SCON,	TANY,
3699705Slinton 		NAREG,	RESC1,
3709705Slinton 		"	ZD\n",
3719705Slinton 
3729705Slinton INCR,	INAREG|INTAREG,
3739705Slinton 	SAREG,	TWORD,
3749705Slinton 	SCON,	TANY,
3759705Slinton 		NAREG,	RESC1,
3769705Slinton 		"	ZD\n",
3779705Slinton 
3789705Slinton DECR,	INAREG|INTAREG,
3799705Slinton 	SAREG,	TWORD,
3809705Slinton 	SCON,	TANY,
3819705Slinton 		NAREG,	RESC1,
3829705Slinton 		"	ZD\n",
3839705Slinton 
3849705Slinton ASSIGN,	INAREG|FOREFF|FORCC,
38516182Sralph 	SAREG|AWD,	TDOUBLE,
38616182Sralph 	SAREG|AWD,	TUCHAR|TUSHORT,
38716182Sralph 		NAREG|NASR,	RLEFT|RESCC,
38816182Sralph 		"	movzZRl	AR,A1\n	cvtld	A1,AL\n",
38916182Sralph 
39016182Sralph ASSIGN,	INAREG|FOREFF|FORCC,
39116182Sralph 	SAREG|AWD,	TFLOAT,
39216182Sralph 	SAREG|AWD,	TUCHAR|TUSHORT,
39316182Sralph 		NAREG|NASR,	RLEFT|RESCC,
39416182Sralph 		"	movzZRl	AR,A1\n	cvtlf	A1,AL\n",
39516182Sralph 
39616182Sralph ASSIGN,	INAREG|FOREFF|FORCC,
3979705Slinton 	SAREG|AWD,	TANY,
3989705Slinton 	SAREG|AWD,	TANY,
39925582Sbloom 		0,	RLEFT|RESCC,
4009705Slinton 		"	ZA\n",
4019705Slinton 
40232958Sdonn ASSIGN,	FOREFF,
4039705Slinton 	SFLD,	TANY,
4049705Slinton 	SAREG|AWD,	TWORD,
40532958Sdonn 		0,	RNOP,
4069705Slinton 		"	insv	AR,$H,$S,AL\n",
4079705Slinton 
40832958Sdonn ASSIGN,	INAREG,
40932960Sdonn 	SFLD,	ANYSIGNED,
41032958Sdonn 	SAREG|AWD,	TWORD,
41132958Sdonn 		NAREG,	RESC1,
41232958Sdonn 		"	insv	AR,$H,$S,AL\n	extv	$H,$S,AL,A1\n",
41332958Sdonn 
41432960Sdonn ASSIGN,	INAREG,
41532960Sdonn 	SFLD,	ANYUSIGNED,
41632960Sdonn 	SAREG|AWD,	TWORD,
41732960Sdonn 		NAREG,	RESC1,
41832960Sdonn 		"	insv	AR,$H,$S,AL\n	extzv	$H,$S,AL,A1\n",
41932960Sdonn 
4209705Slinton ASSIGN,	INAREG|FOREFF|FORCC,
4219705Slinton 	SAREG|AWD,	TWORD,
4229705Slinton 	SFLD,	ANYSIGNED,
4239705Slinton 		0,	RLEFT|RESCC,
4249705Slinton 		"	extv	$H,$S,AR,AL\n",
4259705Slinton 
4269705Slinton ASSIGN,	INAREG|FOREFF|FORCC,
4279705Slinton 	SAREG|AWD,	TWORD,
4289705Slinton 	SFLD,	ANYUSIGNED,
4299705Slinton 		0,	RLEFT|RESCC,
4309705Slinton 		"	extzv	$H,$S,AR,AL\n",
4319705Slinton 
4329705Slinton /* dummy UNARY MUL entry to get U* to possibly match OPLTYPE */
4339705Slinton UNARY MUL,	FOREFF,
4349705Slinton 	SCC,	TANY,
4359705Slinton 	SCC,	TANY,
4369705Slinton 		0,	RNULL,
4379705Slinton 		"	HELP HELP HELP\n",
4389705Slinton 
43932959Sdonn OREG,	INTEMP,
44032959Sdonn 	SANY,	TANY,
44132959Sdonn 	SOREG,	TDOUBLE,
44232959Sdonn 		2*NTEMP,	RESC1,
44332959Sdonn 		"	movd	AR,A1\n",
44432959Sdonn 
44532959Sdonn OREG,	INTEMP,
44632959Sdonn 	SANY,	TANY,
44732959Sdonn 	SOREG,	TANY,
44832959Sdonn 		NTEMP,	RESC1,
44932959Sdonn 		"	movZF	AR,A1\n",
45032959Sdonn 
4519705Slinton REG,	INTEMP,
4529705Slinton 	SANY,	TANY,
4539705Slinton 	SAREG,	TDOUBLE,
4549705Slinton 		2*NTEMP,	RESC1,
4559705Slinton 		"	movd	AR,A1\n",
4569705Slinton 
4579705Slinton REG,	INTEMP,
4589705Slinton 	SANY,	TANY,
4599705Slinton 	SAREG,	TANY,
4609705Slinton 		NTEMP,	RESC1,
4619705Slinton 		"	movZF	AR,A1\n",
4629705Slinton 
46317740Sralph #if defined(FORT) || defined(SPRECC)
46417740Sralph REG,	FORARG,
4659705Slinton 	SANY,	TANY,
4669705Slinton 	SAREG,	TFLOAT,
4679705Slinton 		0,	RNULL,
4689705Slinton 		"	cvtfd	AR,-(sp)\n",
4699705Slinton 
4709705Slinton REG,	FORARG,
4719705Slinton 	SANY,	TANY,
4729705Slinton 	SAREG,	TDOUBLE,
4739705Slinton 		0,	RNULL,
4749705Slinton 		"	movZR	AR,-(sp)\n",
4759705Slinton #endif
4769705Slinton 
4779705Slinton OPLEAF,	FOREFF,
4789705Slinton 	SANY,	TANY,
4799705Slinton 	SAREG|AWD,	TANY,
4809705Slinton 		0,	RLEFT,
4819705Slinton 		"",
4829705Slinton 
4839705Slinton OPLTYPE,	INAREG|INTAREG,
4849705Slinton 	SANY,	TANY,
4859705Slinton 	SANY,	TANY,
4869705Slinton 		NAREG|NASR,	RESC1,
4879705Slinton 		"	ZA\n",
4889705Slinton 
4899705Slinton OPLTYPE,	FORCC,
4909705Slinton 	SANY,	TANY,
4919705Slinton 	SANY,	TANY,
4929705Slinton 		0,	RESCC,
4939705Slinton 		"	tstZR	AR\n",
4949705Slinton 
4959705Slinton OPLTYPE,	FORARG,
4969705Slinton 	SANY,	TANY,
4979705Slinton 	SANY,	TWORD,
4989705Slinton 		0,	RNULL,
4999705Slinton 		"	pushl	AR\n",
5009705Slinton 
5019705Slinton OPLTYPE,	FORARG,
5029705Slinton 	SANY,	TANY,
5039705Slinton 	SANY,	TCHAR|TSHORT,
5049705Slinton 		0,	RNULL,
5059705Slinton 		"	cvtZRl	AR,-(sp)\n",
5069705Slinton 
5079705Slinton OPLTYPE,	FORARG,
5089705Slinton 	SANY,	TANY,
5099705Slinton 	SANY,	TUCHAR|TUSHORT,
5109705Slinton 		0,	RNULL,
5119705Slinton 		"	movzZRl	AR,-(sp)\n",
5129705Slinton 
5139705Slinton OPLTYPE,	FORARG,
5149705Slinton 	SANY,	TANY,
5159705Slinton 	SANY,	TDOUBLE,
5169705Slinton 		0,	RNULL,
5179705Slinton 		"	movd	AR,-(sp)\n",
5189705Slinton 
5199705Slinton OPLTYPE,	FORARG,
5209705Slinton 	SANY,	TANY,
5219705Slinton 	SANY,	TFLOAT,
5229705Slinton 		0,	RNULL,
5239705Slinton 		"	cvtfd	AR,-(sp)\n",
5249705Slinton 
52517740Sralph #if defined(FORT) || defined(SPRECC)
5269705Slinton UNARY MINUS,	INTAREG|FORCC,
52724417Smckusick 	SAREG|AWD,	TFLOAT,
52816182Sralph 	SANY,	TANY,
52916182Sralph 		NAREG|NASL,	RESC1|RESCC,
53016182Sralph 		"	mnegZL	TAL,A1\n",
53116182Sralph 
53224417Smckusick #endif
53316182Sralph 
53416182Sralph UNARY MINUS,	INTAREG|FORCC,
5359705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG|TDOUBLE,
5369705Slinton 	SANY,	TANY,
5379705Slinton 		NAREG|NASL,	RESC1|RESCC,
5389705Slinton 		"	mnegZL	AL,A1\n",
5399705Slinton 
5409705Slinton COMPL,	INTAREG|FORCC,
54123479Smckusick 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
5429705Slinton 	SANY,	TANY,
5439705Slinton 		NAREG|NASL,	RESC1|RESCC,
5449705Slinton 		"	mcomZL	AL,A1\n",
5459705Slinton 
5469705Slinton COMPL,	INTAREG|FORCC,
5479705Slinton 	SAREG|AWD,	ANYSIGNED|ANYUSIGNED,
5489705Slinton 	SANY,	TANY,
5499705Slinton 		NAREG|NASL,	RESC1|RESCC,
5509705Slinton 		"	cvtZLl	AL,A1\n	mcoml	A1,A1\n",
5519705Slinton 
5529705Slinton AND,	FORCC,
5539705Slinton 	SAREG|AWD,	TWORD,
5549705Slinton 	SCON,	TWORD,
5559705Slinton 		0,	RESCC,
5569705Slinton 		"	bitl	ZZ,AL\n",
5579705Slinton 
5589705Slinton AND,	FORCC,
5599705Slinton 	SAREG|AWD,	TSHORT|TUSHORT,
5609705Slinton 	SSCON,	TWORD,
5619705Slinton 		0,	RESCC,
5629705Slinton 		"	bitw	ZZ,AL\n",
5639705Slinton 
5649705Slinton AND,	FORCC,
5659705Slinton 	SAREG|AWD,	TCHAR|TUCHAR,
5669705Slinton 	SCCON,	TWORD,
5679705Slinton 		0,	RESCC,
5689705Slinton 		"	bitb	ZZ,AL\n",
5699705Slinton 
5709705Slinton ASG AND,	INAREG|FOREFF|FORCC,
5719705Slinton 	SAREG,	TWORD,
5729705Slinton 	SCON,	TWORD,
5739705Slinton 		0,	RLEFT|RESCC,
5749705Slinton 		"	bicl2	AR,AL\n",
5759705Slinton 
57632962Sdonn DIV,	INAREG|FOREFF|FORCC,
57732962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
57832962Sdonn 	SCON,	TANY,
57932962Sdonn 		NAREG|NEVEN,	RESC1|RESCC,
58032963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,A1,U1\n",
58132962Sdonn 
58232962Sdonn ASG DIV,	INAREG|FOREFF|FORCC,
58332962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
58432962Sdonn 	SMCON,	TANY,
58532962Sdonn 		0,	RLEFT|RESCC,
58632962Sdonn 		"	ZJ\n",
58732962Sdonn 
58832962Sdonn ASG DIV,	INAREG|FOREFF|FORCC,
58932962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
59032962Sdonn 	SCON,	TANY,
59132962Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
59232963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,AL,U1\n",
59332962Sdonn 
59432962Sdonn MOD,	INAREG|INTAREG,
59532962Sdonn 	SAREG|AWD,	TINT|TLONG,
59632962Sdonn 	SAREG|AWD,	TINT|TLONG,
59732962Sdonn 		NAREG,	RESC1,
59832962Sdonn 		"	divl3	AR,AL,A1\n	mull2	AR,A1\n	subl3	A1,AL,A1\n",
59932962Sdonn 
60032962Sdonn MOD,	INAREG|FOREFF,
60132962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
60232962Sdonn 	SMCON,	TANY,
60332962Sdonn 		NAREG|NASL,	RLEFT|RESC1,
60432962Sdonn 		"	ZJ\n",
60532962Sdonn 
60632962Sdonn MOD,	FORCC,
60732962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
60832962Sdonn 	SMCON,	TANY,
60932962Sdonn 		NAREG|NASL,	RESCC,
61032962Sdonn 		"	ZJ\n	tstl	A1\n",
61132962Sdonn 
61232962Sdonn MOD,	INAREG|FOREFF,
61332962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
61432962Sdonn 	SCON,	TANY,
61532962Sdonn 		NAREG|NEVEN,	RESC1|RESCC,
61632963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,U1,A1\n",
61732962Sdonn 
61832962Sdonn MOD,	FORCC,
61932962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
62032962Sdonn 	SCON,	TANY,
62132962Sdonn 		NAREG|NEVEN,	RESC1|RESCC,
62232963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,U1,A1\n	tstl	A1\n",
62332962Sdonn 
62432962Sdonn ASG MOD,	INAREG|INTAREG|FOREFF|FORCC,
62532962Sdonn 	SAREG,	TINT|TLONG,
62632962Sdonn 	SAREG|AWD,	TINT|TLONG,
62732962Sdonn 		NAREG,	RLEFT|RESCC,
62832962Sdonn 		"	divl3	AR,AL,A1\n	mull2	AR,A1\n	subl2	A1,AL\n",
62932962Sdonn 
63032962Sdonn ASG MOD,	INAREG|FOREFF,
63132962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
63232962Sdonn 	SMCON,	TANY,
63332962Sdonn 		0,	RLEFT|RESCC,
63432962Sdonn 		"	ZJ\n",
63532962Sdonn 
63632962Sdonn ASG MOD,	FORCC,
63732962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
63832962Sdonn 	SMCON,	TANY,
63932962Sdonn 		0,	RLEFT|RESCC,
64032962Sdonn 		"	ZJ\n	tstl	AL\n",
64132962Sdonn 
64232962Sdonn ASG MOD,	INAREG|FOREFF,
64332962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
64432962Sdonn 	SCON,	TANY,
64532962Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
64632963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,A1,AL\n",
64732962Sdonn 
64832962Sdonn ASG MOD,	FORCC,
64932962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
65032962Sdonn 	SCON,	TANY,
65132962Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
65232963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,A1,AL\n	tstl	AL\n",
65332962Sdonn 
6549705Slinton ASG OPMUL,	INAREG|FOREFF|FORCC,
6559705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6569705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6579705Slinton 		0,	RLEFT|RESCC,
6589705Slinton 		"	OL2	AR,AL\n",
6599705Slinton 
6609705Slinton OPMUL,	INAREG|INTAREG|FORCC,
6619705Slinton 	STAREG,	TINT|TUNSIGNED|TLONG|TULONG,
6629705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6639705Slinton 		0,	RLEFT|RESCC,
6649705Slinton 		"	OL2	AR,AL\n",
6659705Slinton 
6669705Slinton OPMUL,	INAREG|INTAREG|FORCC,
6679705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6689705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6699705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
6709705Slinton 		"	OL3	AR,AL,A1\n",
6719705Slinton 
6729705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6739705Slinton 	SAREG,	TPOINT|TINT|TLONG|TUNSIGNED|TULONG,
674*32964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
6759705Slinton 		0,	RLEFT|RESCC,
6769705Slinton 		"	incZL	AL\n",
6779705Slinton 
6789705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6799705Slinton 	AWD,	ANYSIGNED|ANYUSIGNED,
680*32964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
6819705Slinton 		0,	RLEFT|RESCC,
6829705Slinton 		"	incZL	AL\n",
6839705Slinton 
6849705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6859705Slinton 	SAREG,	TSHORT|TCHAR,
686*32964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
6879705Slinton 		0,	RLEFT|RESCC,
6889705Slinton 		"	incZL	AL\n	cvtZLl	AL,AL\n",
6899705Slinton 
6909705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6919705Slinton 	SAREG,	TUSHORT|TUCHAR,
692*32964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
6939705Slinton 		0,	RLEFT|RESCC,
6949705Slinton 		"	incZL	AL\n	movzZLl	AL,AL\n",
6959705Slinton 
6969705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
6979705Slinton 	SAREG,	TPOINT|TINT|TLONG|TUNSIGNED|TULONG,
698*32964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
6999705Slinton 		0,	RLEFT|RESCC,
7009705Slinton 		"	decZL	AL\n",
7019705Slinton 
7029705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7039705Slinton 	AWD,	ANYSIGNED|ANYUSIGNED,
704*32964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7059705Slinton 		0,	RLEFT|RESCC,
7069705Slinton 		"	decZL	AL\n",
7079705Slinton 
7089705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7099705Slinton 	SAREG,	TSHORT|TCHAR,
710*32964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7119705Slinton 		0,	RLEFT|RESCC,
7129705Slinton 		"	decZL	AL\n	cvtZLl	AL,AL\n",
7139705Slinton 
7149705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7159705Slinton 	SAREG,	TUSHORT|TUCHAR,
716*32964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7179705Slinton 		0,	RLEFT|RESCC,
7189705Slinton 		"	decZL	AL\n	movzZLl	AL,AL\n",
7199705Slinton 
7209705Slinton PLUS,	INAREG|INTAREG|FORCC,
7219705Slinton 	STAREG,	TWORD,
7229705Slinton 	SONE,	TWORD,
7239705Slinton 		0,	RLEFT|RESCC,
7249705Slinton 		"	incZL	AL\n",
7259705Slinton 
7269705Slinton PLUS,	INAREG|INTAREG|FORCC,
7279705Slinton 	STAREG,	TSHORT|TCHAR,
7289705Slinton 	SONE,	TWORD,
7299705Slinton 		0,	RLEFT|RESCC,
7309705Slinton 		"	incZL	AL\n	cvtZLl	AL,AL\n",
7319705Slinton 
7329705Slinton PLUS,	INAREG|INTAREG|FORCC,
7339705Slinton 	STAREG,	TUSHORT|TUCHAR,
7349705Slinton 	SONE,	TWORD,
7359705Slinton 		0,	RLEFT|RESCC,
7369705Slinton 		"	incZL	AL\n	movzZLl	AL,AL\n",
7379705Slinton 
7389705Slinton MINUS,	INAREG|INTAREG|FORCC,
7399705Slinton 	STAREG,	TWORD,
7409705Slinton 	SONE,	TWORD,
7419705Slinton 		0,	RLEFT|RESCC,
7429705Slinton 		"	decZL	AL\n",
7439705Slinton 
7449705Slinton MINUS,	INAREG|INTAREG|FORCC,
7459705Slinton 	STAREG,	TSHORT|TCHAR,
7469705Slinton 	SONE,	TWORD,
7479705Slinton 		0,	RLEFT|RESCC,
7489705Slinton 		"	decZL	AL\n	cvtZLl	AL,AL\n",
7499705Slinton 
7509705Slinton MINUS,	INAREG|INTAREG|FORCC,
7519705Slinton 	STAREG,	TUSHORT|TUCHAR,
7529705Slinton 	SONE,	TWORD,
7539705Slinton 		0,	RLEFT|RESCC,
7549705Slinton 		"	decZL	AL\n	movzZLl	AL,AL\n",
7559705Slinton 
7569705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7579705Slinton 	SAREG|AWD,	TWORD,
7589705Slinton 	SAREG|AWD,	TWORD,
7599705Slinton 		0,	RLEFT|RESCC,
7609705Slinton 		"	OL2	AR,AL\n",
7619705Slinton 
7629705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7639705Slinton 	SAREG,	TWORD,
7649705Slinton 	SAREG,	TSHORT|TUSHORT|TCHAR|TUCHAR,
7659705Slinton 		0,	RLEFT|RESCC,
7669705Slinton 		"	OL2	AR,AL\n",
7679705Slinton 
7689705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7699705Slinton 	AWD,	TSHORT|TUSHORT,
77032961Sdonn 	SSOREG,	TSHORT|TUSHORT|TINT|TUNSIGNED,
7719705Slinton 		0,	RLEFT|RESCC,
7729705Slinton 		"	OW2	AR,AL\n",
7739705Slinton 
7749705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7759705Slinton 	AWD,	TSHORT|TUSHORT,
77632961Sdonn 	SAREG|SNAME|STARNM,	TSHORT|TUSHORT|TINT|TUNSIGNED,
7779705Slinton 		0,	RLEFT|RESCC,
7789705Slinton 		"	OW2	AR,AL\n",
7799705Slinton 
7809705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
78132961Sdonn 	AWD,	TSHORT|TUSHORT,
78232961Sdonn 	SSCON,	ANYFIXED,
78332961Sdonn 		0,	RLEFT|RESCC,
78432961Sdonn 		"	OW2	AR,AL\n",
78532961Sdonn 
78632961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
78732961Sdonn 	AWD,	TSHORT|TUSHORT,
78832961Sdonn 	AWD,	TSHORT|TUSHORT,
78932961Sdonn 		0,	RLEFT|RESCC,
79032961Sdonn 		"	OW2	AR,AL\n",
79132961Sdonn 
79232961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
7939705Slinton 	AWD,	TCHAR|TUCHAR,
79432961Sdonn 	SSOREG,	ANYFIXED,
7959705Slinton 		0,	RLEFT|RESCC,
7969705Slinton 		"	OB2	AR,AL\n",
7979705Slinton 
7989705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7999705Slinton 	AWD,	TCHAR|TUCHAR,
80032961Sdonn 	SAREG|SNAME|STARNM,	ANYFIXED,
8019705Slinton 		0,	RLEFT|RESCC,
8029705Slinton 		"	OB2	AR,AL\n",
8039705Slinton 
8049705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
80532961Sdonn 	AWD,	TCHAR|TUCHAR,
80632961Sdonn 	SCCON,	ANYFIXED,
80732961Sdonn 		0,	RLEFT|RESCC,
80832961Sdonn 		"	OB2	AR,AL\n",
80932961Sdonn 
81032961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
81132961Sdonn 	AWD,	TCHAR|TUCHAR,
81232961Sdonn 	AWD,	TCHAR|TUCHAR,
81332961Sdonn 		0,	RLEFT|RESCC,
81432961Sdonn 		"	OB2	AR,AL\n",
81532961Sdonn 
81632961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
8179705Slinton 	SAREG,	TSHORT,
8189705Slinton 	SAREG|AWD,	ANYFIXED,
8199705Slinton 		0,	RLEFT|RESCC,
8209705Slinton 		"	OW2	AR,AL\n	cvtZLl	AL,AL\n",
8219705Slinton 
8229705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8239705Slinton 	SAREG,	TUSHORT,
8249705Slinton 	SAREG|AWD,	ANYFIXED,
8259705Slinton 		0,	RLEFT|RESCC,
8269705Slinton 		"	OW2	AR,AL\n	movzZLl	AL,AL\n",
8279705Slinton 
8289705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8299705Slinton 	SAREG,	TCHAR,
8309705Slinton 	SAREG|AWD,	ANYFIXED,
8319705Slinton 		0,	RLEFT|RESCC,
8329705Slinton 		"	OB2	AR,AL\n	cvtZLl	AL,AL\n",
8339705Slinton 
8349705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8359705Slinton 	SAREG,	TUCHAR,
8369705Slinton 	SAREG|AWD,	ANYFIXED,
8379705Slinton 		0,	RLEFT|RESCC,
8389705Slinton 		"	OB2	AR,AL\n	movzZLl	AL,AL\n",
8399705Slinton 
8409705Slinton OPSIMP,	INAREG|INTAREG|FORCC,
8419705Slinton 	STAREG,	ANYFIXED,
8429705Slinton 	SAREG|AWD,	TWORD,
8439705Slinton 		0,	RLEFT|RESCC,
8449705Slinton 		"	OL2	AR,AL\n",
8459705Slinton 
8469705Slinton OPSIMP,	INAREG|INTAREG|FORCC,
8479705Slinton 	SAREG|AWD,	TWORD,
8489705Slinton 	SAREG|AWD,	TWORD,
8499705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
8509705Slinton 		"	OL3	AR,AL,A1\n",
8519705Slinton 
8529705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
8539705Slinton 	SAREG|AWD,	TDOUBLE,
8549705Slinton 	SAREG|AWD,	TDOUBLE,
8559705Slinton 		0,	RLEFT|RESCC,
8569705Slinton 		"	OD2	AR,AL\n",
8579705Slinton 
8589705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
8599705Slinton 	SAREG|AWD,	TFLOAT,
8609705Slinton 	SAREG|AWD,	TFLOAT,
8619705Slinton 		0,	RLEFT|RESCC,
86217740Sralph #if defined(FORT) || defined(SPRECC)
86316937Sralph 		"	OF2	AR,TAL\n",
86416937Sralph #else
8659705Slinton 		"	OF2	AR,AL\n",
86616937Sralph #endif
8679705Slinton 
8689705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
8699705Slinton 	SAREG|AWD,	TDOUBLE,
8709705Slinton 	SAREG|AWD,	TFLOAT,
8719705Slinton 		NAREG|NASR,	RLEFT|RESCC,
8729705Slinton 		"	cvtfd	AR,A1\n	OD2	A1,AL\n",
8739705Slinton 
8749705Slinton ASG OPFLOAT,	INAREG|INTAREG|FOREFF|FORCC,
8759705Slinton 	SAREG|AWD,	TFLOAT,
8769705Slinton 	SAREG|AWD,	TDOUBLE,
8779705Slinton 		NAREG,	RLEFT|RESC1|RESCC,
8789705Slinton 		"	cvtfd	AL,A1\n	OD2	AR,A1\n	cvtdf	A1,AL\n",
8799705Slinton 
88025753Sdonn ASG OPFLOAT,	INAREG|FOREFF|FORCC,
88125753Sdonn 	SAREG|AWD,	ANYFIXED,
88225753Sdonn #ifndef SPRECC
88325753Sdonn 	SAREG|AWD,	TDOUBLE,		/* force FLOAT to register */
88425753Sdonn #else
88525753Sdonn 	SAREG|AWD,	TFLOAT|TDOUBLE,
88625753Sdonn #endif
88725753Sdonn 		NAREG,	RLEFT|RESCC,	/* usable() knows we need a reg pair */
88825753Sdonn 		"	ZG\n",
88925753Sdonn 
8909705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
8919705Slinton 	STAREG,	TDOUBLE,
8929705Slinton 	SAREG|AWD,	TDOUBLE,
8939705Slinton 		0,	RLEFT|RESCC,
8949705Slinton 		"	OD2	AR,AL\n",
8959705Slinton 
8969705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
8979705Slinton 	SAREG|AWD,	TDOUBLE,
8989705Slinton 	SAREG|AWD,	TDOUBLE,
8999705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
9009705Slinton 		"	OD3	AR,AL,A1\n",
9019705Slinton 
9029705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9039705Slinton 	SAREG|AWD,	TFLOAT,
9049705Slinton 	SAREG|AWD,	TDOUBLE,
9059705Slinton 		NAREG|NASL,	RESC1|RESCC,
9069705Slinton 		"	cvtfd	AL,A1\n	OD2	AR,A1\n",
9079705Slinton 
9089705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9099705Slinton 	SAREG|AWD,	TDOUBLE,
9109705Slinton 	SAREG|AWD,	TFLOAT,
9119705Slinton 		NAREG|NASR,	RESC1|RESCC,
9129705Slinton 		"	cvtfd	AR,A1\n	OD3	A1,AL,A1\n",
9139705Slinton 
91417740Sralph #if defined(FORT) || defined(SPRECC)
9159705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
91616937Sralph 	STAREG,		TFLOAT,
91716937Sralph 	SAREG|AWD,	TFLOAT,
9189705Slinton 		0,	RLEFT|RESCC,
91916937Sralph 		"	OF2	AR,TAL\n",
9209705Slinton 
9219705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9229705Slinton 	SAREG|AWD,	TFLOAT,
9239705Slinton 	SAREG|AWD,	TFLOAT,
9249705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
9259705Slinton 		"	OF3	AR,AL,TA1\n",
9269705Slinton #endif
9279705Slinton 
9289705Slinton 	/* Default actions for hard trees ... */
9299705Slinton 
9309705Slinton # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,""
9319705Slinton 
9329705Slinton UNARY MUL, DF( UNARY MUL ),
9339705Slinton 
9349705Slinton INCR, DF(INCR),
9359705Slinton 
9369705Slinton DECR, DF(INCR),
9379705Slinton 
9389705Slinton ASSIGN, DF(ASSIGN),
9399705Slinton 
9409705Slinton STASG, DF(STASG),
9419705Slinton 
9429705Slinton FLD, DF(FLD),
9439705Slinton 
9449705Slinton OPLEAF, DF(NAME),
9459705Slinton 
9469705Slinton OPLOG,	FORCC,
9479705Slinton 	SANY,	TANY,
9489705Slinton 	SANY,	TANY,
9499705Slinton 		REWRITE,	BITYPE,
9509705Slinton 		"",
9519705Slinton 
9529705Slinton OPLOG,	DF(NOT),
9539705Slinton 
9549705Slinton COMOP, DF(COMOP),
9559705Slinton 
9569705Slinton INIT, DF(INIT),
9579705Slinton 
9589705Slinton OPUNARY, DF(UNARY MINUS),
9599705Slinton 
9609705Slinton 
9619705Slinton ASG OPANY, DF(ASG PLUS),
9629705Slinton 
9639705Slinton OPANY, DF(BITYPE),
9649705Slinton 
9659705Slinton FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	"help; I'm in trouble\n" };
966