xref: /csrg-svn/old/pcc/ccom.vax/table.c (revision 32962)
117740Sralph #ifndef lint
2*32962Sdonn static char *sccsid ="@(#)table.c	1.18 (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,
1979705Slinton 	SAREG|AWD,	TSHORT|TUSHORT,
1989705Slinton 	SSCON,	TANY,
1999705Slinton 		0,	RESCC,
2009705Slinton 		"	cmpw	AL,AR\nZP",
2019705Slinton 
2029705Slinton OPLOG,	FORCC,
2039705Slinton 	SAREG|AWD,	TCHAR|TUCHAR,
2049705Slinton 	SCCON,	TANY,
2059705Slinton 		0,	RESCC,
2069705Slinton 		"	cmpb	AL,AR\nZP",
2079705Slinton 
2089705Slinton OPLOG,	FORCC,
2099705Slinton 	SAREG|AWD,	TDOUBLE,
2109705Slinton 	SAREG|AWD,	TDOUBLE,
2119705Slinton 		0,	RESCC,
2129705Slinton 		"	cmpd	AL,AR\nZP",
2139705Slinton 
2149705Slinton OPLOG,	FORCC,
2159705Slinton 	SAREG|AWD,	TDOUBLE,
2169705Slinton 	SAREG|AWD,	TFLOAT,
21717205Sralph 		NAREG|NASR,	RESCC,
2189705Slinton 		"	cvtfd	AR,A1\n	cmpd	AL,A1\nZP",
2199705Slinton 
2209705Slinton OPLOG,	FORCC,
2219705Slinton 	SAREG|AWD,	TFLOAT,
2229705Slinton 	SAREG|AWD,	TDOUBLE,
22317205Sralph 		NAREG|NASL,	RESCC,
2249705Slinton 		"	cvtfd	AL,A1\n	cmpd	A1,AR\nZP",
2259705Slinton 
2269705Slinton OPLOG,	FORCC,
2279705Slinton 	SAREG|AWD,	TFLOAT,
2289705Slinton 	SAREG|AWD,	TFLOAT,
2299705Slinton 		0,	RESCC,
2309705Slinton 		"	cmpf	AL,AR\nZP",
2319705Slinton 
2329705Slinton CCODES,	INAREG|INTAREG,
2339705Slinton 	SANY,	TANY,
2349705Slinton 	SANY,	TANY,
2359705Slinton 		NAREG,	RESC1,
2369705Slinton 		"	movl	$1,A1\nZN",
2379705Slinton 
2389705Slinton UNARY CALL,	INTAREG,
2399705Slinton 	SCON,	TANY,
24016182Sralph 	SANY,	TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE,
24116182Sralph 		NAREG|NASL,	RESC1,
24216182Sralph 		"	calls	ZC,CL\n",
24316182Sralph 
24416182Sralph UNARY CALL,	INTAREG,
2459705Slinton 	SAREG,	TANY,
2469705Slinton 	SANY,	TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE,
2479705Slinton 		NAREG|NASL,	RESC1,	/* should be 0 */
2489705Slinton 		"	calls	ZC,(AL)\n",
2499705Slinton 
2509705Slinton UNARY CALL,	INAREG|INTAREG,
2519705Slinton 	SNAME,	TANY,
2529705Slinton 	SANY,	TANY,
2539705Slinton 		NAREG|NASL,	RESC1,	/* really reg 0 */
2549705Slinton 		"	calls	ZC,*AL\n",
2559705Slinton 
2569705Slinton UNARY CALL,	INAREG|INTAREG,
2579705Slinton 	SSOREG,	TANY,
2589705Slinton 	SANY,	TANY,
2599705Slinton 		NAREG|NASL,	RESC1,	/* really reg 0 */
2609705Slinton 		"	calls	ZC,*AL\n",
2619705Slinton 
2629705Slinton ASG RS,	INAREG|FOREFF|FORCC,
2639705Slinton 	SAREG,	TWORD,
2649705Slinton 	SCON,	TINT,
2659705Slinton 		0,	RLEFT|RESCC,
2669705Slinton 		"	extzv	AR,ZU,AL,AL\n",
2679705Slinton 
2689705Slinton ASG RS,	INAREG|FOREFF|FORCC,
2699705Slinton 	SAREG,	TWORD,
2709705Slinton 	SAREG,	ANYFIXED,
2719705Slinton 		NAREG,	RLEFT|RESCC,
2729705Slinton 		"	subl3	AR,$32,A1\n	extzv	AR,A1,AL,AL\n",
2739705Slinton 
2749705Slinton ASG RS,	INAREG|FOREFF|FORCC,
2759705Slinton 	SAREG,	TWORD,
2769705Slinton 	SAREG|AWD,	TWORD,
2779705Slinton 		NAREG,	RLEFT|RESCC,
2789705Slinton 		"	subl3	AR,$32,A1\n	extzv	AR,A1,AL,AL\n",
2799705Slinton 
2809705Slinton RS,	INAREG|INTAREG|FORCC,
2819705Slinton 	SAREG,	TWORD,
2829705Slinton 	SCON,	TINT,
2839705Slinton 		NAREG|NASL,	RESC1|RESCC,
2849705Slinton 		"	extzv	AR,ZU,AL,A1\n",
2859705Slinton 
2869705Slinton ASG LS,	INAREG|FOREFF|FORCC,
2879705Slinton 	SAREG|AWD,	TWORD,
2889705Slinton 	SAREG|NIAWD,	ANYSIGNED|ANYUSIGNED,
2899705Slinton 		0,	RLEFT|RESCC,
2909705Slinton 		"	ashl	AR,AL,AL\n",
2919705Slinton 
2929705Slinton ASG LS,	INAREG|FOREFF|FORCC,
2939705Slinton 	SAREG|AWD,	TWORD,
2949705Slinton 	SSOREG,	ANYSIGNED|ANYUSIGNED,
2959705Slinton 		0,	RLEFT|RESCC,
2969705Slinton 		"	ashl	AR,AL,AL\n",
2979705Slinton 
2989705Slinton ASG LS,	INAREG|FOREFF|FORCC,
2999705Slinton 	SAREG|AWD,	TWORD,
3009705Slinton 	SOREG,	ANYSIGNED|ANYUSIGNED,
3019705Slinton 		NAREG,	RLEFT|RESCC,
3029705Slinton 		"	ZB	AR,A1\n	ashl	A1,AL,AL\n",
3039705Slinton 
3049705Slinton LS,	INAREG|INTAREG|FORCC,
3059705Slinton 	SAREG|AWD,	TWORD,
3069705Slinton 	SAREG|NIAWD,	ANYSIGNED|ANYUSIGNED,
3079705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
3089705Slinton 		"	ashl	AR,AL,A1\n",
3099705Slinton 
3109705Slinton LS,	INAREG|INTAREG|FORCC,
3119705Slinton 	SAREG|AWD,	TWORD,
3129705Slinton 	SSOREG,	ANYSIGNED|ANYUSIGNED,
3139705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
3149705Slinton 		"	ashl	AR,AL,A1\n",
3159705Slinton 
3169705Slinton LS,	INAREG|INTAREG|FORCC,
3179705Slinton 	SAREG|AWD,	TWORD,
3189705Slinton 	SOREG,	ANYSIGNED|ANYUSIGNED,
3199705Slinton 		NAREG|NASR,	RESC1|RESCC,
3209705Slinton 		"	ZB	AR,A1\n	ashl	A1,AL,A1\n",
3219705Slinton 
3229705Slinton INCR,	FOREFF,
3239705Slinton 	AWD,	TANY,
3249705Slinton 	SCON,	TANY,
3259705Slinton 		0,	RLEFT,
3269705Slinton 		"	ZE\n",
3279705Slinton 
3289705Slinton DECR,	FOREFF,
3299705Slinton 	AWD,	TANY,
3309705Slinton 	SCON,	TANY,
3319705Slinton 		0,	RLEFT,
3329705Slinton 		"	ZE\n",
3339705Slinton 
3349705Slinton INCR,	FOREFF,
3359705Slinton 	SAREG,	TWORD,
3369705Slinton 	SCON,	TANY,
3379705Slinton 		0,	RLEFT,
3389705Slinton 		"	ZE\n",
3399705Slinton 
3409705Slinton DECR,	FOREFF,
3419705Slinton 	SAREG,	TWORD,
3429705Slinton 	SCON,	TANY,
3439705Slinton 		0,	RLEFT,
3449705Slinton 		"	ZE\n",
3459705Slinton 
3469705Slinton /* jwf INCR and DECR for SAREG TCHAR|TSHORT matched by ASG PLUS etc */
3479705Slinton 
3489705Slinton INCR,	INAREG|INTAREG,
3499705Slinton 	AWD,	TANY,
3509705Slinton 	SCON,	TANY,
3519705Slinton 		NAREG,	RESC1,
3529705Slinton 		"	ZD\n",
3539705Slinton 
3549705Slinton DECR,	INAREG|INTAREG,
3559705Slinton 	AWD,	TANY,
3569705Slinton 	SCON,	TANY,
3579705Slinton 		NAREG,	RESC1,
3589705Slinton 		"	ZD\n",
3599705Slinton 
3609705Slinton INCR,	INAREG|INTAREG,
3619705Slinton 	SAREG,	TWORD,
3629705Slinton 	SCON,	TANY,
3639705Slinton 		NAREG,	RESC1,
3649705Slinton 		"	ZD\n",
3659705Slinton 
3669705Slinton DECR,	INAREG|INTAREG,
3679705Slinton 	SAREG,	TWORD,
3689705Slinton 	SCON,	TANY,
3699705Slinton 		NAREG,	RESC1,
3709705Slinton 		"	ZD\n",
3719705Slinton 
3729705Slinton ASSIGN,	INAREG|FOREFF|FORCC,
37316182Sralph 	SAREG|AWD,	TDOUBLE,
37416182Sralph 	SAREG|AWD,	TUCHAR|TUSHORT,
37516182Sralph 		NAREG|NASR,	RLEFT|RESCC,
37616182Sralph 		"	movzZRl	AR,A1\n	cvtld	A1,AL\n",
37716182Sralph 
37816182Sralph ASSIGN,	INAREG|FOREFF|FORCC,
37916182Sralph 	SAREG|AWD,	TFLOAT,
38016182Sralph 	SAREG|AWD,	TUCHAR|TUSHORT,
38116182Sralph 		NAREG|NASR,	RLEFT|RESCC,
38216182Sralph 		"	movzZRl	AR,A1\n	cvtlf	A1,AL\n",
38316182Sralph 
38416182Sralph ASSIGN,	INAREG|FOREFF|FORCC,
3859705Slinton 	SAREG|AWD,	TANY,
3869705Slinton 	SAREG|AWD,	TANY,
38725582Sbloom 		0,	RLEFT|RESCC,
3889705Slinton 		"	ZA\n",
3899705Slinton 
39032958Sdonn ASSIGN,	FOREFF,
3919705Slinton 	SFLD,	TANY,
3929705Slinton 	SAREG|AWD,	TWORD,
39332958Sdonn 		0,	RNOP,
3949705Slinton 		"	insv	AR,$H,$S,AL\n",
3959705Slinton 
39632958Sdonn ASSIGN,	INAREG,
39732960Sdonn 	SFLD,	ANYSIGNED,
39832958Sdonn 	SAREG|AWD,	TWORD,
39932958Sdonn 		NAREG,	RESC1,
40032958Sdonn 		"	insv	AR,$H,$S,AL\n	extv	$H,$S,AL,A1\n",
40132958Sdonn 
40232960Sdonn ASSIGN,	INAREG,
40332960Sdonn 	SFLD,	ANYUSIGNED,
40432960Sdonn 	SAREG|AWD,	TWORD,
40532960Sdonn 		NAREG,	RESC1,
40632960Sdonn 		"	insv	AR,$H,$S,AL\n	extzv	$H,$S,AL,A1\n",
40732960Sdonn 
4089705Slinton ASSIGN,	INAREG|FOREFF|FORCC,
4099705Slinton 	SAREG|AWD,	TWORD,
4109705Slinton 	SFLD,	ANYSIGNED,
4119705Slinton 		0,	RLEFT|RESCC,
4129705Slinton 		"	extv	$H,$S,AR,AL\n",
4139705Slinton 
4149705Slinton ASSIGN,	INAREG|FOREFF|FORCC,
4159705Slinton 	SAREG|AWD,	TWORD,
4169705Slinton 	SFLD,	ANYUSIGNED,
4179705Slinton 		0,	RLEFT|RESCC,
4189705Slinton 		"	extzv	$H,$S,AR,AL\n",
4199705Slinton 
4209705Slinton /* dummy UNARY MUL entry to get U* to possibly match OPLTYPE */
4219705Slinton UNARY MUL,	FOREFF,
4229705Slinton 	SCC,	TANY,
4239705Slinton 	SCC,	TANY,
4249705Slinton 		0,	RNULL,
4259705Slinton 		"	HELP HELP HELP\n",
4269705Slinton 
42732959Sdonn OREG,	INTEMP,
42832959Sdonn 	SANY,	TANY,
42932959Sdonn 	SOREG,	TDOUBLE,
43032959Sdonn 		2*NTEMP,	RESC1,
43132959Sdonn 		"	movd	AR,A1\n",
43232959Sdonn 
43332959Sdonn OREG,	INTEMP,
43432959Sdonn 	SANY,	TANY,
43532959Sdonn 	SOREG,	TANY,
43632959Sdonn 		NTEMP,	RESC1,
43732959Sdonn 		"	movZF	AR,A1\n",
43832959Sdonn 
4399705Slinton REG,	INTEMP,
4409705Slinton 	SANY,	TANY,
4419705Slinton 	SAREG,	TDOUBLE,
4429705Slinton 		2*NTEMP,	RESC1,
4439705Slinton 		"	movd	AR,A1\n",
4449705Slinton 
4459705Slinton REG,	INTEMP,
4469705Slinton 	SANY,	TANY,
4479705Slinton 	SAREG,	TANY,
4489705Slinton 		NTEMP,	RESC1,
4499705Slinton 		"	movZF	AR,A1\n",
4509705Slinton 
45117740Sralph #if defined(FORT) || defined(SPRECC)
45217740Sralph REG,	FORARG,
4539705Slinton 	SANY,	TANY,
4549705Slinton 	SAREG,	TFLOAT,
4559705Slinton 		0,	RNULL,
4569705Slinton 		"	cvtfd	AR,-(sp)\n",
4579705Slinton 
4589705Slinton REG,	FORARG,
4599705Slinton 	SANY,	TANY,
4609705Slinton 	SAREG,	TDOUBLE,
4619705Slinton 		0,	RNULL,
4629705Slinton 		"	movZR	AR,-(sp)\n",
4639705Slinton #endif
4649705Slinton 
4659705Slinton OPLEAF,	FOREFF,
4669705Slinton 	SANY,	TANY,
4679705Slinton 	SAREG|AWD,	TANY,
4689705Slinton 		0,	RLEFT,
4699705Slinton 		"",
4709705Slinton 
4719705Slinton OPLTYPE,	INAREG|INTAREG,
4729705Slinton 	SANY,	TANY,
4739705Slinton 	SANY,	TANY,
4749705Slinton 		NAREG|NASR,	RESC1,
4759705Slinton 		"	ZA\n",
4769705Slinton 
4779705Slinton OPLTYPE,	FORCC,
4789705Slinton 	SANY,	TANY,
4799705Slinton 	SANY,	TANY,
4809705Slinton 		0,	RESCC,
4819705Slinton 		"	tstZR	AR\n",
4829705Slinton 
4839705Slinton OPLTYPE,	FORARG,
4849705Slinton 	SANY,	TANY,
4859705Slinton 	SANY,	TWORD,
4869705Slinton 		0,	RNULL,
4879705Slinton 		"	pushl	AR\n",
4889705Slinton 
4899705Slinton OPLTYPE,	FORARG,
4909705Slinton 	SANY,	TANY,
4919705Slinton 	SANY,	TCHAR|TSHORT,
4929705Slinton 		0,	RNULL,
4939705Slinton 		"	cvtZRl	AR,-(sp)\n",
4949705Slinton 
4959705Slinton OPLTYPE,	FORARG,
4969705Slinton 	SANY,	TANY,
4979705Slinton 	SANY,	TUCHAR|TUSHORT,
4989705Slinton 		0,	RNULL,
4999705Slinton 		"	movzZRl	AR,-(sp)\n",
5009705Slinton 
5019705Slinton OPLTYPE,	FORARG,
5029705Slinton 	SANY,	TANY,
5039705Slinton 	SANY,	TDOUBLE,
5049705Slinton 		0,	RNULL,
5059705Slinton 		"	movd	AR,-(sp)\n",
5069705Slinton 
5079705Slinton OPLTYPE,	FORARG,
5089705Slinton 	SANY,	TANY,
5099705Slinton 	SANY,	TFLOAT,
5109705Slinton 		0,	RNULL,
5119705Slinton 		"	cvtfd	AR,-(sp)\n",
5129705Slinton 
51317740Sralph #if defined(FORT) || defined(SPRECC)
5149705Slinton UNARY MINUS,	INTAREG|FORCC,
51524417Smckusick 	SAREG|AWD,	TFLOAT,
51616182Sralph 	SANY,	TANY,
51716182Sralph 		NAREG|NASL,	RESC1|RESCC,
51816182Sralph 		"	mnegZL	TAL,A1\n",
51916182Sralph 
52024417Smckusick #endif
52116182Sralph 
52216182Sralph UNARY MINUS,	INTAREG|FORCC,
5239705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG|TDOUBLE,
5249705Slinton 	SANY,	TANY,
5259705Slinton 		NAREG|NASL,	RESC1|RESCC,
5269705Slinton 		"	mnegZL	AL,A1\n",
5279705Slinton 
5289705Slinton COMPL,	INTAREG|FORCC,
52923479Smckusick 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
5309705Slinton 	SANY,	TANY,
5319705Slinton 		NAREG|NASL,	RESC1|RESCC,
5329705Slinton 		"	mcomZL	AL,A1\n",
5339705Slinton 
5349705Slinton COMPL,	INTAREG|FORCC,
5359705Slinton 	SAREG|AWD,	ANYSIGNED|ANYUSIGNED,
5369705Slinton 	SANY,	TANY,
5379705Slinton 		NAREG|NASL,	RESC1|RESCC,
5389705Slinton 		"	cvtZLl	AL,A1\n	mcoml	A1,A1\n",
5399705Slinton 
5409705Slinton AND,	FORCC,
5419705Slinton 	SAREG|AWD,	TWORD,
5429705Slinton 	SCON,	TWORD,
5439705Slinton 		0,	RESCC,
5449705Slinton 		"	bitl	ZZ,AL\n",
5459705Slinton 
5469705Slinton AND,	FORCC,
5479705Slinton 	SAREG|AWD,	TSHORT|TUSHORT,
5489705Slinton 	SSCON,	TWORD,
5499705Slinton 		0,	RESCC,
5509705Slinton 		"	bitw	ZZ,AL\n",
5519705Slinton 
5529705Slinton AND,	FORCC,
5539705Slinton 	SAREG|AWD,	TCHAR|TUCHAR,
5549705Slinton 	SCCON,	TWORD,
5559705Slinton 		0,	RESCC,
5569705Slinton 		"	bitb	ZZ,AL\n",
5579705Slinton 
5589705Slinton ASG AND,	INAREG|FOREFF|FORCC,
5599705Slinton 	SAREG,	TWORD,
5609705Slinton 	SCON,	TWORD,
5619705Slinton 		0,	RLEFT|RESCC,
5629705Slinton 		"	bicl2	AR,AL\n",
5639705Slinton 
564*32962Sdonn DIV,	INAREG|FOREFF|FORCC,
565*32962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
566*32962Sdonn 	SCON,	TANY,
567*32962Sdonn 		NAREG|NEVEN,	RESC1|RESCC,
568*32962Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	A1,AR,A1,U1\n",
569*32962Sdonn 
570*32962Sdonn ASG DIV,	INAREG|FOREFF|FORCC,
571*32962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
572*32962Sdonn 	SMCON,	TANY,
573*32962Sdonn 		0,	RLEFT|RESCC,
574*32962Sdonn 		"	ZJ\n",
575*32962Sdonn 
576*32962Sdonn ASG DIV,	INAREG|FOREFF|FORCC,
577*32962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
578*32962Sdonn 	SCON,	TANY,
579*32962Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
580*32962Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	A1,AR,AL,U1\n",
581*32962Sdonn 
582*32962Sdonn MOD,	INAREG|INTAREG,
583*32962Sdonn 	SAREG|AWD,	TINT|TLONG,
584*32962Sdonn 	SAREG|AWD,	TINT|TLONG,
585*32962Sdonn 		NAREG,	RESC1,
586*32962Sdonn 		"	divl3	AR,AL,A1\n	mull2	AR,A1\n	subl3	A1,AL,A1\n",
587*32962Sdonn 
588*32962Sdonn MOD,	INAREG|FOREFF,
589*32962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
590*32962Sdonn 	SMCON,	TANY,
591*32962Sdonn 		NAREG|NASL,	RLEFT|RESC1,
592*32962Sdonn 		"	ZJ\n",
593*32962Sdonn 
594*32962Sdonn MOD,	FORCC,
595*32962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
596*32962Sdonn 	SMCON,	TANY,
597*32962Sdonn 		NAREG|NASL,	RESCC,
598*32962Sdonn 		"	ZJ\n	tstl	A1\n",
599*32962Sdonn 
600*32962Sdonn MOD,	INAREG|FOREFF,
601*32962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
602*32962Sdonn 	SCON,	TANY,
603*32962Sdonn 		NAREG|NEVEN,	RESC1|RESCC,
604*32962Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	A1,AR,U1,A1\n",
605*32962Sdonn 
606*32962Sdonn MOD,	FORCC,
607*32962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
608*32962Sdonn 	SCON,	TANY,
609*32962Sdonn 		NAREG|NEVEN,	RESC1|RESCC,
610*32962Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	A1,AR,U1,A1\n	tstl	A1\n",
611*32962Sdonn 
612*32962Sdonn ASG MOD,	INAREG|INTAREG|FOREFF|FORCC,
613*32962Sdonn 	SAREG,	TINT|TLONG,
614*32962Sdonn 	SAREG|AWD,	TINT|TLONG,
615*32962Sdonn 		NAREG,	RLEFT|RESCC,
616*32962Sdonn 		"	divl3	AR,AL,A1\n	mull2	AR,A1\n	subl2	A1,AL\n",
617*32962Sdonn 
618*32962Sdonn ASG MOD,	INAREG|FOREFF,
619*32962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
620*32962Sdonn 	SMCON,	TANY,
621*32962Sdonn 		0,	RLEFT|RESCC,
622*32962Sdonn 		"	ZJ\n",
623*32962Sdonn 
624*32962Sdonn ASG MOD,	FORCC,
625*32962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
626*32962Sdonn 	SMCON,	TANY,
627*32962Sdonn 		0,	RLEFT|RESCC,
628*32962Sdonn 		"	ZJ\n	tstl	AL\n",
629*32962Sdonn 
630*32962Sdonn ASG MOD,	INAREG|FOREFF,
631*32962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
632*32962Sdonn 	SCON,	TANY,
633*32962Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
634*32962Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	A1,AR,A1,AL\n",
635*32962Sdonn 
636*32962Sdonn ASG MOD,	FORCC,
637*32962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
638*32962Sdonn 	SCON,	TANY,
639*32962Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
640*32962Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	A1,AR,A1,AL\n	tstl	AL\n",
641*32962Sdonn 
6429705Slinton ASG OPMUL,	INAREG|FOREFF|FORCC,
6439705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6449705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6459705Slinton 		0,	RLEFT|RESCC,
6469705Slinton 		"	OL2	AR,AL\n",
6479705Slinton 
6489705Slinton OPMUL,	INAREG|INTAREG|FORCC,
6499705Slinton 	STAREG,	TINT|TUNSIGNED|TLONG|TULONG,
6509705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6519705Slinton 		0,	RLEFT|RESCC,
6529705Slinton 		"	OL2	AR,AL\n",
6539705Slinton 
6549705Slinton OPMUL,	INAREG|INTAREG|FORCC,
6559705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6569705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6579705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
6589705Slinton 		"	OL3	AR,AL,A1\n",
6599705Slinton 
6609705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6619705Slinton 	SAREG,	TPOINT|TINT|TLONG|TUNSIGNED|TULONG,
6629705Slinton 	SONE,	TINT|TLONG,
6639705Slinton 		0,	RLEFT|RESCC,
6649705Slinton 		"	incZL	AL\n",
6659705Slinton 
6669705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6679705Slinton 	AWD,	ANYSIGNED|ANYUSIGNED,
6689705Slinton 	SONE,	TINT|TLONG,
6699705Slinton 		0,	RLEFT|RESCC,
6709705Slinton 		"	incZL	AL\n",
6719705Slinton 
6729705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6739705Slinton 	SAREG,	TSHORT|TCHAR,
6749705Slinton 	SONE,	TINT|TLONG,
6759705Slinton 		0,	RLEFT|RESCC,
6769705Slinton 		"	incZL	AL\n	cvtZLl	AL,AL\n",
6779705Slinton 
6789705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6799705Slinton 	SAREG,	TUSHORT|TUCHAR,
6809705Slinton 	SONE,	TINT|TLONG,
6819705Slinton 		0,	RLEFT|RESCC,
6829705Slinton 		"	incZL	AL\n	movzZLl	AL,AL\n",
6839705Slinton 
6849705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
6859705Slinton 	SAREG,	TPOINT|TINT|TLONG|TUNSIGNED|TULONG,
6869705Slinton 	SONE,	TINT|TLONG,
6879705Slinton 		0,	RLEFT|RESCC,
6889705Slinton 		"	decZL	AL\n",
6899705Slinton 
6909705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
6919705Slinton 	AWD,	ANYSIGNED|ANYUSIGNED,
6929705Slinton 	SONE,	TINT|TLONG,
6939705Slinton 		0,	RLEFT|RESCC,
6949705Slinton 		"	decZL	AL\n",
6959705Slinton 
6969705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
6979705Slinton 	SAREG,	TSHORT|TCHAR,
6989705Slinton 	SONE,	TINT|TLONG,
6999705Slinton 		0,	RLEFT|RESCC,
7009705Slinton 		"	decZL	AL\n	cvtZLl	AL,AL\n",
7019705Slinton 
7029705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7039705Slinton 	SAREG,	TUSHORT|TUCHAR,
7049705Slinton 	SONE,	TINT|TLONG,
7059705Slinton 		0,	RLEFT|RESCC,
7069705Slinton 		"	decZL	AL\n	movzZLl	AL,AL\n",
7079705Slinton 
7089705Slinton PLUS,	INAREG|INTAREG|FORCC,
7099705Slinton 	STAREG,	TWORD,
7109705Slinton 	SONE,	TWORD,
7119705Slinton 		0,	RLEFT|RESCC,
7129705Slinton 		"	incZL	AL\n",
7139705Slinton 
7149705Slinton PLUS,	INAREG|INTAREG|FORCC,
7159705Slinton 	STAREG,	TSHORT|TCHAR,
7169705Slinton 	SONE,	TWORD,
7179705Slinton 		0,	RLEFT|RESCC,
7189705Slinton 		"	incZL	AL\n	cvtZLl	AL,AL\n",
7199705Slinton 
7209705Slinton PLUS,	INAREG|INTAREG|FORCC,
7219705Slinton 	STAREG,	TUSHORT|TUCHAR,
7229705Slinton 	SONE,	TWORD,
7239705Slinton 		0,	RLEFT|RESCC,
7249705Slinton 		"	incZL	AL\n	movzZLl	AL,AL\n",
7259705Slinton 
7269705Slinton MINUS,	INAREG|INTAREG|FORCC,
7279705Slinton 	STAREG,	TWORD,
7289705Slinton 	SONE,	TWORD,
7299705Slinton 		0,	RLEFT|RESCC,
7309705Slinton 		"	decZL	AL\n",
7319705Slinton 
7329705Slinton MINUS,	INAREG|INTAREG|FORCC,
7339705Slinton 	STAREG,	TSHORT|TCHAR,
7349705Slinton 	SONE,	TWORD,
7359705Slinton 		0,	RLEFT|RESCC,
7369705Slinton 		"	decZL	AL\n	cvtZLl	AL,AL\n",
7379705Slinton 
7389705Slinton MINUS,	INAREG|INTAREG|FORCC,
7399705Slinton 	STAREG,	TUSHORT|TUCHAR,
7409705Slinton 	SONE,	TWORD,
7419705Slinton 		0,	RLEFT|RESCC,
7429705Slinton 		"	decZL	AL\n	movzZLl	AL,AL\n",
7439705Slinton 
7449705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7459705Slinton 	SAREG|AWD,	TWORD,
7469705Slinton 	SAREG|AWD,	TWORD,
7479705Slinton 		0,	RLEFT|RESCC,
7489705Slinton 		"	OL2	AR,AL\n",
7499705Slinton 
7509705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7519705Slinton 	SAREG,	TWORD,
7529705Slinton 	SAREG,	TSHORT|TUSHORT|TCHAR|TUCHAR,
7539705Slinton 		0,	RLEFT|RESCC,
7549705Slinton 		"	OL2	AR,AL\n",
7559705Slinton 
7569705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7579705Slinton 	AWD,	TSHORT|TUSHORT,
75832961Sdonn 	SSOREG,	TSHORT|TUSHORT|TINT|TUNSIGNED,
7599705Slinton 		0,	RLEFT|RESCC,
7609705Slinton 		"	OW2	AR,AL\n",
7619705Slinton 
7629705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7639705Slinton 	AWD,	TSHORT|TUSHORT,
76432961Sdonn 	SAREG|SNAME|STARNM,	TSHORT|TUSHORT|TINT|TUNSIGNED,
7659705Slinton 		0,	RLEFT|RESCC,
7669705Slinton 		"	OW2	AR,AL\n",
7679705Slinton 
7689705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
76932961Sdonn 	AWD,	TSHORT|TUSHORT,
77032961Sdonn 	SSCON,	ANYFIXED,
77132961Sdonn 		0,	RLEFT|RESCC,
77232961Sdonn 		"	OW2	AR,AL\n",
77332961Sdonn 
77432961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
77532961Sdonn 	AWD,	TSHORT|TUSHORT,
77632961Sdonn 	AWD,	TSHORT|TUSHORT,
77732961Sdonn 		0,	RLEFT|RESCC,
77832961Sdonn 		"	OW2	AR,AL\n",
77932961Sdonn 
78032961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
7819705Slinton 	AWD,	TCHAR|TUCHAR,
78232961Sdonn 	SSOREG,	ANYFIXED,
7839705Slinton 		0,	RLEFT|RESCC,
7849705Slinton 		"	OB2	AR,AL\n",
7859705Slinton 
7869705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7879705Slinton 	AWD,	TCHAR|TUCHAR,
78832961Sdonn 	SAREG|SNAME|STARNM,	ANYFIXED,
7899705Slinton 		0,	RLEFT|RESCC,
7909705Slinton 		"	OB2	AR,AL\n",
7919705Slinton 
7929705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
79332961Sdonn 	AWD,	TCHAR|TUCHAR,
79432961Sdonn 	SCCON,	ANYFIXED,
79532961Sdonn 		0,	RLEFT|RESCC,
79632961Sdonn 		"	OB2	AR,AL\n",
79732961Sdonn 
79832961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
79932961Sdonn 	AWD,	TCHAR|TUCHAR,
80032961Sdonn 	AWD,	TCHAR|TUCHAR,
80132961Sdonn 		0,	RLEFT|RESCC,
80232961Sdonn 		"	OB2	AR,AL\n",
80332961Sdonn 
80432961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
8059705Slinton 	SAREG,	TSHORT,
8069705Slinton 	SAREG|AWD,	ANYFIXED,
8079705Slinton 		0,	RLEFT|RESCC,
8089705Slinton 		"	OW2	AR,AL\n	cvtZLl	AL,AL\n",
8099705Slinton 
8109705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8119705Slinton 	SAREG,	TUSHORT,
8129705Slinton 	SAREG|AWD,	ANYFIXED,
8139705Slinton 		0,	RLEFT|RESCC,
8149705Slinton 		"	OW2	AR,AL\n	movzZLl	AL,AL\n",
8159705Slinton 
8169705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8179705Slinton 	SAREG,	TCHAR,
8189705Slinton 	SAREG|AWD,	ANYFIXED,
8199705Slinton 		0,	RLEFT|RESCC,
8209705Slinton 		"	OB2	AR,AL\n	cvtZLl	AL,AL\n",
8219705Slinton 
8229705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8239705Slinton 	SAREG,	TUCHAR,
8249705Slinton 	SAREG|AWD,	ANYFIXED,
8259705Slinton 		0,	RLEFT|RESCC,
8269705Slinton 		"	OB2	AR,AL\n	movzZLl	AL,AL\n",
8279705Slinton 
8289705Slinton OPSIMP,	INAREG|INTAREG|FORCC,
8299705Slinton 	STAREG,	ANYFIXED,
8309705Slinton 	SAREG|AWD,	TWORD,
8319705Slinton 		0,	RLEFT|RESCC,
8329705Slinton 		"	OL2	AR,AL\n",
8339705Slinton 
8349705Slinton OPSIMP,	INAREG|INTAREG|FORCC,
8359705Slinton 	SAREG|AWD,	TWORD,
8369705Slinton 	SAREG|AWD,	TWORD,
8379705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
8389705Slinton 		"	OL3	AR,AL,A1\n",
8399705Slinton 
8409705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
8419705Slinton 	SAREG|AWD,	TDOUBLE,
8429705Slinton 	SAREG|AWD,	TDOUBLE,
8439705Slinton 		0,	RLEFT|RESCC,
8449705Slinton 		"	OD2	AR,AL\n",
8459705Slinton 
8469705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
8479705Slinton 	SAREG|AWD,	TFLOAT,
8489705Slinton 	SAREG|AWD,	TFLOAT,
8499705Slinton 		0,	RLEFT|RESCC,
85017740Sralph #if defined(FORT) || defined(SPRECC)
85116937Sralph 		"	OF2	AR,TAL\n",
85216937Sralph #else
8539705Slinton 		"	OF2	AR,AL\n",
85416937Sralph #endif
8559705Slinton 
8569705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
8579705Slinton 	SAREG|AWD,	TDOUBLE,
8589705Slinton 	SAREG|AWD,	TFLOAT,
8599705Slinton 		NAREG|NASR,	RLEFT|RESCC,
8609705Slinton 		"	cvtfd	AR,A1\n	OD2	A1,AL\n",
8619705Slinton 
8629705Slinton ASG OPFLOAT,	INAREG|INTAREG|FOREFF|FORCC,
8639705Slinton 	SAREG|AWD,	TFLOAT,
8649705Slinton 	SAREG|AWD,	TDOUBLE,
8659705Slinton 		NAREG,	RLEFT|RESC1|RESCC,
8669705Slinton 		"	cvtfd	AL,A1\n	OD2	AR,A1\n	cvtdf	A1,AL\n",
8679705Slinton 
86825753Sdonn ASG OPFLOAT,	INAREG|FOREFF|FORCC,
86925753Sdonn 	SAREG|AWD,	ANYFIXED,
87025753Sdonn #ifndef SPRECC
87125753Sdonn 	SAREG|AWD,	TDOUBLE,		/* force FLOAT to register */
87225753Sdonn #else
87325753Sdonn 	SAREG|AWD,	TFLOAT|TDOUBLE,
87425753Sdonn #endif
87525753Sdonn 		NAREG,	RLEFT|RESCC,	/* usable() knows we need a reg pair */
87625753Sdonn 		"	ZG\n",
87725753Sdonn 
8789705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
8799705Slinton 	STAREG,	TDOUBLE,
8809705Slinton 	SAREG|AWD,	TDOUBLE,
8819705Slinton 		0,	RLEFT|RESCC,
8829705Slinton 		"	OD2	AR,AL\n",
8839705Slinton 
8849705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
8859705Slinton 	SAREG|AWD,	TDOUBLE,
8869705Slinton 	SAREG|AWD,	TDOUBLE,
8879705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
8889705Slinton 		"	OD3	AR,AL,A1\n",
8899705Slinton 
8909705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
8919705Slinton 	SAREG|AWD,	TFLOAT,
8929705Slinton 	SAREG|AWD,	TDOUBLE,
8939705Slinton 		NAREG|NASL,	RESC1|RESCC,
8949705Slinton 		"	cvtfd	AL,A1\n	OD2	AR,A1\n",
8959705Slinton 
8969705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
8979705Slinton 	SAREG|AWD,	TDOUBLE,
8989705Slinton 	SAREG|AWD,	TFLOAT,
8999705Slinton 		NAREG|NASR,	RESC1|RESCC,
9009705Slinton 		"	cvtfd	AR,A1\n	OD3	A1,AL,A1\n",
9019705Slinton 
90217740Sralph #if defined(FORT) || defined(SPRECC)
9039705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
90416937Sralph 	STAREG,		TFLOAT,
90516937Sralph 	SAREG|AWD,	TFLOAT,
9069705Slinton 		0,	RLEFT|RESCC,
90716937Sralph 		"	OF2	AR,TAL\n",
9089705Slinton 
9099705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9109705Slinton 	SAREG|AWD,	TFLOAT,
9119705Slinton 	SAREG|AWD,	TFLOAT,
9129705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
9139705Slinton 		"	OF3	AR,AL,TA1\n",
9149705Slinton #endif
9159705Slinton 
9169705Slinton 	/* Default actions for hard trees ... */
9179705Slinton 
9189705Slinton # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,""
9199705Slinton 
9209705Slinton UNARY MUL, DF( UNARY MUL ),
9219705Slinton 
9229705Slinton INCR, DF(INCR),
9239705Slinton 
9249705Slinton DECR, DF(INCR),
9259705Slinton 
9269705Slinton ASSIGN, DF(ASSIGN),
9279705Slinton 
9289705Slinton STASG, DF(STASG),
9299705Slinton 
9309705Slinton FLD, DF(FLD),
9319705Slinton 
9329705Slinton OPLEAF, DF(NAME),
9339705Slinton 
9349705Slinton OPLOG,	FORCC,
9359705Slinton 	SANY,	TANY,
9369705Slinton 	SANY,	TANY,
9379705Slinton 		REWRITE,	BITYPE,
9389705Slinton 		"",
9399705Slinton 
9409705Slinton OPLOG,	DF(NOT),
9419705Slinton 
9429705Slinton COMOP, DF(COMOP),
9439705Slinton 
9449705Slinton INIT, DF(INIT),
9459705Slinton 
9469705Slinton OPUNARY, DF(UNARY MINUS),
9479705Slinton 
9489705Slinton 
9499705Slinton ASG OPANY, DF(ASG PLUS),
9509705Slinton 
9519705Slinton OPANY, DF(BITYPE),
9529705Slinton 
9539705Slinton FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	"help; I'm in trouble\n" };
954