xref: /csrg-svn/old/pcc/ccom.vax/table.c (revision 32969)
117740Sralph #ifndef lint
2*32969Sdonn static char *sccsid ="@(#)table.c	1.25 (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,
19732964Sdonn 	SAREG|AWD,	TSHORT,
19832964Sdonn 	SSCON,	ANYSIGNED,
1999705Slinton 		0,	RESCC,
2009705Slinton 		"	cmpw	AL,AR\nZP",
2019705Slinton 
2029705Slinton OPLOG,	FORCC,
20332964Sdonn 	SAREG|AWD,	TUSHORT,
20432964Sdonn 	SSCON,	ANYUSIGNED,
2059705Slinton 		0,	RESCC,
20632964Sdonn 		"	cmpw	AL,AR\nZP",
20732964Sdonn 
20832964Sdonn OPLOG,	FORCC,
20932964Sdonn 	SAREG|AWD,	TCHAR,
21032964Sdonn 	SCCON,	ANYSIGNED,
21132964Sdonn 		0,	RESCC,
2129705Slinton 		"	cmpb	AL,AR\nZP",
2139705Slinton 
2149705Slinton OPLOG,	FORCC,
21532964Sdonn 	SAREG|AWD,	TUCHAR,
21632964Sdonn 	SCCON,	ANYUSIGNED,
21732964Sdonn 		0,	RESCC,
21832964Sdonn 		"	cmpb	AL,AR\nZP",
21932964Sdonn 
22032964Sdonn 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,
27632964Sdonn 	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,
29432964Sdonn 	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,
336*32969Sdonn 	SCON|SNAME,	TANY,
3379705Slinton 		0,	RLEFT,
3389705Slinton 		"	ZE\n",
3399705Slinton 
3409705Slinton DECR,	FOREFF,
3419705Slinton 	AWD,	TANY,
342*32969Sdonn 	SCON|SNAME,	TANY,
3439705Slinton 		0,	RLEFT,
3449705Slinton 		"	ZE\n",
3459705Slinton 
3469705Slinton INCR,	FOREFF,
3479705Slinton 	SAREG,	TWORD,
348*32969Sdonn 	SCON|SNAME,	TANY,
3499705Slinton 		0,	RLEFT,
3509705Slinton 		"	ZE\n",
3519705Slinton 
3529705Slinton DECR,	FOREFF,
3539705Slinton 	SAREG,	TWORD,
354*32969Sdonn 	SCON|SNAME,	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,
362*32969Sdonn 	SCON|SNAME,	TANY,
3639705Slinton 		NAREG,	RESC1,
3649705Slinton 		"	ZD\n",
3659705Slinton 
3669705Slinton DECR,	INAREG|INTAREG,
3679705Slinton 	AWD,	TANY,
368*32969Sdonn 	SCON|SNAME,	TANY,
3699705Slinton 		NAREG,	RESC1,
3709705Slinton 		"	ZD\n",
3719705Slinton 
3729705Slinton INCR,	INAREG|INTAREG,
3739705Slinton 	SAREG,	TWORD,
374*32969Sdonn 	SCON|SNAME,	TANY,
3759705Slinton 		NAREG,	RESC1,
3769705Slinton 		"	ZD\n",
3779705Slinton 
3789705Slinton DECR,	INAREG|INTAREG,
3799705Slinton 	SAREG,	TWORD,
380*32969Sdonn 	SCON|SNAME,	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,
54732968Sdonn 	SAREG|AWD,	ANYSIGNED,
5489705Slinton 	SANY,	TANY,
5499705Slinton 		NAREG|NASL,	RESC1|RESCC,
5509705Slinton 		"	cvtZLl	AL,A1\n	mcoml	A1,A1\n",
5519705Slinton 
55232968Sdonn COMPL,	INTAREG|FORCC,
55332968Sdonn 	SAREG|AWD,	ANYUSIGNED,
55432968Sdonn 	SANY,	TANY,
55532968Sdonn 		NAREG|NASL,	RESC1|RESCC,
55632968Sdonn 		"	movzZLl	AL,A1\n	mcoml	A1,A1\n",
55732968Sdonn 
5589705Slinton AND,	FORCC,
5599705Slinton 	SAREG|AWD,	TWORD,
5609705Slinton 	SCON,	TWORD,
5619705Slinton 		0,	RESCC,
5629705Slinton 		"	bitl	ZZ,AL\n",
5639705Slinton 
5649705Slinton AND,	FORCC,
5659705Slinton 	SAREG|AWD,	TSHORT|TUSHORT,
5669705Slinton 	SSCON,	TWORD,
5679705Slinton 		0,	RESCC,
5689705Slinton 		"	bitw	ZZ,AL\n",
5699705Slinton 
5709705Slinton AND,	FORCC,
5719705Slinton 	SAREG|AWD,	TCHAR|TUCHAR,
5729705Slinton 	SCCON,	TWORD,
5739705Slinton 		0,	RESCC,
5749705Slinton 		"	bitb	ZZ,AL\n",
5759705Slinton 
5769705Slinton ASG AND,	INAREG|FOREFF|FORCC,
5779705Slinton 	SAREG,	TWORD,
5789705Slinton 	SCON,	TWORD,
5799705Slinton 		0,	RLEFT|RESCC,
5809705Slinton 		"	bicl2	AR,AL\n",
5819705Slinton 
58232962Sdonn DIV,	INAREG|FOREFF|FORCC,
58332962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
58432967Sdonn 	SCON,	ANYUSIGNED,
58532962Sdonn 		NAREG|NEVEN,	RESC1|RESCC,
58632963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,A1,U1\n",
58732962Sdonn 
58832962Sdonn ASG DIV,	INAREG|FOREFF|FORCC,
58932962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
59032967Sdonn 	SMCON,	ANYUSIGNED,
59132962Sdonn 		0,	RLEFT|RESCC,
59232962Sdonn 		"	ZJ\n",
59332962Sdonn 
59432962Sdonn ASG DIV,	INAREG|FOREFF|FORCC,
59532962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
59632967Sdonn 	SCON,	ANYUSIGNED,
59732962Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
59832963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,AL,U1\n",
59932962Sdonn 
60032965Sdonn ASG DIV,	INAREG|FOREFF|FORCC,
60132965Sdonn 	SAREG|AWD,	TINT|TLONG,
60232965Sdonn 	SMCON,	ANYUSIGNED,
60332965Sdonn 		0,	RLEFT|RESCC,
60432965Sdonn 		"	ZJ\n",
60532965Sdonn 
60632965Sdonn ASG DIV,	INAREG|FOREFF|FORCC,
60732965Sdonn 	SAREG|AWD,	TINT|TLONG,
60832965Sdonn 	SCON,	ANYUSIGNED,
60932965Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
61032965Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,AL,U1\n",
61132965Sdonn 
61232962Sdonn MOD,	INAREG|INTAREG,
61332962Sdonn 	SAREG|AWD,	TINT|TLONG,
61432962Sdonn 	SAREG|AWD,	TINT|TLONG,
61532962Sdonn 		NAREG,	RESC1,
61632962Sdonn 		"	divl3	AR,AL,A1\n	mull2	AR,A1\n	subl3	A1,AL,A1\n",
61732962Sdonn 
61832962Sdonn MOD,	INAREG|FOREFF,
61932962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
62032967Sdonn 	SMCON,	ANYUSIGNED,
62132962Sdonn 		NAREG|NASL,	RLEFT|RESC1,
62232962Sdonn 		"	ZJ\n",
62332962Sdonn 
62432962Sdonn MOD,	INAREG|FOREFF,
62532962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
62632967Sdonn 	SCON,	ANYUSIGNED,
62732962Sdonn 		NAREG|NEVEN,	RESC1|RESCC,
62832963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,U1,A1\n",
62932962Sdonn 
63032967Sdonn /* should only see UNSIGNED lhs here if converted from UCHAR/USHORT lhs */
63132967Sdonn ASG MOD,	INAREG|FOREFF|FORCC,
63232967Sdonn 	SAREG|AWD,	TINT|TLONG|TUNSIGNED|TULONG,
63332962Sdonn 	SAREG|AWD,	TINT|TLONG,
63432962Sdonn 		NAREG,	RLEFT|RESCC,
63532962Sdonn 		"	divl3	AR,AL,A1\n	mull2	AR,A1\n	subl2	A1,AL\n",
63632962Sdonn 
63732962Sdonn ASG MOD,	INAREG|FOREFF,
63832962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
63932967Sdonn 	SMCON,	ANYUSIGNED,
64032962Sdonn 		0,	RLEFT|RESCC,
64132962Sdonn 		"	ZJ\n",
64232962Sdonn 
64332962Sdonn ASG MOD,	INAREG|FOREFF,
64432962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
64532967Sdonn 	SCON,	ANYUSIGNED,
64632962Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
64732963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,A1,AL\n",
64832962Sdonn 
64932965Sdonn ASG MOD,	INAREG|FOREFF,
65032965Sdonn 	SAREG|AWD,	TINT|TLONG,
65132965Sdonn 	SMCON,	ANYUSIGNED,
65232965Sdonn 		0,	RLEFT|RESCC,
65332965Sdonn 		"	ZJ\n",
65432965Sdonn 
65532965Sdonn ASG MOD,	INAREG|FOREFF,
65632965Sdonn 	SAREG|AWD,	TINT|TLONG,
65732965Sdonn 	SCON,	ANYUSIGNED,
65832965Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
65932965Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,A1,AL\n",
66032965Sdonn 
6619705Slinton ASG OPMUL,	INAREG|FOREFF|FORCC,
6629705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6639705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6649705Slinton 		0,	RLEFT|RESCC,
6659705Slinton 		"	OL2	AR,AL\n",
6669705Slinton 
6679705Slinton OPMUL,	INAREG|INTAREG|FORCC,
6689705Slinton 	STAREG,	TINT|TUNSIGNED|TLONG|TULONG,
6699705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6709705Slinton 		0,	RLEFT|RESCC,
6719705Slinton 		"	OL2	AR,AL\n",
6729705Slinton 
6739705Slinton OPMUL,	INAREG|INTAREG|FORCC,
6749705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6759705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6769705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
6779705Slinton 		"	OL3	AR,AL,A1\n",
6789705Slinton 
6799705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6809705Slinton 	SAREG,	TPOINT|TINT|TLONG|TUNSIGNED|TULONG,
68132964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
6829705Slinton 		0,	RLEFT|RESCC,
6839705Slinton 		"	incZL	AL\n",
6849705Slinton 
6859705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6869705Slinton 	AWD,	ANYSIGNED|ANYUSIGNED,
68732964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
6889705Slinton 		0,	RLEFT|RESCC,
6899705Slinton 		"	incZL	AL\n",
6909705Slinton 
6919705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6929705Slinton 	SAREG,	TSHORT|TCHAR,
69332964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
6949705Slinton 		0,	RLEFT|RESCC,
6959705Slinton 		"	incZL	AL\n	cvtZLl	AL,AL\n",
6969705Slinton 
6979705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6989705Slinton 	SAREG,	TUSHORT|TUCHAR,
69932964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7009705Slinton 		0,	RLEFT|RESCC,
7019705Slinton 		"	incZL	AL\n	movzZLl	AL,AL\n",
7029705Slinton 
7039705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7049705Slinton 	SAREG,	TPOINT|TINT|TLONG|TUNSIGNED|TULONG,
70532964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7069705Slinton 		0,	RLEFT|RESCC,
7079705Slinton 		"	decZL	AL\n",
7089705Slinton 
7099705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7109705Slinton 	AWD,	ANYSIGNED|ANYUSIGNED,
71132964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7129705Slinton 		0,	RLEFT|RESCC,
7139705Slinton 		"	decZL	AL\n",
7149705Slinton 
7159705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7169705Slinton 	SAREG,	TSHORT|TCHAR,
71732964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7189705Slinton 		0,	RLEFT|RESCC,
7199705Slinton 		"	decZL	AL\n	cvtZLl	AL,AL\n",
7209705Slinton 
7219705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7229705Slinton 	SAREG,	TUSHORT|TUCHAR,
72332964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7249705Slinton 		0,	RLEFT|RESCC,
7259705Slinton 		"	decZL	AL\n	movzZLl	AL,AL\n",
7269705Slinton 
7279705Slinton PLUS,	INAREG|INTAREG|FORCC,
7289705Slinton 	STAREG,	TWORD,
7299705Slinton 	SONE,	TWORD,
7309705Slinton 		0,	RLEFT|RESCC,
7319705Slinton 		"	incZL	AL\n",
7329705Slinton 
7339705Slinton PLUS,	INAREG|INTAREG|FORCC,
7349705Slinton 	STAREG,	TSHORT|TCHAR,
7359705Slinton 	SONE,	TWORD,
7369705Slinton 		0,	RLEFT|RESCC,
7379705Slinton 		"	incZL	AL\n	cvtZLl	AL,AL\n",
7389705Slinton 
7399705Slinton PLUS,	INAREG|INTAREG|FORCC,
7409705Slinton 	STAREG,	TUSHORT|TUCHAR,
7419705Slinton 	SONE,	TWORD,
7429705Slinton 		0,	RLEFT|RESCC,
7439705Slinton 		"	incZL	AL\n	movzZLl	AL,AL\n",
7449705Slinton 
7459705Slinton MINUS,	INAREG|INTAREG|FORCC,
7469705Slinton 	STAREG,	TWORD,
7479705Slinton 	SONE,	TWORD,
7489705Slinton 		0,	RLEFT|RESCC,
7499705Slinton 		"	decZL	AL\n",
7509705Slinton 
7519705Slinton MINUS,	INAREG|INTAREG|FORCC,
7529705Slinton 	STAREG,	TSHORT|TCHAR,
7539705Slinton 	SONE,	TWORD,
7549705Slinton 		0,	RLEFT|RESCC,
7559705Slinton 		"	decZL	AL\n	cvtZLl	AL,AL\n",
7569705Slinton 
7579705Slinton MINUS,	INAREG|INTAREG|FORCC,
7589705Slinton 	STAREG,	TUSHORT|TUCHAR,
7599705Slinton 	SONE,	TWORD,
7609705Slinton 		0,	RLEFT|RESCC,
7619705Slinton 		"	decZL	AL\n	movzZLl	AL,AL\n",
7629705Slinton 
7639705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7649705Slinton 	SAREG|AWD,	TWORD,
7659705Slinton 	SAREG|AWD,	TWORD,
7669705Slinton 		0,	RLEFT|RESCC,
7679705Slinton 		"	OL2	AR,AL\n",
7689705Slinton 
7699705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7709705Slinton 	SAREG,	TWORD,
7719705Slinton 	SAREG,	TSHORT|TUSHORT|TCHAR|TUCHAR,
7729705Slinton 		0,	RLEFT|RESCC,
7739705Slinton 		"	OL2	AR,AL\n",
7749705Slinton 
7759705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7769705Slinton 	AWD,	TSHORT|TUSHORT,
77732961Sdonn 	SSOREG,	TSHORT|TUSHORT|TINT|TUNSIGNED,
7789705Slinton 		0,	RLEFT|RESCC,
7799705Slinton 		"	OW2	AR,AL\n",
7809705Slinton 
7819705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7829705Slinton 	AWD,	TSHORT|TUSHORT,
78332961Sdonn 	SAREG|SNAME|STARNM,	TSHORT|TUSHORT|TINT|TUNSIGNED,
7849705Slinton 		0,	RLEFT|RESCC,
7859705Slinton 		"	OW2	AR,AL\n",
7869705Slinton 
7879705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
78832961Sdonn 	AWD,	TSHORT|TUSHORT,
78932961Sdonn 	SSCON,	ANYFIXED,
79032961Sdonn 		0,	RLEFT|RESCC,
79132961Sdonn 		"	OW2	AR,AL\n",
79232961Sdonn 
79332961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
79432961Sdonn 	AWD,	TSHORT|TUSHORT,
79532961Sdonn 	AWD,	TSHORT|TUSHORT,
79632961Sdonn 		0,	RLEFT|RESCC,
79732961Sdonn 		"	OW2	AR,AL\n",
79832961Sdonn 
79932961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
8009705Slinton 	AWD,	TCHAR|TUCHAR,
80132961Sdonn 	SSOREG,	ANYFIXED,
8029705Slinton 		0,	RLEFT|RESCC,
8039705Slinton 		"	OB2	AR,AL\n",
8049705Slinton 
8059705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8069705Slinton 	AWD,	TCHAR|TUCHAR,
80732961Sdonn 	SAREG|SNAME|STARNM,	ANYFIXED,
8089705Slinton 		0,	RLEFT|RESCC,
8099705Slinton 		"	OB2	AR,AL\n",
8109705Slinton 
8119705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
81232961Sdonn 	AWD,	TCHAR|TUCHAR,
81332961Sdonn 	SCCON,	ANYFIXED,
81432961Sdonn 		0,	RLEFT|RESCC,
81532961Sdonn 		"	OB2	AR,AL\n",
81632961Sdonn 
81732961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
81832961Sdonn 	AWD,	TCHAR|TUCHAR,
81932961Sdonn 	AWD,	TCHAR|TUCHAR,
82032961Sdonn 		0,	RLEFT|RESCC,
82132961Sdonn 		"	OB2	AR,AL\n",
82232961Sdonn 
82332961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
8249705Slinton 	SAREG,	TSHORT,
8259705Slinton 	SAREG|AWD,	ANYFIXED,
8269705Slinton 		0,	RLEFT|RESCC,
8279705Slinton 		"	OW2	AR,AL\n	cvtZLl	AL,AL\n",
8289705Slinton 
8299705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8309705Slinton 	SAREG,	TUSHORT,
8319705Slinton 	SAREG|AWD,	ANYFIXED,
8329705Slinton 		0,	RLEFT|RESCC,
8339705Slinton 		"	OW2	AR,AL\n	movzZLl	AL,AL\n",
8349705Slinton 
8359705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8369705Slinton 	SAREG,	TCHAR,
8379705Slinton 	SAREG|AWD,	ANYFIXED,
8389705Slinton 		0,	RLEFT|RESCC,
8399705Slinton 		"	OB2	AR,AL\n	cvtZLl	AL,AL\n",
8409705Slinton 
8419705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8429705Slinton 	SAREG,	TUCHAR,
8439705Slinton 	SAREG|AWD,	ANYFIXED,
8449705Slinton 		0,	RLEFT|RESCC,
8459705Slinton 		"	OB2	AR,AL\n	movzZLl	AL,AL\n",
8469705Slinton 
8479705Slinton OPSIMP,	INAREG|INTAREG|FORCC,
8489705Slinton 	STAREG,	ANYFIXED,
8499705Slinton 	SAREG|AWD,	TWORD,
8509705Slinton 		0,	RLEFT|RESCC,
8519705Slinton 		"	OL2	AR,AL\n",
8529705Slinton 
8539705Slinton OPSIMP,	INAREG|INTAREG|FORCC,
8549705Slinton 	SAREG|AWD,	TWORD,
8559705Slinton 	SAREG|AWD,	TWORD,
8569705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
8579705Slinton 		"	OL3	AR,AL,A1\n",
8589705Slinton 
8599705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
8609705Slinton 	SAREG|AWD,	TDOUBLE,
8619705Slinton 	SAREG|AWD,	TDOUBLE,
8629705Slinton 		0,	RLEFT|RESCC,
8639705Slinton 		"	OD2	AR,AL\n",
8649705Slinton 
8659705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
8669705Slinton 	SAREG|AWD,	TFLOAT,
8679705Slinton 	SAREG|AWD,	TFLOAT,
8689705Slinton 		0,	RLEFT|RESCC,
86917740Sralph #if defined(FORT) || defined(SPRECC)
87016937Sralph 		"	OF2	AR,TAL\n",
87116937Sralph #else
8729705Slinton 		"	OF2	AR,AL\n",
87316937Sralph #endif
8749705Slinton 
8759705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
8769705Slinton 	SAREG|AWD,	TDOUBLE,
8779705Slinton 	SAREG|AWD,	TFLOAT,
8789705Slinton 		NAREG|NASR,	RLEFT|RESCC,
8799705Slinton 		"	cvtfd	AR,A1\n	OD2	A1,AL\n",
8809705Slinton 
8819705Slinton ASG OPFLOAT,	INAREG|INTAREG|FOREFF|FORCC,
8829705Slinton 	SAREG|AWD,	TFLOAT,
8839705Slinton 	SAREG|AWD,	TDOUBLE,
8849705Slinton 		NAREG,	RLEFT|RESC1|RESCC,
8859705Slinton 		"	cvtfd	AL,A1\n	OD2	AR,A1\n	cvtdf	A1,AL\n",
8869705Slinton 
88725753Sdonn ASG OPFLOAT,	INAREG|FOREFF|FORCC,
88825753Sdonn 	SAREG|AWD,	ANYFIXED,
88925753Sdonn #ifndef SPRECC
89025753Sdonn 	SAREG|AWD,	TDOUBLE,		/* force FLOAT to register */
89125753Sdonn #else
89225753Sdonn 	SAREG|AWD,	TFLOAT|TDOUBLE,
89325753Sdonn #endif
89425753Sdonn 		NAREG,	RLEFT|RESCC,	/* usable() knows we need a reg pair */
89525753Sdonn 		"	ZG\n",
89625753Sdonn 
8979705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
8989705Slinton 	STAREG,	TDOUBLE,
8999705Slinton 	SAREG|AWD,	TDOUBLE,
9009705Slinton 		0,	RLEFT|RESCC,
9019705Slinton 		"	OD2	AR,AL\n",
9029705Slinton 
9039705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9049705Slinton 	SAREG|AWD,	TDOUBLE,
9059705Slinton 	SAREG|AWD,	TDOUBLE,
9069705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
9079705Slinton 		"	OD3	AR,AL,A1\n",
9089705Slinton 
9099705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9109705Slinton 	SAREG|AWD,	TFLOAT,
9119705Slinton 	SAREG|AWD,	TDOUBLE,
9129705Slinton 		NAREG|NASL,	RESC1|RESCC,
9139705Slinton 		"	cvtfd	AL,A1\n	OD2	AR,A1\n",
9149705Slinton 
9159705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9169705Slinton 	SAREG|AWD,	TDOUBLE,
9179705Slinton 	SAREG|AWD,	TFLOAT,
9189705Slinton 		NAREG|NASR,	RESC1|RESCC,
9199705Slinton 		"	cvtfd	AR,A1\n	OD3	A1,AL,A1\n",
9209705Slinton 
92117740Sralph #if defined(FORT) || defined(SPRECC)
9229705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
92316937Sralph 	STAREG,		TFLOAT,
92416937Sralph 	SAREG|AWD,	TFLOAT,
9259705Slinton 		0,	RLEFT|RESCC,
92616937Sralph 		"	OF2	AR,TAL\n",
9279705Slinton 
9289705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9299705Slinton 	SAREG|AWD,	TFLOAT,
9309705Slinton 	SAREG|AWD,	TFLOAT,
9319705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
9329705Slinton 		"	OF3	AR,AL,TA1\n",
9339705Slinton #endif
9349705Slinton 
9359705Slinton 	/* Default actions for hard trees ... */
9369705Slinton 
9379705Slinton # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,""
9389705Slinton 
9399705Slinton UNARY MUL, DF( UNARY MUL ),
9409705Slinton 
9419705Slinton INCR, DF(INCR),
9429705Slinton 
9439705Slinton DECR, DF(INCR),
9449705Slinton 
9459705Slinton ASSIGN, DF(ASSIGN),
9469705Slinton 
9479705Slinton STASG, DF(STASG),
9489705Slinton 
9499705Slinton FLD, DF(FLD),
9509705Slinton 
9519705Slinton OPLEAF, DF(NAME),
9529705Slinton 
9539705Slinton OPLOG,	FORCC,
9549705Slinton 	SANY,	TANY,
9559705Slinton 	SANY,	TANY,
9569705Slinton 		REWRITE,	BITYPE,
9579705Slinton 		"",
9589705Slinton 
9599705Slinton OPLOG,	DF(NOT),
9609705Slinton 
9619705Slinton COMOP, DF(COMOP),
9629705Slinton 
9639705Slinton INIT, DF(INIT),
9649705Slinton 
9659705Slinton OPUNARY, DF(UNARY MINUS),
9669705Slinton 
9679705Slinton 
9689705Slinton ASG OPANY, DF(ASG PLUS),
9699705Slinton 
9709705Slinton OPANY, DF(BITYPE),
9719705Slinton 
9729705Slinton FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	"help; I'm in trouble\n" };
973