xref: /csrg-svn/old/pcc/ccom.vax/table.c (revision 32970)
117740Sralph #ifndef lint
2*32970Sdonn static char *sccsid ="@(#)table.c	1.26 (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 
79*32970Sdonn SCONV,	FORARG,
80*32970Sdonn 	SAREG|AWD,	TWORD,
81*32970Sdonn 	SANY,	TWORD,
82*32970Sdonn 		0,	RNULL,
83*32970Sdonn 		"	pushl	AL\n",
849705Slinton 
85*32970Sdonn SCONV,	FORARG,
86*32970Sdonn 	SAREG|AWD,	TANY,
87*32970Sdonn 	SANY,	TANY,
88*32970Sdonn 		0,	RNULL,
89*32970Sdonn 		"	ZV\n",
90*32970Sdonn 
919705Slinton INIT,	FOREFF,
929705Slinton 	SCON,	TANY,
939705Slinton 	SANY,	TWORD,
949705Slinton 		0,	RNOP,
959705Slinton 		"	.long	CL\n",
969705Slinton 
979705Slinton INIT,	FOREFF,
989705Slinton 	SCON,	TANY,
999705Slinton 	SANY,	TSHORT|TUSHORT,
1009705Slinton 		0,	RNOP,
1019705Slinton 		"	.word	CL\n",
1029705Slinton 
1039705Slinton INIT,	FOREFF,
1049705Slinton 	SCON,	TANY,
1059705Slinton 	SANY,	TCHAR|TUCHAR,
1069705Slinton 		0,	RNOP,
1079705Slinton 		"	.byte	CL\n",
1089705Slinton 
1099705Slinton 	/* for the use of fortran only */
1109705Slinton 
1119705Slinton GOTO,	FOREFF,
1129705Slinton 	SCON,	TANY,
1139705Slinton 	SANY,	TANY,
1149705Slinton 		0,	RNOP,
1159705Slinton 		"	jbr	CL\n",
1169705Slinton 
1179705Slinton GOTO,	FOREFF,
11817740Sralph 	SNAME|SOREG,	TANY,
1199705Slinton 	SANY,	TANY,
1209705Slinton 		0,	RNOP,
1219705Slinton 		"	jmp	*AL\n",
1229705Slinton 
1239705Slinton GOTO,	FOREFF,
1249705Slinton 	SAREG,	TANY,
1259705Slinton 	SANY,	TANY,
1269705Slinton 		0,	RNOP,
1279705Slinton 		"	jmp	(AL)\n",
1289705Slinton 
1299705Slinton STARG,	FORARG,
1309705Slinton 	SCON|SOREG,	TANY,
1319705Slinton 	SANY,	TANY,
1329705Slinton 		0,	RNULL,
1339705Slinton 		"	subl2	ZT,sp\nZS",
1349705Slinton 
1359705Slinton STASG,	FOREFF,
1369705Slinton 	SNAME|SOREG,	TANY,
1379705Slinton 	SCON|SAREG,	TANY,
1389705Slinton 		0,	RNOP,
1399705Slinton 		"ZS",
1409705Slinton 
1419705Slinton STASG,	INAREG,
1429705Slinton 	SNAME|SOREG,	TANY,
1439705Slinton 	SCON,	TANY,
1449705Slinton 		NAREG,	RESC1,
1459705Slinton 		"ZS	movl	AR,A1\n",
1469705Slinton 
1479705Slinton STASG,	INAREG,
1489705Slinton 	SNAME|SOREG,	TANY,
1499705Slinton 	SAREG,	TANY,
1509705Slinton 		0,	RRIGHT,
1519705Slinton 		"	pushl	AR\nZS	movl	(sp)+,AR\n",
1529705Slinton 
1539705Slinton FLD,	INAREG|INTAREG,
1549705Slinton 	SANY,	TANY,
1559705Slinton 	SFLD,	ANYSIGNED,
1569705Slinton 		NAREG|NASR,	RESC1,
1579705Slinton 		"	extv	$H,$S,AR,A1\n",
1589705Slinton 
1599705Slinton FLD,	INAREG|INTAREG,
1609705Slinton 	SANY,	TANY,
1619705Slinton 	SFLD,	ANYUSIGNED,
1629705Slinton 		NAREG|NASR,	RESC1,
1639705Slinton 		"	extzv	$H,$S,AR,A1\n",
1649705Slinton 
1659705Slinton FLD,	FORARG,
1669705Slinton 	SANY,	TANY,
1679705Slinton 	SFLD,	ANYSIGNED,
1689705Slinton 		0,	RNULL,
1699705Slinton 		"	extv	$H,$S,AR,-(sp)\n",
1709705Slinton 
1719705Slinton FLD,	FORARG,
1729705Slinton 	SANY,	TANY,
1739705Slinton 	SFLD,	ANYUSIGNED,
1749705Slinton 		0,	RNULL,
1759705Slinton 		"	extzv	$H,$S,AR,-(sp)\n",
1769705Slinton 
1779705Slinton OPLOG,	FORCC,
1789705Slinton 	SAREG|AWD,	TWORD,
1799705Slinton 	SAREG|AWD,	TWORD,
1809705Slinton 		0,	RESCC,
1819705Slinton 		"	cmpl	AL,AR\nZP",
1829705Slinton 
1839705Slinton OPLOG,	FORCC,
18419934Smckusick 	SAREG|AWD,	TSHORT,
18519934Smckusick 	SAREG|AWD,	TSHORT,
1869705Slinton 		0,	RESCC,
1879705Slinton 		"	cmpw	AL,AR\nZP",
1889705Slinton 
1899705Slinton OPLOG,	FORCC,
19019934Smckusick 	SAREG|AWD,	TUSHORT,
19119934Smckusick 	SAREG|AWD,	TUSHORT,
1929705Slinton 		0,	RESCC,
19319934Smckusick 		"	cmpw	AL,AR\nZP",
19419934Smckusick 
19519934Smckusick OPLOG,	FORCC,
19619934Smckusick 	SAREG|AWD,	TCHAR,
19719934Smckusick 	SAREG|AWD,	TCHAR,
19819934Smckusick 		0,	RESCC,
1999705Slinton 		"	cmpb	AL,AR\nZP",
2009705Slinton 
2019705Slinton OPLOG,	FORCC,
20219934Smckusick 	SAREG|AWD,	TUCHAR,
20319934Smckusick 	SAREG|AWD,	TUCHAR,
20419934Smckusick 		0,	RESCC,
20519934Smckusick 		"	cmpb	AL,AR\nZP",
20619934Smckusick 
20719934Smckusick OPLOG,	FORCC,
20832964Sdonn 	SAREG|AWD,	TSHORT,
20932964Sdonn 	SSCON,	ANYSIGNED,
2109705Slinton 		0,	RESCC,
2119705Slinton 		"	cmpw	AL,AR\nZP",
2129705Slinton 
2139705Slinton OPLOG,	FORCC,
21432964Sdonn 	SAREG|AWD,	TUSHORT,
21532964Sdonn 	SSCON,	ANYUSIGNED,
2169705Slinton 		0,	RESCC,
21732964Sdonn 		"	cmpw	AL,AR\nZP",
21832964Sdonn 
21932964Sdonn OPLOG,	FORCC,
22032964Sdonn 	SAREG|AWD,	TCHAR,
22132964Sdonn 	SCCON,	ANYSIGNED,
22232964Sdonn 		0,	RESCC,
2239705Slinton 		"	cmpb	AL,AR\nZP",
2249705Slinton 
2259705Slinton OPLOG,	FORCC,
22632964Sdonn 	SAREG|AWD,	TUCHAR,
22732964Sdonn 	SCCON,	ANYUSIGNED,
22832964Sdonn 		0,	RESCC,
22932964Sdonn 		"	cmpb	AL,AR\nZP",
23032964Sdonn 
23132964Sdonn OPLOG,	FORCC,
2329705Slinton 	SAREG|AWD,	TDOUBLE,
2339705Slinton 	SAREG|AWD,	TDOUBLE,
2349705Slinton 		0,	RESCC,
2359705Slinton 		"	cmpd	AL,AR\nZP",
2369705Slinton 
2379705Slinton OPLOG,	FORCC,
2389705Slinton 	SAREG|AWD,	TDOUBLE,
2399705Slinton 	SAREG|AWD,	TFLOAT,
24017205Sralph 		NAREG|NASR,	RESCC,
2419705Slinton 		"	cvtfd	AR,A1\n	cmpd	AL,A1\nZP",
2429705Slinton 
2439705Slinton OPLOG,	FORCC,
2449705Slinton 	SAREG|AWD,	TFLOAT,
2459705Slinton 	SAREG|AWD,	TDOUBLE,
24617205Sralph 		NAREG|NASL,	RESCC,
2479705Slinton 		"	cvtfd	AL,A1\n	cmpd	A1,AR\nZP",
2489705Slinton 
2499705Slinton OPLOG,	FORCC,
2509705Slinton 	SAREG|AWD,	TFLOAT,
2519705Slinton 	SAREG|AWD,	TFLOAT,
2529705Slinton 		0,	RESCC,
2539705Slinton 		"	cmpf	AL,AR\nZP",
2549705Slinton 
2559705Slinton CCODES,	INAREG|INTAREG,
2569705Slinton 	SANY,	TANY,
2579705Slinton 	SANY,	TANY,
2589705Slinton 		NAREG,	RESC1,
2599705Slinton 		"	movl	$1,A1\nZN",
2609705Slinton 
2619705Slinton UNARY CALL,	INTAREG,
2629705Slinton 	SCON,	TANY,
26316182Sralph 	SANY,	TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE,
26416182Sralph 		NAREG|NASL,	RESC1,
26516182Sralph 		"	calls	ZC,CL\n",
26616182Sralph 
26716182Sralph UNARY CALL,	INTAREG,
2689705Slinton 	SAREG,	TANY,
2699705Slinton 	SANY,	TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE,
2709705Slinton 		NAREG|NASL,	RESC1,	/* should be 0 */
2719705Slinton 		"	calls	ZC,(AL)\n",
2729705Slinton 
2739705Slinton UNARY CALL,	INAREG|INTAREG,
2749705Slinton 	SNAME,	TANY,
2759705Slinton 	SANY,	TANY,
2769705Slinton 		NAREG|NASL,	RESC1,	/* really reg 0 */
2779705Slinton 		"	calls	ZC,*AL\n",
2789705Slinton 
2799705Slinton UNARY CALL,	INAREG|INTAREG,
2809705Slinton 	SSOREG,	TANY,
2819705Slinton 	SANY,	TANY,
2829705Slinton 		NAREG|NASL,	RESC1,	/* really reg 0 */
2839705Slinton 		"	calls	ZC,*AL\n",
2849705Slinton 
2859705Slinton ASG RS,	INAREG|FOREFF|FORCC,
2869705Slinton 	SAREG,	TWORD,
28732964Sdonn 	SCON,	TINT|TUNSIGNED,
2889705Slinton 		0,	RLEFT|RESCC,
2899705Slinton 		"	extzv	AR,ZU,AL,AL\n",
2909705Slinton 
2919705Slinton ASG RS,	INAREG|FOREFF|FORCC,
2929705Slinton 	SAREG,	TWORD,
2939705Slinton 	SAREG,	ANYFIXED,
2949705Slinton 		NAREG,	RLEFT|RESCC,
2959705Slinton 		"	subl3	AR,$32,A1\n	extzv	AR,A1,AL,AL\n",
2969705Slinton 
2979705Slinton ASG RS,	INAREG|FOREFF|FORCC,
2989705Slinton 	SAREG,	TWORD,
2999705Slinton 	SAREG|AWD,	TWORD,
3009705Slinton 		NAREG,	RLEFT|RESCC,
3019705Slinton 		"	subl3	AR,$32,A1\n	extzv	AR,A1,AL,AL\n",
3029705Slinton 
3039705Slinton RS,	INAREG|INTAREG|FORCC,
3049705Slinton 	SAREG,	TWORD,
30532964Sdonn 	SCON,	TINT|TUNSIGNED,
3069705Slinton 		NAREG|NASL,	RESC1|RESCC,
3079705Slinton 		"	extzv	AR,ZU,AL,A1\n",
3089705Slinton 
3099705Slinton ASG LS,	INAREG|FOREFF|FORCC,
3109705Slinton 	SAREG|AWD,	TWORD,
3119705Slinton 	SAREG|NIAWD,	ANYSIGNED|ANYUSIGNED,
3129705Slinton 		0,	RLEFT|RESCC,
3139705Slinton 		"	ashl	AR,AL,AL\n",
3149705Slinton 
3159705Slinton ASG LS,	INAREG|FOREFF|FORCC,
3169705Slinton 	SAREG|AWD,	TWORD,
3179705Slinton 	SSOREG,	ANYSIGNED|ANYUSIGNED,
3189705Slinton 		0,	RLEFT|RESCC,
3199705Slinton 		"	ashl	AR,AL,AL\n",
3209705Slinton 
3219705Slinton ASG LS,	INAREG|FOREFF|FORCC,
3229705Slinton 	SAREG|AWD,	TWORD,
3239705Slinton 	SOREG,	ANYSIGNED|ANYUSIGNED,
3249705Slinton 		NAREG,	RLEFT|RESCC,
3259705Slinton 		"	ZB	AR,A1\n	ashl	A1,AL,AL\n",
3269705Slinton 
3279705Slinton LS,	INAREG|INTAREG|FORCC,
3289705Slinton 	SAREG|AWD,	TWORD,
3299705Slinton 	SAREG|NIAWD,	ANYSIGNED|ANYUSIGNED,
3309705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
3319705Slinton 		"	ashl	AR,AL,A1\n",
3329705Slinton 
3339705Slinton LS,	INAREG|INTAREG|FORCC,
3349705Slinton 	SAREG|AWD,	TWORD,
3359705Slinton 	SSOREG,	ANYSIGNED|ANYUSIGNED,
3369705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
3379705Slinton 		"	ashl	AR,AL,A1\n",
3389705Slinton 
3399705Slinton LS,	INAREG|INTAREG|FORCC,
3409705Slinton 	SAREG|AWD,	TWORD,
3419705Slinton 	SOREG,	ANYSIGNED|ANYUSIGNED,
3429705Slinton 		NAREG|NASR,	RESC1|RESCC,
3439705Slinton 		"	ZB	AR,A1\n	ashl	A1,AL,A1\n",
3449705Slinton 
3459705Slinton INCR,	FOREFF,
3469705Slinton 	AWD,	TANY,
34732969Sdonn 	SCON|SNAME,	TANY,
3489705Slinton 		0,	RLEFT,
3499705Slinton 		"	ZE\n",
3509705Slinton 
3519705Slinton DECR,	FOREFF,
3529705Slinton 	AWD,	TANY,
35332969Sdonn 	SCON|SNAME,	TANY,
3549705Slinton 		0,	RLEFT,
3559705Slinton 		"	ZE\n",
3569705Slinton 
3579705Slinton INCR,	FOREFF,
3589705Slinton 	SAREG,	TWORD,
35932969Sdonn 	SCON|SNAME,	TANY,
3609705Slinton 		0,	RLEFT,
3619705Slinton 		"	ZE\n",
3629705Slinton 
3639705Slinton DECR,	FOREFF,
3649705Slinton 	SAREG,	TWORD,
36532969Sdonn 	SCON|SNAME,	TANY,
3669705Slinton 		0,	RLEFT,
3679705Slinton 		"	ZE\n",
3689705Slinton 
3699705Slinton /* jwf INCR and DECR for SAREG TCHAR|TSHORT matched by ASG PLUS etc */
3709705Slinton 
3719705Slinton INCR,	INAREG|INTAREG,
3729705Slinton 	AWD,	TANY,
37332969Sdonn 	SCON|SNAME,	TANY,
3749705Slinton 		NAREG,	RESC1,
3759705Slinton 		"	ZD\n",
3769705Slinton 
3779705Slinton DECR,	INAREG|INTAREG,
3789705Slinton 	AWD,	TANY,
37932969Sdonn 	SCON|SNAME,	TANY,
3809705Slinton 		NAREG,	RESC1,
3819705Slinton 		"	ZD\n",
3829705Slinton 
3839705Slinton INCR,	INAREG|INTAREG,
3849705Slinton 	SAREG,	TWORD,
38532969Sdonn 	SCON|SNAME,	TANY,
3869705Slinton 		NAREG,	RESC1,
3879705Slinton 		"	ZD\n",
3889705Slinton 
3899705Slinton DECR,	INAREG|INTAREG,
3909705Slinton 	SAREG,	TWORD,
39132969Sdonn 	SCON|SNAME,	TANY,
3929705Slinton 		NAREG,	RESC1,
3939705Slinton 		"	ZD\n",
3949705Slinton 
3959705Slinton ASSIGN,	INAREG|FOREFF|FORCC,
39616182Sralph 	SAREG|AWD,	TDOUBLE,
39716182Sralph 	SAREG|AWD,	TUCHAR|TUSHORT,
39816182Sralph 		NAREG|NASR,	RLEFT|RESCC,
39916182Sralph 		"	movzZRl	AR,A1\n	cvtld	A1,AL\n",
40016182Sralph 
40116182Sralph ASSIGN,	INAREG|FOREFF|FORCC,
40216182Sralph 	SAREG|AWD,	TFLOAT,
40316182Sralph 	SAREG|AWD,	TUCHAR|TUSHORT,
40416182Sralph 		NAREG|NASR,	RLEFT|RESCC,
40516182Sralph 		"	movzZRl	AR,A1\n	cvtlf	A1,AL\n",
40616182Sralph 
40716182Sralph ASSIGN,	INAREG|FOREFF|FORCC,
4089705Slinton 	SAREG|AWD,	TANY,
4099705Slinton 	SAREG|AWD,	TANY,
41025582Sbloom 		0,	RLEFT|RESCC,
4119705Slinton 		"	ZA\n",
4129705Slinton 
41332958Sdonn ASSIGN,	FOREFF,
4149705Slinton 	SFLD,	TANY,
4159705Slinton 	SAREG|AWD,	TWORD,
41632958Sdonn 		0,	RNOP,
4179705Slinton 		"	insv	AR,$H,$S,AL\n",
4189705Slinton 
41932958Sdonn ASSIGN,	INAREG,
42032960Sdonn 	SFLD,	ANYSIGNED,
42132958Sdonn 	SAREG|AWD,	TWORD,
42232958Sdonn 		NAREG,	RESC1,
42332958Sdonn 		"	insv	AR,$H,$S,AL\n	extv	$H,$S,AL,A1\n",
42432958Sdonn 
42532960Sdonn ASSIGN,	INAREG,
42632960Sdonn 	SFLD,	ANYUSIGNED,
42732960Sdonn 	SAREG|AWD,	TWORD,
42832960Sdonn 		NAREG,	RESC1,
42932960Sdonn 		"	insv	AR,$H,$S,AL\n	extzv	$H,$S,AL,A1\n",
43032960Sdonn 
4319705Slinton ASSIGN,	INAREG|FOREFF|FORCC,
4329705Slinton 	SAREG|AWD,	TWORD,
4339705Slinton 	SFLD,	ANYSIGNED,
4349705Slinton 		0,	RLEFT|RESCC,
4359705Slinton 		"	extv	$H,$S,AR,AL\n",
4369705Slinton 
4379705Slinton ASSIGN,	INAREG|FOREFF|FORCC,
4389705Slinton 	SAREG|AWD,	TWORD,
4399705Slinton 	SFLD,	ANYUSIGNED,
4409705Slinton 		0,	RLEFT|RESCC,
4419705Slinton 		"	extzv	$H,$S,AR,AL\n",
4429705Slinton 
4439705Slinton /* dummy UNARY MUL entry to get U* to possibly match OPLTYPE */
4449705Slinton UNARY MUL,	FOREFF,
4459705Slinton 	SCC,	TANY,
4469705Slinton 	SCC,	TANY,
4479705Slinton 		0,	RNULL,
4489705Slinton 		"	HELP HELP HELP\n",
4499705Slinton 
45032959Sdonn OREG,	INTEMP,
45132959Sdonn 	SANY,	TANY,
45232959Sdonn 	SOREG,	TDOUBLE,
45332959Sdonn 		2*NTEMP,	RESC1,
45432959Sdonn 		"	movd	AR,A1\n",
45532959Sdonn 
45632959Sdonn OREG,	INTEMP,
45732959Sdonn 	SANY,	TANY,
45832959Sdonn 	SOREG,	TANY,
45932959Sdonn 		NTEMP,	RESC1,
46032959Sdonn 		"	movZF	AR,A1\n",
46132959Sdonn 
4629705Slinton REG,	INTEMP,
4639705Slinton 	SANY,	TANY,
4649705Slinton 	SAREG,	TDOUBLE,
4659705Slinton 		2*NTEMP,	RESC1,
4669705Slinton 		"	movd	AR,A1\n",
4679705Slinton 
4689705Slinton REG,	INTEMP,
4699705Slinton 	SANY,	TANY,
4709705Slinton 	SAREG,	TANY,
4719705Slinton 		NTEMP,	RESC1,
4729705Slinton 		"	movZF	AR,A1\n",
4739705Slinton 
47417740Sralph #if defined(FORT) || defined(SPRECC)
47517740Sralph REG,	FORARG,
4769705Slinton 	SANY,	TANY,
4779705Slinton 	SAREG,	TFLOAT,
4789705Slinton 		0,	RNULL,
4799705Slinton 		"	cvtfd	AR,-(sp)\n",
4809705Slinton 
4819705Slinton REG,	FORARG,
4829705Slinton 	SANY,	TANY,
4839705Slinton 	SAREG,	TDOUBLE,
4849705Slinton 		0,	RNULL,
4859705Slinton 		"	movZR	AR,-(sp)\n",
4869705Slinton #endif
4879705Slinton 
4889705Slinton OPLEAF,	FOREFF,
4899705Slinton 	SANY,	TANY,
4909705Slinton 	SAREG|AWD,	TANY,
4919705Slinton 		0,	RLEFT,
4929705Slinton 		"",
4939705Slinton 
4949705Slinton OPLTYPE,	INAREG|INTAREG,
4959705Slinton 	SANY,	TANY,
4969705Slinton 	SANY,	TANY,
4979705Slinton 		NAREG|NASR,	RESC1,
4989705Slinton 		"	ZA\n",
4999705Slinton 
5009705Slinton OPLTYPE,	FORCC,
5019705Slinton 	SANY,	TANY,
5029705Slinton 	SANY,	TANY,
5039705Slinton 		0,	RESCC,
5049705Slinton 		"	tstZR	AR\n",
5059705Slinton 
5069705Slinton OPLTYPE,	FORARG,
5079705Slinton 	SANY,	TANY,
5089705Slinton 	SANY,	TWORD,
5099705Slinton 		0,	RNULL,
5109705Slinton 		"	pushl	AR\n",
5119705Slinton 
5129705Slinton OPLTYPE,	FORARG,
5139705Slinton 	SANY,	TANY,
5149705Slinton 	SANY,	TANY,
5159705Slinton 		0,	RNULL,
516*32970Sdonn 		"	ZV\n",
5179705Slinton 
51817740Sralph #if defined(FORT) || defined(SPRECC)
5199705Slinton UNARY MINUS,	INTAREG|FORCC,
52024417Smckusick 	SAREG|AWD,	TFLOAT,
52116182Sralph 	SANY,	TANY,
52216182Sralph 		NAREG|NASL,	RESC1|RESCC,
52316182Sralph 		"	mnegZL	TAL,A1\n",
52416182Sralph 
52524417Smckusick #endif
52616182Sralph 
52716182Sralph UNARY MINUS,	INTAREG|FORCC,
5289705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG|TDOUBLE,
5299705Slinton 	SANY,	TANY,
5309705Slinton 		NAREG|NASL,	RESC1|RESCC,
5319705Slinton 		"	mnegZL	AL,A1\n",
5329705Slinton 
5339705Slinton COMPL,	INTAREG|FORCC,
53423479Smckusick 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
5359705Slinton 	SANY,	TANY,
5369705Slinton 		NAREG|NASL,	RESC1|RESCC,
5379705Slinton 		"	mcomZL	AL,A1\n",
5389705Slinton 
5399705Slinton COMPL,	INTAREG|FORCC,
54032968Sdonn 	SAREG|AWD,	ANYSIGNED,
5419705Slinton 	SANY,	TANY,
5429705Slinton 		NAREG|NASL,	RESC1|RESCC,
5439705Slinton 		"	cvtZLl	AL,A1\n	mcoml	A1,A1\n",
5449705Slinton 
54532968Sdonn COMPL,	INTAREG|FORCC,
54632968Sdonn 	SAREG|AWD,	ANYUSIGNED,
54732968Sdonn 	SANY,	TANY,
54832968Sdonn 		NAREG|NASL,	RESC1|RESCC,
54932968Sdonn 		"	movzZLl	AL,A1\n	mcoml	A1,A1\n",
55032968Sdonn 
5519705Slinton AND,	FORCC,
5529705Slinton 	SAREG|AWD,	TWORD,
5539705Slinton 	SCON,	TWORD,
5549705Slinton 		0,	RESCC,
5559705Slinton 		"	bitl	ZZ,AL\n",
5569705Slinton 
5579705Slinton AND,	FORCC,
5589705Slinton 	SAREG|AWD,	TSHORT|TUSHORT,
5599705Slinton 	SSCON,	TWORD,
5609705Slinton 		0,	RESCC,
5619705Slinton 		"	bitw	ZZ,AL\n",
5629705Slinton 
5639705Slinton AND,	FORCC,
5649705Slinton 	SAREG|AWD,	TCHAR|TUCHAR,
5659705Slinton 	SCCON,	TWORD,
5669705Slinton 		0,	RESCC,
5679705Slinton 		"	bitb	ZZ,AL\n",
5689705Slinton 
5699705Slinton ASG AND,	INAREG|FOREFF|FORCC,
5709705Slinton 	SAREG,	TWORD,
5719705Slinton 	SCON,	TWORD,
5729705Slinton 		0,	RLEFT|RESCC,
5739705Slinton 		"	bicl2	AR,AL\n",
5749705Slinton 
57532962Sdonn DIV,	INAREG|FOREFF|FORCC,
57632962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
57732967Sdonn 	SCON,	ANYUSIGNED,
57832962Sdonn 		NAREG|NEVEN,	RESC1|RESCC,
57932963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,A1,U1\n",
58032962Sdonn 
58132962Sdonn ASG DIV,	INAREG|FOREFF|FORCC,
58232962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
58332967Sdonn 	SMCON,	ANYUSIGNED,
58432962Sdonn 		0,	RLEFT|RESCC,
58532962Sdonn 		"	ZJ\n",
58632962Sdonn 
58732962Sdonn ASG DIV,	INAREG|FOREFF|FORCC,
58832962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
58932967Sdonn 	SCON,	ANYUSIGNED,
59032962Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
59132963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,AL,U1\n",
59232962Sdonn 
59332965Sdonn ASG DIV,	INAREG|FOREFF|FORCC,
59432965Sdonn 	SAREG|AWD,	TINT|TLONG,
59532965Sdonn 	SMCON,	ANYUSIGNED,
59632965Sdonn 		0,	RLEFT|RESCC,
59732965Sdonn 		"	ZJ\n",
59832965Sdonn 
59932965Sdonn ASG DIV,	INAREG|FOREFF|FORCC,
60032965Sdonn 	SAREG|AWD,	TINT|TLONG,
60132965Sdonn 	SCON,	ANYUSIGNED,
60232965Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
60332965Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,AL,U1\n",
60432965Sdonn 
60532962Sdonn MOD,	INAREG|INTAREG,
60632962Sdonn 	SAREG|AWD,	TINT|TLONG,
60732962Sdonn 	SAREG|AWD,	TINT|TLONG,
60832962Sdonn 		NAREG,	RESC1,
60932962Sdonn 		"	divl3	AR,AL,A1\n	mull2	AR,A1\n	subl3	A1,AL,A1\n",
61032962Sdonn 
61132962Sdonn MOD,	INAREG|FOREFF,
61232962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
61332967Sdonn 	SMCON,	ANYUSIGNED,
61432962Sdonn 		NAREG|NASL,	RLEFT|RESC1,
61532962Sdonn 		"	ZJ\n",
61632962Sdonn 
61732962Sdonn MOD,	INAREG|FOREFF,
61832962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
61932967Sdonn 	SCON,	ANYUSIGNED,
62032962Sdonn 		NAREG|NEVEN,	RESC1|RESCC,
62132963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,U1,A1\n",
62232962Sdonn 
62332967Sdonn /* should only see UNSIGNED lhs here if converted from UCHAR/USHORT lhs */
62432967Sdonn ASG MOD,	INAREG|FOREFF|FORCC,
62532967Sdonn 	SAREG|AWD,	TINT|TLONG|TUNSIGNED|TULONG,
62632962Sdonn 	SAREG|AWD,	TINT|TLONG,
62732962Sdonn 		NAREG,	RLEFT|RESCC,
62832962Sdonn 		"	divl3	AR,AL,A1\n	mull2	AR,A1\n	subl2	A1,AL\n",
62932962Sdonn 
63032962Sdonn ASG MOD,	INAREG|FOREFF,
63132962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
63232967Sdonn 	SMCON,	ANYUSIGNED,
63332962Sdonn 		0,	RLEFT|RESCC,
63432962Sdonn 		"	ZJ\n",
63532962Sdonn 
63632962Sdonn ASG MOD,	INAREG|FOREFF,
63732962Sdonn 	SAREG|AWD,	TUNSIGNED|TULONG,
63832967Sdonn 	SCON,	ANYUSIGNED,
63932962Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
64032963Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,A1,AL\n",
64132962Sdonn 
64232965Sdonn ASG MOD,	INAREG|FOREFF,
64332965Sdonn 	SAREG|AWD,	TINT|TLONG,
64432965Sdonn 	SMCON,	ANYUSIGNED,
64532965Sdonn 		0,	RLEFT|RESCC,
64632965Sdonn 		"	ZJ\n",
64732965Sdonn 
64832965Sdonn ASG MOD,	INAREG|FOREFF,
64932965Sdonn 	SAREG|AWD,	TINT|TLONG,
65032965Sdonn 	SCON,	ANYUSIGNED,
65132965Sdonn 		NAREG|NEVEN,	RLEFT|RESCC,
65232965Sdonn 		"	movl	AL,A1\n	clrl	U1\n	ediv	AR,A1,A1,AL\n",
65332965Sdonn 
6549705Slinton ASG OPMUL,	INAREG|FOREFF|FORCC,
6559705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6569705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6579705Slinton 		0,	RLEFT|RESCC,
6589705Slinton 		"	OL2	AR,AL\n",
6599705Slinton 
6609705Slinton OPMUL,	INAREG|INTAREG|FORCC,
6619705Slinton 	STAREG,	TINT|TUNSIGNED|TLONG|TULONG,
6629705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6639705Slinton 		0,	RLEFT|RESCC,
6649705Slinton 		"	OL2	AR,AL\n",
6659705Slinton 
6669705Slinton OPMUL,	INAREG|INTAREG|FORCC,
6679705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6689705Slinton 	SAREG|AWD,	TINT|TUNSIGNED|TLONG|TULONG,
6699705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
6709705Slinton 		"	OL3	AR,AL,A1\n",
6719705Slinton 
6729705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6739705Slinton 	SAREG,	TPOINT|TINT|TLONG|TUNSIGNED|TULONG,
67432964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
6759705Slinton 		0,	RLEFT|RESCC,
6769705Slinton 		"	incZL	AL\n",
6779705Slinton 
6789705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6799705Slinton 	AWD,	ANYSIGNED|ANYUSIGNED,
68032964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
6819705Slinton 		0,	RLEFT|RESCC,
6829705Slinton 		"	incZL	AL\n",
6839705Slinton 
6849705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6859705Slinton 	SAREG,	TSHORT|TCHAR,
68632964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
6879705Slinton 		0,	RLEFT|RESCC,
6889705Slinton 		"	incZL	AL\n	cvtZLl	AL,AL\n",
6899705Slinton 
6909705Slinton ASG PLUS,	INAREG|FOREFF|FORCC,
6919705Slinton 	SAREG,	TUSHORT|TUCHAR,
69232964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
6939705Slinton 		0,	RLEFT|RESCC,
6949705Slinton 		"	incZL	AL\n	movzZLl	AL,AL\n",
6959705Slinton 
6969705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
6979705Slinton 	SAREG,	TPOINT|TINT|TLONG|TUNSIGNED|TULONG,
69832964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
6999705Slinton 		0,	RLEFT|RESCC,
7009705Slinton 		"	decZL	AL\n",
7019705Slinton 
7029705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7039705Slinton 	AWD,	ANYSIGNED|ANYUSIGNED,
70432964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7059705Slinton 		0,	RLEFT|RESCC,
7069705Slinton 		"	decZL	AL\n",
7079705Slinton 
7089705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7099705Slinton 	SAREG,	TSHORT|TCHAR,
71032964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7119705Slinton 		0,	RLEFT|RESCC,
7129705Slinton 		"	decZL	AL\n	cvtZLl	AL,AL\n",
7139705Slinton 
7149705Slinton ASG MINUS,	INAREG|FOREFF|FORCC,
7159705Slinton 	SAREG,	TUSHORT|TUCHAR,
71632964Sdonn 	SONE,	TINT|TUNSIGNED|TLONG|TULONG,
7179705Slinton 		0,	RLEFT|RESCC,
7189705Slinton 		"	decZL	AL\n	movzZLl	AL,AL\n",
7199705Slinton 
7209705Slinton PLUS,	INAREG|INTAREG|FORCC,
7219705Slinton 	STAREG,	TWORD,
7229705Slinton 	SONE,	TWORD,
7239705Slinton 		0,	RLEFT|RESCC,
7249705Slinton 		"	incZL	AL\n",
7259705Slinton 
7269705Slinton PLUS,	INAREG|INTAREG|FORCC,
7279705Slinton 	STAREG,	TSHORT|TCHAR,
7289705Slinton 	SONE,	TWORD,
7299705Slinton 		0,	RLEFT|RESCC,
7309705Slinton 		"	incZL	AL\n	cvtZLl	AL,AL\n",
7319705Slinton 
7329705Slinton PLUS,	INAREG|INTAREG|FORCC,
7339705Slinton 	STAREG,	TUSHORT|TUCHAR,
7349705Slinton 	SONE,	TWORD,
7359705Slinton 		0,	RLEFT|RESCC,
7369705Slinton 		"	incZL	AL\n	movzZLl	AL,AL\n",
7379705Slinton 
7389705Slinton MINUS,	INAREG|INTAREG|FORCC,
7399705Slinton 	STAREG,	TWORD,
7409705Slinton 	SONE,	TWORD,
7419705Slinton 		0,	RLEFT|RESCC,
7429705Slinton 		"	decZL	AL\n",
7439705Slinton 
7449705Slinton MINUS,	INAREG|INTAREG|FORCC,
7459705Slinton 	STAREG,	TSHORT|TCHAR,
7469705Slinton 	SONE,	TWORD,
7479705Slinton 		0,	RLEFT|RESCC,
7489705Slinton 		"	decZL	AL\n	cvtZLl	AL,AL\n",
7499705Slinton 
7509705Slinton MINUS,	INAREG|INTAREG|FORCC,
7519705Slinton 	STAREG,	TUSHORT|TUCHAR,
7529705Slinton 	SONE,	TWORD,
7539705Slinton 		0,	RLEFT|RESCC,
7549705Slinton 		"	decZL	AL\n	movzZLl	AL,AL\n",
7559705Slinton 
7569705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7579705Slinton 	SAREG|AWD,	TWORD,
7589705Slinton 	SAREG|AWD,	TWORD,
7599705Slinton 		0,	RLEFT|RESCC,
7609705Slinton 		"	OL2	AR,AL\n",
7619705Slinton 
7629705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7639705Slinton 	SAREG,	TWORD,
7649705Slinton 	SAREG,	TSHORT|TUSHORT|TCHAR|TUCHAR,
7659705Slinton 		0,	RLEFT|RESCC,
7669705Slinton 		"	OL2	AR,AL\n",
7679705Slinton 
7689705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7699705Slinton 	AWD,	TSHORT|TUSHORT,
77032961Sdonn 	SSOREG,	TSHORT|TUSHORT|TINT|TUNSIGNED,
7719705Slinton 		0,	RLEFT|RESCC,
7729705Slinton 		"	OW2	AR,AL\n",
7739705Slinton 
7749705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7759705Slinton 	AWD,	TSHORT|TUSHORT,
77632961Sdonn 	SAREG|SNAME|STARNM,	TSHORT|TUSHORT|TINT|TUNSIGNED,
7779705Slinton 		0,	RLEFT|RESCC,
7789705Slinton 		"	OW2	AR,AL\n",
7799705Slinton 
7809705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
78132961Sdonn 	AWD,	TSHORT|TUSHORT,
78232961Sdonn 	SSCON,	ANYFIXED,
78332961Sdonn 		0,	RLEFT|RESCC,
78432961Sdonn 		"	OW2	AR,AL\n",
78532961Sdonn 
78632961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
78732961Sdonn 	AWD,	TSHORT|TUSHORT,
78832961Sdonn 	AWD,	TSHORT|TUSHORT,
78932961Sdonn 		0,	RLEFT|RESCC,
79032961Sdonn 		"	OW2	AR,AL\n",
79132961Sdonn 
79232961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
7939705Slinton 	AWD,	TCHAR|TUCHAR,
79432961Sdonn 	SSOREG,	ANYFIXED,
7959705Slinton 		0,	RLEFT|RESCC,
7969705Slinton 		"	OB2	AR,AL\n",
7979705Slinton 
7989705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
7999705Slinton 	AWD,	TCHAR|TUCHAR,
80032961Sdonn 	SAREG|SNAME|STARNM,	ANYFIXED,
8019705Slinton 		0,	RLEFT|RESCC,
8029705Slinton 		"	OB2	AR,AL\n",
8039705Slinton 
8049705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
80532961Sdonn 	AWD,	TCHAR|TUCHAR,
80632961Sdonn 	SCCON,	ANYFIXED,
80732961Sdonn 		0,	RLEFT|RESCC,
80832961Sdonn 		"	OB2	AR,AL\n",
80932961Sdonn 
81032961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
81132961Sdonn 	AWD,	TCHAR|TUCHAR,
81232961Sdonn 	AWD,	TCHAR|TUCHAR,
81332961Sdonn 		0,	RLEFT|RESCC,
81432961Sdonn 		"	OB2	AR,AL\n",
81532961Sdonn 
81632961Sdonn ASG OPSIMP,	INAREG|FOREFF|FORCC,
8179705Slinton 	SAREG,	TSHORT,
8189705Slinton 	SAREG|AWD,	ANYFIXED,
8199705Slinton 		0,	RLEFT|RESCC,
8209705Slinton 		"	OW2	AR,AL\n	cvtZLl	AL,AL\n",
8219705Slinton 
8229705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8239705Slinton 	SAREG,	TUSHORT,
8249705Slinton 	SAREG|AWD,	ANYFIXED,
8259705Slinton 		0,	RLEFT|RESCC,
8269705Slinton 		"	OW2	AR,AL\n	movzZLl	AL,AL\n",
8279705Slinton 
8289705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8299705Slinton 	SAREG,	TCHAR,
8309705Slinton 	SAREG|AWD,	ANYFIXED,
8319705Slinton 		0,	RLEFT|RESCC,
8329705Slinton 		"	OB2	AR,AL\n	cvtZLl	AL,AL\n",
8339705Slinton 
8349705Slinton ASG OPSIMP,	INAREG|FOREFF|FORCC,
8359705Slinton 	SAREG,	TUCHAR,
8369705Slinton 	SAREG|AWD,	ANYFIXED,
8379705Slinton 		0,	RLEFT|RESCC,
8389705Slinton 		"	OB2	AR,AL\n	movzZLl	AL,AL\n",
8399705Slinton 
8409705Slinton OPSIMP,	INAREG|INTAREG|FORCC,
8419705Slinton 	STAREG,	ANYFIXED,
8429705Slinton 	SAREG|AWD,	TWORD,
8439705Slinton 		0,	RLEFT|RESCC,
8449705Slinton 		"	OL2	AR,AL\n",
8459705Slinton 
8469705Slinton OPSIMP,	INAREG|INTAREG|FORCC,
8479705Slinton 	SAREG|AWD,	TWORD,
8489705Slinton 	SAREG|AWD,	TWORD,
8499705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
8509705Slinton 		"	OL3	AR,AL,A1\n",
8519705Slinton 
8529705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
8539705Slinton 	SAREG|AWD,	TDOUBLE,
8549705Slinton 	SAREG|AWD,	TDOUBLE,
8559705Slinton 		0,	RLEFT|RESCC,
8569705Slinton 		"	OD2	AR,AL\n",
8579705Slinton 
8589705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
8599705Slinton 	SAREG|AWD,	TFLOAT,
8609705Slinton 	SAREG|AWD,	TFLOAT,
8619705Slinton 		0,	RLEFT|RESCC,
86217740Sralph #if defined(FORT) || defined(SPRECC)
86316937Sralph 		"	OF2	AR,TAL\n",
86416937Sralph #else
8659705Slinton 		"	OF2	AR,AL\n",
86616937Sralph #endif
8679705Slinton 
8689705Slinton ASG OPFLOAT,	INAREG|FOREFF|FORCC,
8699705Slinton 	SAREG|AWD,	TDOUBLE,
8709705Slinton 	SAREG|AWD,	TFLOAT,
8719705Slinton 		NAREG|NASR,	RLEFT|RESCC,
8729705Slinton 		"	cvtfd	AR,A1\n	OD2	A1,AL\n",
8739705Slinton 
8749705Slinton ASG OPFLOAT,	INAREG|INTAREG|FOREFF|FORCC,
8759705Slinton 	SAREG|AWD,	TFLOAT,
8769705Slinton 	SAREG|AWD,	TDOUBLE,
8779705Slinton 		NAREG,	RLEFT|RESC1|RESCC,
8789705Slinton 		"	cvtfd	AL,A1\n	OD2	AR,A1\n	cvtdf	A1,AL\n",
8799705Slinton 
88025753Sdonn ASG OPFLOAT,	INAREG|FOREFF|FORCC,
88125753Sdonn 	SAREG|AWD,	ANYFIXED,
88225753Sdonn #ifndef SPRECC
88325753Sdonn 	SAREG|AWD,	TDOUBLE,		/* force FLOAT to register */
88425753Sdonn #else
88525753Sdonn 	SAREG|AWD,	TFLOAT|TDOUBLE,
88625753Sdonn #endif
88725753Sdonn 		NAREG,	RLEFT|RESCC,	/* usable() knows we need a reg pair */
88825753Sdonn 		"	ZG\n",
88925753Sdonn 
8909705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
8919705Slinton 	STAREG,	TDOUBLE,
8929705Slinton 	SAREG|AWD,	TDOUBLE,
8939705Slinton 		0,	RLEFT|RESCC,
8949705Slinton 		"	OD2	AR,AL\n",
8959705Slinton 
8969705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
8979705Slinton 	SAREG|AWD,	TDOUBLE,
8989705Slinton 	SAREG|AWD,	TDOUBLE,
8999705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
9009705Slinton 		"	OD3	AR,AL,A1\n",
9019705Slinton 
9029705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9039705Slinton 	SAREG|AWD,	TFLOAT,
9049705Slinton 	SAREG|AWD,	TDOUBLE,
9059705Slinton 		NAREG|NASL,	RESC1|RESCC,
9069705Slinton 		"	cvtfd	AL,A1\n	OD2	AR,A1\n",
9079705Slinton 
9089705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9099705Slinton 	SAREG|AWD,	TDOUBLE,
9109705Slinton 	SAREG|AWD,	TFLOAT,
9119705Slinton 		NAREG|NASR,	RESC1|RESCC,
9129705Slinton 		"	cvtfd	AR,A1\n	OD3	A1,AL,A1\n",
9139705Slinton 
91417740Sralph #if defined(FORT) || defined(SPRECC)
9159705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
91616937Sralph 	STAREG,		TFLOAT,
91716937Sralph 	SAREG|AWD,	TFLOAT,
9189705Slinton 		0,	RLEFT|RESCC,
91916937Sralph 		"	OF2	AR,TAL\n",
9209705Slinton 
9219705Slinton OPFLOAT,	INAREG|INTAREG|FORCC,
9229705Slinton 	SAREG|AWD,	TFLOAT,
9239705Slinton 	SAREG|AWD,	TFLOAT,
9249705Slinton 		NAREG|NASL|NASR,	RESC1|RESCC,
9259705Slinton 		"	OF3	AR,AL,TA1\n",
9269705Slinton #endif
9279705Slinton 
9289705Slinton 	/* Default actions for hard trees ... */
9299705Slinton 
9309705Slinton # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,""
9319705Slinton 
9329705Slinton UNARY MUL, DF( UNARY MUL ),
9339705Slinton 
9349705Slinton INCR, DF(INCR),
9359705Slinton 
9369705Slinton DECR, DF(INCR),
9379705Slinton 
9389705Slinton ASSIGN, DF(ASSIGN),
9399705Slinton 
9409705Slinton STASG, DF(STASG),
9419705Slinton 
9429705Slinton FLD, DF(FLD),
9439705Slinton 
9449705Slinton OPLEAF, DF(NAME),
9459705Slinton 
9469705Slinton OPLOG,	FORCC,
9479705Slinton 	SANY,	TANY,
9489705Slinton 	SANY,	TANY,
9499705Slinton 		REWRITE,	BITYPE,
9509705Slinton 		"",
9519705Slinton 
9529705Slinton OPLOG,	DF(NOT),
9539705Slinton 
9549705Slinton COMOP, DF(COMOP),
9559705Slinton 
9569705Slinton INIT, DF(INIT),
9579705Slinton 
9589705Slinton OPUNARY, DF(UNARY MINUS),
9599705Slinton 
9609705Slinton 
9619705Slinton ASG OPANY, DF(ASG PLUS),
9629705Slinton 
9639705Slinton OPANY, DF(BITYPE),
9649705Slinton 
9659705Slinton FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	FREE,	"help; I'm in trouble\n" };
966