xref: /csrg-svn/old/pcc/ccom.vax/table.c (revision 32965)
117740Sralph #ifndef lint
2*32965Sdonn static char *sccsid ="@(#)table.c	1.21 (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,
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 
594*32965Sdonn ASG DIV,	INAREG|FOREFF|FORCC,
595*32965Sdonn 	SAREG|AWD,	TINT|TLONG,
596*32965Sdonn 	SMCON,	ANYUSIGNED,
597*32965Sdonn 		0,	RLEFT|RESCC,
598*32965Sdonn 		"	ZJ\n",
599*32965Sdonn 
600*32965Sdonn ASG DIV,	INAREG|FOREFF|FORCC,
601*32965Sdonn 	SAREG|AWD,	TINT|TLONG,
602*32965Sdonn 	SCON,	ANYUSIGNED,
603*32965Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
604*32965Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,AL,U1\n",
605*32965Sdonn 
60632962Sdonn MOD,	INAREG|INTAREG,
60732962Sdonn 	SAREG|AWD,	TINT|TLONG,
60832962Sdonn 	SAREG|AWD,	TINT|TLONG,
60932962Sdonn 		NAREG,	RESC1,
61032962Sdonn 		"	divl3	AR,AL,A1\n	mull2	AR,A1\n	subl3	A1,AL,A1\n",
61132962Sdonn 
61232962Sdonn MOD,	INAREG|FOREFF,
61332962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
61432962Sdonn 	SMCON,	TANY,
61532962Sdonn 		NAREG|NASL,	RLEFT|RESC1,
61632962Sdonn 		"	ZJ\n",
61732962Sdonn 
61832962Sdonn MOD,	FORCC,
61932962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
62032962Sdonn 	SMCON,	TANY,
62132962Sdonn 		NAREG|NASL,	RESCC,
62232962Sdonn 		"	ZJ\n	tstl	A1\n",
62332962Sdonn 
62432962Sdonn MOD,	INAREG|FOREFF,
62532962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
62632962Sdonn 	SCON,	TANY,
62732962Sdonn 		NAREG|NEVEN,	RESC1|RESCC,
62832963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,U1,A1\n",
62932962Sdonn 
63032962Sdonn MOD,	FORCC,
63132962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
63232962Sdonn 	SCON,	TANY,
63332962Sdonn 		NAREG|NEVEN,	RESC1|RESCC,
63432963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,U1,A1\n	tstl	A1\n",
63532962Sdonn 
63632962Sdonn ASG MOD,	INAREG|INTAREG|FOREFF|FORCC,
63732962Sdonn 	SAREG,	TINT|TLONG,
63832962Sdonn 	SAREG|AWD,	TINT|TLONG,
63932962Sdonn 		NAREG,	RLEFT|RESCC,
64032962Sdonn 		"	divl3	AR,AL,A1\n	mull2	AR,A1\n	subl2	A1,AL\n",
64132962Sdonn 
64232962Sdonn ASG MOD,	INAREG|FOREFF,
64332962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
64432962Sdonn 	SMCON,	TANY,
64532962Sdonn 		0,	RLEFT|RESCC,
64632962Sdonn 		"	ZJ\n",
64732962Sdonn 
64832962Sdonn ASG MOD,	FORCC,
64932962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
65032962Sdonn 	SMCON,	TANY,
65132962Sdonn 		0,	RLEFT|RESCC,
65232962Sdonn 		"	ZJ\n	tstl	AL\n",
65332962Sdonn 
65432962Sdonn ASG MOD,	INAREG|FOREFF,
65532962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
65632962Sdonn 	SCON,	TANY,
65732962Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
65832963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,A1,AL\n",
65932962Sdonn 
66032962Sdonn ASG MOD,	FORCC,
66132962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
66232962Sdonn 	SCON,	TANY,
66332962Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
66432963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,A1,AL\n	tstl	AL\n",
66532962Sdonn 
666*32965Sdonn 
667*32965Sdonn ASG MOD,	INAREG|FOREFF,
668*32965Sdonn 	SAREG|AWD,	TINT|TLONG,
669*32965Sdonn 	SMCON,	ANYUSIGNED,
670*32965Sdonn 		0,	RLEFT|RESCC,
671*32965Sdonn 		"	ZJ\n",
672*32965Sdonn 
673*32965Sdonn ASG MOD,	FORCC,
674*32965Sdonn 	SAREG|AWD,	TINT|TLONG,
675*32965Sdonn 	SMCON,	ANYUSIGNED,
676*32965Sdonn 		0,	RLEFT|RESCC,
677*32965Sdonn 		"	ZJ\n	tstl	AL\n",
678*32965Sdonn 
679*32965Sdonn ASG MOD,	INAREG|FOREFF,
680*32965Sdonn 	SAREG|AWD,	TINT|TLONG,
681*32965Sdonn 	SCON,	ANYUSIGNED,
682*32965Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
683*32965Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,A1,AL\n",
684*32965Sdonn 
685*32965Sdonn ASG MOD,	FORCC,
686*32965Sdonn 	SAREG|AWD,	TINT|TLONG,
687*32965Sdonn 	SCON,	ANYUSIGNED,
688*32965Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
689*32965Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,A1,AL\n	tstl	AL\n",
690*32965Sdonn 
6919705Slinton ASG OPMUL,	INAREG|FOREFF|FORCC,
6929705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6939705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6949705Slinton 		0,	RLEFT|RESCC,
6959705Slinton 		"	OL2	AR,AL\n",
6969705Slinton 
6979705Slinton OPMUL,	INAREG|INTAREG|FORCC,
6989705Slinton 	STAREG,	TINT|TUNSIGNED|TLONG|TULONG,
6999705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
7009705Slinton 		0,	RLEFT|RESCC,
7019705Slinton 		"	OL2	AR,AL\n",
7029705Slinton 
7039705Slinton OPMUL,	INAREG|INTAREG|FORCC,
7049705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
7059705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
7069705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
7079705Slinton 		"	OL3	AR,AL,A1\n",
7089705Slinton 
7099705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
7109705Slinton 	SAREG,	TPOINT|TINT|TLONG|TUNSIGNED|TULONG,
71132964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7129705Slinton 		0,	RLEFT|RESCC,
7139705Slinton 		"	incZL	AL\n",
7149705Slinton 
7159705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
7169705Slinton 	AWD,	ANYSIGNED|ANYUSIGNED,
71732964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7189705Slinton 		0,	RLEFT|RESCC,
7199705Slinton 		"	incZL	AL\n",
7209705Slinton 
7219705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
7229705Slinton 	SAREG,	TSHORT|TCHAR,
72332964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7249705Slinton 		0,	RLEFT|RESCC,
7259705Slinton 		"	incZL	AL\n	cvtZLl	AL,AL\n",
7269705Slinton 
7279705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
7289705Slinton 	SAREG,	TUSHORT|TUCHAR,
72932964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7309705Slinton 		0,	RLEFT|RESCC,
7319705Slinton 		"	incZL	AL\n	movzZLl	AL,AL\n",
7329705Slinton 
7339705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7349705Slinton 	SAREG,	TPOINT|TINT|TLONG|TUNSIGNED|TULONG,
73532964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7369705Slinton 		0,	RLEFT|RESCC,
7379705Slinton 		"	decZL	AL\n",
7389705Slinton 
7399705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7409705Slinton 	AWD,	ANYSIGNED|ANYUSIGNED,
74132964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7429705Slinton 		0,	RLEFT|RESCC,
7439705Slinton 		"	decZL	AL\n",
7449705Slinton 
7459705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7469705Slinton 	SAREG,	TSHORT|TCHAR,
74732964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7489705Slinton 		0,	RLEFT|RESCC,
7499705Slinton 		"	decZL	AL\n	cvtZLl	AL,AL\n",
7509705Slinton 
7519705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7529705Slinton 	SAREG,	TUSHORT|TUCHAR,
75332964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7549705Slinton 		0,	RLEFT|RESCC,
7559705Slinton 		"	decZL	AL\n	movzZLl	AL,AL\n",
7569705Slinton 
7579705Slinton PLUS,	INAREG|INTAREG|FORCC,
7589705Slinton 	STAREG,	TWORD,
7599705Slinton 	SONE,	TWORD,
7609705Slinton 		0,	RLEFT|RESCC,
7619705Slinton 		"	incZL	AL\n",
7629705Slinton 
7639705Slinton PLUS,	INAREG|INTAREG|FORCC,
7649705Slinton 	STAREG,	TSHORT|TCHAR,
7659705Slinton 	SONE,	TWORD,
7669705Slinton 		0,	RLEFT|RESCC,
7679705Slinton 		"	incZL	AL\n	cvtZLl	AL,AL\n",
7689705Slinton 
7699705Slinton PLUS,	INAREG|INTAREG|FORCC,
7709705Slinton 	STAREG,	TUSHORT|TUCHAR,
7719705Slinton 	SONE,	TWORD,
7729705Slinton 		0,	RLEFT|RESCC,
7739705Slinton 		"	incZL	AL\n	movzZLl	AL,AL\n",
7749705Slinton 
7759705Slinton MINUS,	INAREG|INTAREG|FORCC,
7769705Slinton 	STAREG,	TWORD,
7779705Slinton 	SONE,	TWORD,
7789705Slinton 		0,	RLEFT|RESCC,
7799705Slinton 		"	decZL	AL\n",
7809705Slinton 
7819705Slinton MINUS,	INAREG|INTAREG|FORCC,
7829705Slinton 	STAREG,	TSHORT|TCHAR,
7839705Slinton 	SONE,	TWORD,
7849705Slinton 		0,	RLEFT|RESCC,
7859705Slinton 		"	decZL	AL\n	cvtZLl	AL,AL\n",
7869705Slinton 
7879705Slinton MINUS,	INAREG|INTAREG|FORCC,
7889705Slinton 	STAREG,	TUSHORT|TUCHAR,
7899705Slinton 	SONE,	TWORD,
7909705Slinton 		0,	RLEFT|RESCC,
7919705Slinton 		"	decZL	AL\n	movzZLl	AL,AL\n",
7929705Slinton 
7939705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7949705Slinton 	SAREG|AWD,	TWORD,
7959705Slinton 	SAREG|AWD,	TWORD,
7969705Slinton 		0,	RLEFT|RESCC,
7979705Slinton 		"	OL2	AR,AL\n",
7989705Slinton 
7999705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8009705Slinton 	SAREG,	TWORD,
8019705Slinton 	SAREG,	TSHORT|TUSHORT|TCHAR|TUCHAR,
8029705Slinton 		0,	RLEFT|RESCC,
8039705Slinton 		"	OL2	AR,AL\n",
8049705Slinton 
8059705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8069705Slinton 	AWD,	TSHORT|TUSHORT,
80732961Sdonn 	SSOREG,	TSHORT|TUSHORT|TINT|TUNSIGNED,
8089705Slinton 		0,	RLEFT|RESCC,
8099705Slinton 		"	OW2	AR,AL\n",
8109705Slinton 
8119705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8129705Slinton 	AWD,	TSHORT|TUSHORT,
81332961Sdonn 	SAREG|SNAME|STARNM,	TSHORT|TUSHORT|TINT|TUNSIGNED,
8149705Slinton 		0,	RLEFT|RESCC,
8159705Slinton 		"	OW2	AR,AL\n",
8169705Slinton 
8179705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
81832961Sdonn 	AWD,	TSHORT|TUSHORT,
81932961Sdonn 	SSCON,	ANYFIXED,
82032961Sdonn 		0,	RLEFT|RESCC,
82132961Sdonn 		"	OW2	AR,AL\n",
82232961Sdonn 
82332961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
82432961Sdonn 	AWD,	TSHORT|TUSHORT,
82532961Sdonn 	AWD,	TSHORT|TUSHORT,
82632961Sdonn 		0,	RLEFT|RESCC,
82732961Sdonn 		"	OW2	AR,AL\n",
82832961Sdonn 
82932961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
8309705Slinton 	AWD,	TCHAR|TUCHAR,
83132961Sdonn 	SSOREG,	ANYFIXED,
8329705Slinton 		0,	RLEFT|RESCC,
8339705Slinton 		"	OB2	AR,AL\n",
8349705Slinton 
8359705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8369705Slinton 	AWD,	TCHAR|TUCHAR,
83732961Sdonn 	SAREG|SNAME|STARNM,	ANYFIXED,
8389705Slinton 		0,	RLEFT|RESCC,
8399705Slinton 		"	OB2	AR,AL\n",
8409705Slinton 
8419705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
84232961Sdonn 	AWD,	TCHAR|TUCHAR,
84332961Sdonn 	SCCON,	ANYFIXED,
84432961Sdonn 		0,	RLEFT|RESCC,
84532961Sdonn 		"	OB2	AR,AL\n",
84632961Sdonn 
84732961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
84832961Sdonn 	AWD,	TCHAR|TUCHAR,
84932961Sdonn 	AWD,	TCHAR|TUCHAR,
85032961Sdonn 		0,	RLEFT|RESCC,
85132961Sdonn 		"	OB2	AR,AL\n",
85232961Sdonn 
85332961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
8549705Slinton 	SAREG,	TSHORT,
8559705Slinton 	SAREG|AWD,	ANYFIXED,
8569705Slinton 		0,	RLEFT|RESCC,
8579705Slinton 		"	OW2	AR,AL\n	cvtZLl	AL,AL\n",
8589705Slinton 
8599705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8609705Slinton 	SAREG,	TUSHORT,
8619705Slinton 	SAREG|AWD,	ANYFIXED,
8629705Slinton 		0,	RLEFT|RESCC,
8639705Slinton 		"	OW2	AR,AL\n	movzZLl	AL,AL\n",
8649705Slinton 
8659705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8669705Slinton 	SAREG,	TCHAR,
8679705Slinton 	SAREG|AWD,	ANYFIXED,
8689705Slinton 		0,	RLEFT|RESCC,
8699705Slinton 		"	OB2	AR,AL\n	cvtZLl	AL,AL\n",
8709705Slinton 
8719705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8729705Slinton 	SAREG,	TUCHAR,
8739705Slinton 	SAREG|AWD,	ANYFIXED,
8749705Slinton 		0,	RLEFT|RESCC,
8759705Slinton 		"	OB2	AR,AL\n	movzZLl	AL,AL\n",
8769705Slinton 
8779705Slinton OPSIMP,	INAREG|INTAREG|FORCC,
8789705Slinton 	STAREG,	ANYFIXED,
8799705Slinton 	SAREG|AWD,	TWORD,
8809705Slinton 		0,	RLEFT|RESCC,
8819705Slinton 		"	OL2	AR,AL\n",
8829705Slinton 
8839705Slinton OPSIMP,	INAREG|INTAREG|FORCC,
8849705Slinton 	SAREG|AWD,	TWORD,
8859705Slinton 	SAREG|AWD,	TWORD,
8869705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
8879705Slinton 		"	OL3	AR,AL,A1\n",
8889705Slinton 
8899705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
8909705Slinton 	SAREG|AWD,	TDOUBLE,
8919705Slinton 	SAREG|AWD,	TDOUBLE,
8929705Slinton 		0,	RLEFT|RESCC,
8939705Slinton 		"	OD2	AR,AL\n",
8949705Slinton 
8959705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
8969705Slinton 	SAREG|AWD,	TFLOAT,
8979705Slinton 	SAREG|AWD,	TFLOAT,
8989705Slinton 		0,	RLEFT|RESCC,
89917740Sralph #if defined(FORT) || defined(SPRECC)
90016937Sralph 		"	OF2	AR,TAL\n",
90116937Sralph #else
9029705Slinton 		"	OF2	AR,AL\n",
90316937Sralph #endif
9049705Slinton 
9059705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
9069705Slinton 	SAREG|AWD,	TDOUBLE,
9079705Slinton 	SAREG|AWD,	TFLOAT,
9089705Slinton 		NAREG|NASR,	RLEFT|RESCC,
9099705Slinton 		"	cvtfd	AR,A1\n	OD2	A1,AL\n",
9109705Slinton 
9119705Slinton ASG OPFLOAT,	INAREG|INTAREG|FOREFF|FORCC,
9129705Slinton 	SAREG|AWD,	TFLOAT,
9139705Slinton 	SAREG|AWD,	TDOUBLE,
9149705Slinton 		NAREG,	RLEFT|RESC1|RESCC,
9159705Slinton 		"	cvtfd	AL,A1\n	OD2	AR,A1\n	cvtdf	A1,AL\n",
9169705Slinton 
91725753Sdonn ASG OPFLOAT,	INAREG|FOREFF|FORCC,
91825753Sdonn 	SAREG|AWD,	ANYFIXED,
91925753Sdonn #ifndef SPRECC
92025753Sdonn 	SAREG|AWD,	TDOUBLE,		/* force FLOAT to register */
92125753Sdonn #else
92225753Sdonn 	SAREG|AWD,	TFLOAT|TDOUBLE,
92325753Sdonn #endif
92425753Sdonn 		NAREG,	RLEFT|RESCC,	/* usable() knows we need a reg pair */
92525753Sdonn 		"	ZG\n",
92625753Sdonn 
9279705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9289705Slinton 	STAREG,	TDOUBLE,
9299705Slinton 	SAREG|AWD,	TDOUBLE,
9309705Slinton 		0,	RLEFT|RESCC,
9319705Slinton 		"	OD2	AR,AL\n",
9329705Slinton 
9339705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9349705Slinton 	SAREG|AWD,	TDOUBLE,
9359705Slinton 	SAREG|AWD,	TDOUBLE,
9369705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
9379705Slinton 		"	OD3	AR,AL,A1\n",
9389705Slinton 
9399705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9409705Slinton 	SAREG|AWD,	TFLOAT,
9419705Slinton 	SAREG|AWD,	TDOUBLE,
9429705Slinton 		NAREG|NASL,	RESC1|RESCC,
9439705Slinton 		"	cvtfd	AL,A1\n	OD2	AR,A1\n",
9449705Slinton 
9459705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9469705Slinton 	SAREG|AWD,	TDOUBLE,
9479705Slinton 	SAREG|AWD,	TFLOAT,
9489705Slinton 		NAREG|NASR,	RESC1|RESCC,
9499705Slinton 		"	cvtfd	AR,A1\n	OD3	A1,AL,A1\n",
9509705Slinton 
95117740Sralph #if defined(FORT) || defined(SPRECC)
9529705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
95316937Sralph 	STAREG,		TFLOAT,
95416937Sralph 	SAREG|AWD,	TFLOAT,
9559705Slinton 		0,	RLEFT|RESCC,
95616937Sralph 		"	OF2	AR,TAL\n",
9579705Slinton 
9589705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9599705Slinton 	SAREG|AWD,	TFLOAT,
9609705Slinton 	SAREG|AWD,	TFLOAT,
9619705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
9629705Slinton 		"	OF3	AR,AL,TA1\n",
9639705Slinton #endif
9649705Slinton 
9659705Slinton 	/* Default actions for hard trees ... */
9669705Slinton 
9679705Slinton # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,""
9689705Slinton 
9699705Slinton UNARY MUL, DF( UNARY MUL ),
9709705Slinton 
9719705Slinton INCR, DF(INCR),
9729705Slinton 
9739705Slinton DECR, DF(INCR),
9749705Slinton 
9759705Slinton ASSIGN, DF(ASSIGN),
9769705Slinton 
9779705Slinton STASG, DF(STASG),
9789705Slinton 
9799705Slinton FLD, DF(FLD),
9809705Slinton 
9819705Slinton OPLEAF, DF(NAME),
9829705Slinton 
9839705Slinton OPLOG,	FORCC,
9849705Slinton 	SANY,	TANY,
9859705Slinton 	SANY,	TANY,
9869705Slinton 		REWRITE,	BITYPE,
9879705Slinton 		"",
9889705Slinton 
9899705Slinton OPLOG,	DF(NOT),
9909705Slinton 
9919705Slinton COMOP, DF(COMOP),
9929705Slinton 
9939705Slinton INIT, DF(INIT),
9949705Slinton 
9959705Slinton OPUNARY, DF(UNARY MINUS),
9969705Slinton 
9979705Slinton 
9989705Slinton ASG OPANY, DF(ASG PLUS),
9999705Slinton 
10009705Slinton OPANY, DF(BITYPE),
10019705Slinton 
10029705Slinton FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	"help; I'm in trouble\n" };
1003