1*17740Sralph #ifndef lint 2*17740Sralph static char *sccsid ="@(#)table.c 1.6 (Berkeley) 01/18/85"; 3*17740Sralph #endif lint 4*17740Sralph 59705Slinton # include "mfile2" 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 40*17740Sralph #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, 4816937Sralph SAREG|AWD, ANYSIGNED|TUNSIGNED|TULONG, 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 669705Slinton SCONV, INTAREG|FORCC, 6716182Sralph SAREG|AWD, TANY, 689705Slinton SANY, TANY, 699705Slinton NAREG|NASL, RESC1|RESCC, 7016182Sralph " ZA\n", 719705Slinton 729705Slinton 739705Slinton INIT, FOREFF, 749705Slinton SCON, TANY, 759705Slinton SANY, TWORD, 769705Slinton 0, RNOP, 779705Slinton " .long CL\n", 789705Slinton 799705Slinton INIT, FOREFF, 809705Slinton SCON, TANY, 819705Slinton SANY, TSHORT|TUSHORT, 829705Slinton 0, RNOP, 839705Slinton " .word CL\n", 849705Slinton 859705Slinton INIT, FOREFF, 869705Slinton SCON, TANY, 879705Slinton SANY, TCHAR|TUCHAR, 889705Slinton 0, RNOP, 899705Slinton " .byte CL\n", 909705Slinton 919705Slinton /* for the use of fortran only */ 929705Slinton 939705Slinton GOTO, FOREFF, 949705Slinton SCON, TANY, 959705Slinton SANY, TANY, 969705Slinton 0, RNOP, 979705Slinton " jbr CL\n", 989705Slinton 999705Slinton GOTO, FOREFF, 100*17740Sralph SNAME|SOREG, TANY, 1019705Slinton SANY, TANY, 1029705Slinton 0, RNOP, 1039705Slinton " jmp *AL\n", 1049705Slinton 1059705Slinton GOTO, FOREFF, 1069705Slinton SAREG, TANY, 1079705Slinton SANY, TANY, 1089705Slinton 0, RNOP, 1099705Slinton " jmp (AL)\n", 1109705Slinton 1119705Slinton STARG, FORARG, 1129705Slinton SCON|SOREG, TANY, 1139705Slinton SANY, TANY, 1149705Slinton 0, RNULL, 1159705Slinton " subl2 ZT,sp\nZS", 1169705Slinton 1179705Slinton STASG, FOREFF, 1189705Slinton SNAME|SOREG, TANY, 1199705Slinton SCON|SAREG, TANY, 1209705Slinton 0, RNOP, 1219705Slinton "ZS", 1229705Slinton 1239705Slinton STASG, INAREG, 1249705Slinton SNAME|SOREG, TANY, 1259705Slinton SCON, TANY, 1269705Slinton NAREG, RESC1, 1279705Slinton "ZS movl AR,A1\n", 1289705Slinton 1299705Slinton STASG, INAREG, 1309705Slinton SNAME|SOREG, TANY, 1319705Slinton SAREG, TANY, 1329705Slinton 0, RRIGHT, 1339705Slinton " pushl AR\nZS movl (sp)+,AR\n", 1349705Slinton 1359705Slinton FLD, INAREG|INTAREG, 1369705Slinton SANY, TANY, 1379705Slinton SFLD, ANYSIGNED, 1389705Slinton NAREG|NASR, RESC1, 1399705Slinton " extv $H,$S,AR,A1\n", 1409705Slinton 1419705Slinton FLD, INAREG|INTAREG, 1429705Slinton SANY, TANY, 1439705Slinton SFLD, ANYUSIGNED, 1449705Slinton NAREG|NASR, RESC1, 1459705Slinton " extzv $H,$S,AR,A1\n", 1469705Slinton 1479705Slinton FLD, FORARG, 1489705Slinton SANY, TANY, 1499705Slinton SFLD, ANYSIGNED, 1509705Slinton 0, RNULL, 1519705Slinton " extv $H,$S,AR,-(sp)\n", 1529705Slinton 1539705Slinton FLD, FORARG, 1549705Slinton SANY, TANY, 1559705Slinton SFLD, ANYUSIGNED, 1569705Slinton 0, RNULL, 1579705Slinton " extzv $H,$S,AR,-(sp)\n", 1589705Slinton 1599705Slinton OPLOG, FORCC, 1609705Slinton SAREG|AWD, TWORD, 1619705Slinton SAREG|AWD, TWORD, 1629705Slinton 0, RESCC, 1639705Slinton " cmpl AL,AR\nZP", 1649705Slinton 1659705Slinton OPLOG, FORCC, 1669705Slinton SAREG|AWD, TSHORT|TUSHORT, 1679705Slinton SAREG|AWD, TSHORT|TUSHORT, 1689705Slinton 0, RESCC, 1699705Slinton " cmpw AL,AR\nZP", 1709705Slinton 1719705Slinton OPLOG, FORCC, 1729705Slinton SAREG|AWD, TCHAR|TUCHAR, 1739705Slinton SAREG|AWD, TCHAR|TUCHAR, 1749705Slinton 0, RESCC, 1759705Slinton " cmpb AL,AR\nZP", 1769705Slinton 1779705Slinton OPLOG, FORCC, 1789705Slinton SAREG|AWD, TSHORT|TUSHORT, 1799705Slinton SSCON, TANY, 1809705Slinton 0, RESCC, 1819705Slinton " cmpw AL,AR\nZP", 1829705Slinton 1839705Slinton OPLOG, FORCC, 1849705Slinton SAREG|AWD, TCHAR|TUCHAR, 1859705Slinton SCCON, TANY, 1869705Slinton 0, RESCC, 1879705Slinton " cmpb AL,AR\nZP", 1889705Slinton 1899705Slinton OPLOG, FORCC, 1909705Slinton SAREG|AWD, TDOUBLE, 1919705Slinton SAREG|AWD, TDOUBLE, 1929705Slinton 0, RESCC, 1939705Slinton " cmpd AL,AR\nZP", 1949705Slinton 1959705Slinton OPLOG, FORCC, 1969705Slinton SAREG|AWD, TDOUBLE, 1979705Slinton SAREG|AWD, TFLOAT, 19817205Sralph NAREG|NASR, RESCC, 1999705Slinton " cvtfd AR,A1\n cmpd AL,A1\nZP", 2009705Slinton 2019705Slinton OPLOG, FORCC, 2029705Slinton SAREG|AWD, TFLOAT, 2039705Slinton SAREG|AWD, TDOUBLE, 20417205Sralph NAREG|NASL, RESCC, 2059705Slinton " cvtfd AL,A1\n cmpd A1,AR\nZP", 2069705Slinton 2079705Slinton OPLOG, FORCC, 2089705Slinton SAREG|AWD, TFLOAT, 2099705Slinton SAREG|AWD, TFLOAT, 2109705Slinton 0, RESCC, 2119705Slinton " cmpf AL,AR\nZP", 2129705Slinton 2139705Slinton CCODES, INAREG|INTAREG, 2149705Slinton SANY, TANY, 2159705Slinton SANY, TANY, 2169705Slinton NAREG, RESC1, 2179705Slinton " movl $1,A1\nZN", 2189705Slinton 219*17740Sralph #if defined(FORT) || defined(SPRECC) 2209705Slinton UNARY CALL, INTAREG, 2219705Slinton SCON, TANY, 22216182Sralph SANY, TFLOAT, 22316182Sralph NAREG|NASL, RESC1, 22416182Sralph " calls ZC,CL\n", 22516182Sralph 22616182Sralph UNARY CALL, INTAREG, 22716182Sralph SCON, TANY, 22816182Sralph SANY, TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TDOUBLE, 2299705Slinton NAREG|NASL, RESC1, /* should be register 0 */ 2309705Slinton " calls ZC,CL\n", 2319705Slinton 23216182Sralph #else 23316182Sralph 2349705Slinton UNARY CALL, INTAREG, 23516182Sralph SCON, TANY, 23616182Sralph SANY, TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE, 23716182Sralph NAREG|NASL, RESC1, 23816182Sralph " calls ZC,CL\n", 23916182Sralph #endif 24016182Sralph 24116182Sralph UNARY CALL, INTAREG, 2429705Slinton SAREG, TANY, 2439705Slinton SANY, TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE, 2449705Slinton NAREG|NASL, RESC1, /* should be 0 */ 2459705Slinton " calls ZC,(AL)\n", 2469705Slinton 2479705Slinton UNARY CALL, INAREG|INTAREG, 2489705Slinton SNAME, TANY, 2499705Slinton SANY, TANY, 2509705Slinton NAREG|NASL, RESC1, /* really reg 0 */ 2519705Slinton " calls ZC,*AL\n", 2529705Slinton 2539705Slinton UNARY CALL, INAREG|INTAREG, 2549705Slinton SSOREG, TANY, 2559705Slinton SANY, TANY, 2569705Slinton NAREG|NASL, RESC1, /* really reg 0 */ 2579705Slinton " calls ZC,*AL\n", 2589705Slinton 2599705Slinton ASG RS, INAREG|FOREFF|FORCC, 2609705Slinton SAREG, TWORD, 2619705Slinton SCON, TINT, 2629705Slinton 0, RLEFT|RESCC, 2639705Slinton " extzv AR,ZU,AL,AL\n", 2649705Slinton 2659705Slinton ASG RS, INAREG|FOREFF|FORCC, 2669705Slinton SAREG, TWORD, 2679705Slinton SAREG, ANYFIXED, 2689705Slinton NAREG, RLEFT|RESCC, 2699705Slinton " subl3 AR,$32,A1\n extzv AR,A1,AL,AL\n", 2709705Slinton 2719705Slinton ASG RS, INAREG|FOREFF|FORCC, 2729705Slinton SAREG, TWORD, 2739705Slinton SAREG|AWD, TWORD, 2749705Slinton NAREG, RLEFT|RESCC, 2759705Slinton " subl3 AR,$32,A1\n extzv AR,A1,AL,AL\n", 2769705Slinton 2779705Slinton RS, INAREG|INTAREG|FORCC, 2789705Slinton SAREG, TWORD, 2799705Slinton SCON, TINT, 2809705Slinton NAREG|NASL, RESC1|RESCC, 2819705Slinton " extzv AR,ZU,AL,A1\n", 2829705Slinton 2839705Slinton ASG LS, INAREG|FOREFF|FORCC, 2849705Slinton SAREG|AWD, TWORD, 2859705Slinton SAREG|NIAWD, ANYSIGNED|ANYUSIGNED, 2869705Slinton 0, RLEFT|RESCC, 2879705Slinton " ashl AR,AL,AL\n", 2889705Slinton 2899705Slinton ASG LS, INAREG|FOREFF|FORCC, 2909705Slinton SAREG|AWD, TWORD, 2919705Slinton SSOREG, ANYSIGNED|ANYUSIGNED, 2929705Slinton 0, RLEFT|RESCC, 2939705Slinton " ashl AR,AL,AL\n", 2949705Slinton 2959705Slinton ASG LS, INAREG|FOREFF|FORCC, 2969705Slinton SAREG|AWD, TWORD, 2979705Slinton SOREG, ANYSIGNED|ANYUSIGNED, 2989705Slinton NAREG, RLEFT|RESCC, 2999705Slinton " ZB AR,A1\n ashl A1,AL,AL\n", 3009705Slinton 3019705Slinton LS, INAREG|INTAREG|FORCC, 3029705Slinton SAREG|AWD, TWORD, 3039705Slinton SAREG|NIAWD, ANYSIGNED|ANYUSIGNED, 3049705Slinton NAREG|NASL|NASR, RESC1|RESCC, 3059705Slinton " ashl AR,AL,A1\n", 3069705Slinton 3079705Slinton LS, INAREG|INTAREG|FORCC, 3089705Slinton SAREG|AWD, TWORD, 3099705Slinton SSOREG, ANYSIGNED|ANYUSIGNED, 3109705Slinton NAREG|NASL|NASR, RESC1|RESCC, 3119705Slinton " ashl AR,AL,A1\n", 3129705Slinton 3139705Slinton LS, INAREG|INTAREG|FORCC, 3149705Slinton SAREG|AWD, TWORD, 3159705Slinton SOREG, ANYSIGNED|ANYUSIGNED, 3169705Slinton NAREG|NASR, RESC1|RESCC, 3179705Slinton " ZB AR,A1\n ashl A1,AL,A1\n", 3189705Slinton 3199705Slinton INCR, FOREFF, 3209705Slinton AWD, TANY, 3219705Slinton SCON, TANY, 3229705Slinton 0, RLEFT, 3239705Slinton " ZE\n", 3249705Slinton 3259705Slinton DECR, FOREFF, 3269705Slinton AWD, TANY, 3279705Slinton SCON, TANY, 3289705Slinton 0, RLEFT, 3299705Slinton " ZE\n", 3309705Slinton 3319705Slinton INCR, FOREFF, 3329705Slinton SAREG, TWORD, 3339705Slinton SCON, TANY, 3349705Slinton 0, RLEFT, 3359705Slinton " ZE\n", 3369705Slinton 3379705Slinton DECR, FOREFF, 3389705Slinton SAREG, TWORD, 3399705Slinton SCON, TANY, 3409705Slinton 0, RLEFT, 3419705Slinton " ZE\n", 3429705Slinton 3439705Slinton /* jwf INCR and DECR for SAREG TCHAR|TSHORT matched by ASG PLUS etc */ 3449705Slinton 3459705Slinton INCR, INAREG|INTAREG, 3469705Slinton AWD, TANY, 3479705Slinton SCON, TANY, 3489705Slinton NAREG, RESC1, 3499705Slinton " ZD\n", 3509705Slinton 3519705Slinton DECR, INAREG|INTAREG, 3529705Slinton AWD, TANY, 3539705Slinton SCON, TANY, 3549705Slinton NAREG, RESC1, 3559705Slinton " ZD\n", 3569705Slinton 3579705Slinton INCR, INAREG|INTAREG, 3589705Slinton SAREG, TWORD, 3599705Slinton SCON, TANY, 3609705Slinton NAREG, RESC1, 3619705Slinton " ZD\n", 3629705Slinton 3639705Slinton DECR, INAREG|INTAREG, 3649705Slinton SAREG, TWORD, 3659705Slinton SCON, TANY, 3669705Slinton NAREG, RESC1, 3679705Slinton " ZD\n", 3689705Slinton 3699705Slinton ASSIGN, INAREG|FOREFF|FORCC, 37016182Sralph SAREG|AWD, TDOUBLE, 37116182Sralph SAREG|AWD, TUCHAR|TUSHORT, 37216182Sralph NAREG|NASR, RLEFT|RESCC, 37316182Sralph " movzZRl AR,A1\n cvtld A1,AL\n", 37416182Sralph 37516182Sralph ASSIGN, INAREG|FOREFF|FORCC, 37616182Sralph SAREG|AWD, TFLOAT, 37716182Sralph SAREG|AWD, TUCHAR|TUSHORT, 37816182Sralph NAREG|NASR, RLEFT|RESCC, 37916182Sralph " movzZRl AR,A1\n cvtlf A1,AL\n", 38016182Sralph 38116182Sralph ASSIGN, INAREG|FOREFF|FORCC, 3829705Slinton SAREG|AWD, TANY, 3839705Slinton SAREG|AWD, TANY, 3849705Slinton 0, RLEFT|RRIGHT|RESCC, 3859705Slinton " ZA\n", 3869705Slinton 3879705Slinton ASSIGN, INAREG|FOREFF, 3889705Slinton SFLD, TANY, 3899705Slinton SAREG|AWD, TWORD, 3909705Slinton 0, RRIGHT, 3919705Slinton " insv AR,$H,$S,AL\n", 3929705Slinton 3939705Slinton ASSIGN, INAREG|FOREFF|FORCC, 3949705Slinton SAREG|AWD, TWORD, 3959705Slinton SFLD, ANYSIGNED, 3969705Slinton 0, RLEFT|RESCC, 3979705Slinton " extv $H,$S,AR,AL\n", 3989705Slinton 3999705Slinton ASSIGN, INAREG|FOREFF|FORCC, 4009705Slinton SAREG|AWD, TWORD, 4019705Slinton SFLD, ANYUSIGNED, 4029705Slinton 0, RLEFT|RESCC, 4039705Slinton " extzv $H,$S,AR,AL\n", 4049705Slinton 4059705Slinton /* dummy UNARY MUL entry to get U* to possibly match OPLTYPE */ 4069705Slinton UNARY MUL, FOREFF, 4079705Slinton SCC, TANY, 4089705Slinton SCC, TANY, 4099705Slinton 0, RNULL, 4109705Slinton " HELP HELP HELP\n", 4119705Slinton 4129705Slinton REG, INTEMP, 4139705Slinton SANY, TANY, 4149705Slinton SAREG, TDOUBLE, 4159705Slinton 2*NTEMP, RESC1, 4169705Slinton " movd AR,A1\n", 4179705Slinton 4189705Slinton REG, INTEMP, 4199705Slinton SANY, TANY, 4209705Slinton SAREG, TANY, 4219705Slinton NTEMP, RESC1, 4229705Slinton " movZF AR,A1\n", 4239705Slinton 424*17740Sralph #if defined(FORT) || defined(SPRECC) 425*17740Sralph REG, FORARG, 4269705Slinton SANY, TANY, 4279705Slinton SAREG, TFLOAT, 4289705Slinton 0, RNULL, 4299705Slinton " cvtfd AR,-(sp)\n", 4309705Slinton 4319705Slinton REG, FORARG, 4329705Slinton SANY, TANY, 4339705Slinton SAREG, TDOUBLE, 4349705Slinton 0, RNULL, 4359705Slinton " movZR AR,-(sp)\n", 4369705Slinton #endif 4379705Slinton 4389705Slinton OPLEAF, FOREFF, 4399705Slinton SANY, TANY, 4409705Slinton SAREG|AWD, TANY, 4419705Slinton 0, RLEFT, 4429705Slinton "", 4439705Slinton 4449705Slinton OPLTYPE, INAREG|INTAREG, 4459705Slinton SANY, TANY, 4469705Slinton SANY, TANY, 4479705Slinton NAREG|NASR, RESC1, 4489705Slinton " ZA\n", 4499705Slinton 4509705Slinton OPLTYPE, FORCC, 4519705Slinton SANY, TANY, 4529705Slinton SANY, TANY, 4539705Slinton 0, RESCC, 4549705Slinton " tstZR AR\n", 4559705Slinton 4569705Slinton OPLTYPE, FORARG, 4579705Slinton SANY, TANY, 4589705Slinton SANY, TWORD, 4599705Slinton 0, RNULL, 4609705Slinton " pushl AR\n", 4619705Slinton 4629705Slinton OPLTYPE, FORARG, 4639705Slinton SANY, TANY, 4649705Slinton SANY, TCHAR|TSHORT, 4659705Slinton 0, RNULL, 4669705Slinton " cvtZRl AR,-(sp)\n", 4679705Slinton 4689705Slinton OPLTYPE, FORARG, 4699705Slinton SANY, TANY, 4709705Slinton SANY, TUCHAR|TUSHORT, 4719705Slinton 0, RNULL, 4729705Slinton " movzZRl AR,-(sp)\n", 4739705Slinton 4749705Slinton OPLTYPE, FORARG, 4759705Slinton SANY, TANY, 4769705Slinton SANY, TDOUBLE, 4779705Slinton 0, RNULL, 4789705Slinton " movd AR,-(sp)\n", 4799705Slinton 4809705Slinton OPLTYPE, FORARG, 4819705Slinton SANY, TANY, 4829705Slinton SANY, TFLOAT, 4839705Slinton 0, RNULL, 4849705Slinton " cvtfd AR,-(sp)\n", 4859705Slinton 486*17740Sralph #if defined(FORT) || defined(SPRECC) 4879705Slinton UNARY MINUS, INTAREG|FORCC, 48816182Sralph SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG|TFLOAT|TDOUBLE, 48916182Sralph SANY, TANY, 49016182Sralph NAREG|NASL, RESC1|RESCC, 49116182Sralph " mnegZL TAL,A1\n", 49216182Sralph 49316182Sralph #else 49416182Sralph 49516182Sralph UNARY MINUS, INTAREG|FORCC, 4969705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG|TDOUBLE, 4979705Slinton SANY, TANY, 4989705Slinton NAREG|NASL, RESC1|RESCC, 4999705Slinton " mnegZL AL,A1\n", 50016182Sralph #endif 5019705Slinton 5029705Slinton COMPL, INTAREG|FORCC, 5039705Slinton SAREG|AWD, TINT|TUNSIGNED, 5049705Slinton SANY, TANY, 5059705Slinton NAREG|NASL, RESC1|RESCC, 5069705Slinton " mcomZL AL,A1\n", 5079705Slinton 5089705Slinton COMPL, INTAREG|FORCC, 5099705Slinton SAREG|AWD, ANYSIGNED|ANYUSIGNED, 5109705Slinton SANY, TANY, 5119705Slinton NAREG|NASL, RESC1|RESCC, 5129705Slinton " cvtZLl AL,A1\n mcoml A1,A1\n", 5139705Slinton 5149705Slinton AND, FORCC, 5159705Slinton SAREG|AWD, TWORD, 5169705Slinton SCON, TWORD, 5179705Slinton 0, RESCC, 5189705Slinton " bitl ZZ,AL\n", 5199705Slinton 5209705Slinton AND, FORCC, 5219705Slinton SAREG|AWD, TSHORT|TUSHORT, 5229705Slinton SSCON, TWORD, 5239705Slinton 0, RESCC, 5249705Slinton " bitw ZZ,AL\n", 5259705Slinton 5269705Slinton AND, FORCC, 5279705Slinton SAREG|AWD, TCHAR|TUCHAR, 5289705Slinton SCCON, TWORD, 5299705Slinton 0, RESCC, 5309705Slinton " bitb ZZ,AL\n", 5319705Slinton 5329705Slinton ASG AND, INAREG|FOREFF|FORCC, 5339705Slinton SAREG, TWORD, 5349705Slinton SCON, TWORD, 5359705Slinton 0, RLEFT|RESCC, 5369705Slinton " bicl2 AR,AL\n", 5379705Slinton 5389705Slinton ASG OPMUL, INAREG|FOREFF|FORCC, 5399705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5409705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5419705Slinton 0, RLEFT|RESCC, 5429705Slinton " OL2 AR,AL\n", 5439705Slinton 5449705Slinton OPMUL, INAREG|INTAREG|FORCC, 5459705Slinton STAREG, TINT|TUNSIGNED|TLONG|TULONG, 5469705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5479705Slinton 0, RLEFT|RESCC, 5489705Slinton " OL2 AR,AL\n", 5499705Slinton 5509705Slinton OPMUL, INAREG|INTAREG|FORCC, 5519705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5529705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5539705Slinton NAREG|NASL|NASR, RESC1|RESCC, 5549705Slinton " OL3 AR,AL,A1\n", 5559705Slinton 5569705Slinton ASG MOD, INAREG|INTAREG|FOREFF|FORCC, 5579705Slinton SAREG, TINT|TUNSIGNED|TLONG|TULONG, 5589705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5599705Slinton NAREG, RLEFT|RESCC, 5609705Slinton " divl3 AR,AL,A1\n mull2 AR,A1\n subl2 A1,AL\n", 5619705Slinton 5629705Slinton MOD, INAREG|INTAREG, 5639705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5649705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5659705Slinton NAREG, RESC1, 5669705Slinton " divl3 AR,AL,A1\n mull2 AR,A1\n subl3 A1,AL,A1\n", 5679705Slinton 5689705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 5699705Slinton SAREG, TPOINT|TINT|TLONG|TUNSIGNED|TULONG, 5709705Slinton SONE, TINT|TLONG, 5719705Slinton 0, RLEFT|RESCC, 5729705Slinton " incZL AL\n", 5739705Slinton 5749705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 5759705Slinton AWD, ANYSIGNED|ANYUSIGNED, 5769705Slinton SONE, TINT|TLONG, 5779705Slinton 0, RLEFT|RESCC, 5789705Slinton " incZL AL\n", 5799705Slinton 5809705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 5819705Slinton SAREG, TSHORT|TCHAR, 5829705Slinton SONE, TINT|TLONG, 5839705Slinton 0, RLEFT|RESCC, 5849705Slinton " incZL AL\n cvtZLl AL,AL\n", 5859705Slinton 5869705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 5879705Slinton SAREG, TUSHORT|TUCHAR, 5889705Slinton SONE, TINT|TLONG, 5899705Slinton 0, RLEFT|RESCC, 5909705Slinton " incZL AL\n movzZLl AL,AL\n", 5919705Slinton 5929705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 5939705Slinton SAREG, TPOINT|TINT|TLONG|TUNSIGNED|TULONG, 5949705Slinton SONE, TINT|TLONG, 5959705Slinton 0, RLEFT|RESCC, 5969705Slinton " decZL AL\n", 5979705Slinton 5989705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 5999705Slinton AWD, ANYSIGNED|ANYUSIGNED, 6009705Slinton SONE, TINT|TLONG, 6019705Slinton 0, RLEFT|RESCC, 6029705Slinton " decZL AL\n", 6039705Slinton 6049705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 6059705Slinton SAREG, TSHORT|TCHAR, 6069705Slinton SONE, TINT|TLONG, 6079705Slinton 0, RLEFT|RESCC, 6089705Slinton " decZL AL\n cvtZLl AL,AL\n", 6099705Slinton 6109705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 6119705Slinton SAREG, TUSHORT|TUCHAR, 6129705Slinton SONE, TINT|TLONG, 6139705Slinton 0, RLEFT|RESCC, 6149705Slinton " decZL AL\n movzZLl AL,AL\n", 6159705Slinton 6169705Slinton PLUS, INAREG|INTAREG|FORCC, 6179705Slinton STAREG, TWORD, 6189705Slinton SONE, TWORD, 6199705Slinton 0, RLEFT|RESCC, 6209705Slinton " incZL AL\n", 6219705Slinton 6229705Slinton PLUS, INAREG|INTAREG|FORCC, 6239705Slinton STAREG, TSHORT|TCHAR, 6249705Slinton SONE, TWORD, 6259705Slinton 0, RLEFT|RESCC, 6269705Slinton " incZL AL\n cvtZLl AL,AL\n", 6279705Slinton 6289705Slinton PLUS, INAREG|INTAREG|FORCC, 6299705Slinton STAREG, TUSHORT|TUCHAR, 6309705Slinton SONE, TWORD, 6319705Slinton 0, RLEFT|RESCC, 6329705Slinton " incZL AL\n movzZLl AL,AL\n", 6339705Slinton 6349705Slinton MINUS, INAREG|INTAREG|FORCC, 6359705Slinton STAREG, TWORD, 6369705Slinton SONE, TWORD, 6379705Slinton 0, RLEFT|RESCC, 6389705Slinton " decZL AL\n", 6399705Slinton 6409705Slinton MINUS, INAREG|INTAREG|FORCC, 6419705Slinton STAREG, TSHORT|TCHAR, 6429705Slinton SONE, TWORD, 6439705Slinton 0, RLEFT|RESCC, 6449705Slinton " decZL AL\n cvtZLl AL,AL\n", 6459705Slinton 6469705Slinton MINUS, INAREG|INTAREG|FORCC, 6479705Slinton STAREG, TUSHORT|TUCHAR, 6489705Slinton SONE, TWORD, 6499705Slinton 0, RLEFT|RESCC, 6509705Slinton " decZL AL\n movzZLl AL,AL\n", 6519705Slinton 6529705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6539705Slinton SAREG|AWD, TWORD, 6549705Slinton SAREG|AWD, TWORD, 6559705Slinton 0, RLEFT|RESCC, 6569705Slinton " OL2 AR,AL\n", 6579705Slinton 6589705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6599705Slinton SAREG, TWORD, 6609705Slinton SAREG, TSHORT|TUSHORT|TCHAR|TUCHAR, 6619705Slinton 0, RLEFT|RESCC, 6629705Slinton " OL2 AR,AL\n", 6639705Slinton 6649705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6659705Slinton AWD, TSHORT|TUSHORT, 6669705Slinton SAREG|AWD, TSHORT|TUSHORT, 6679705Slinton 0, RLEFT|RESCC, 6689705Slinton " OW2 AR,AL\n", 6699705Slinton 6709705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6719705Slinton AWD, TSHORT|TUSHORT, 6729705Slinton SSCON, TWORD, 6739705Slinton 0, RLEFT|RESCC, 6749705Slinton " OW2 AR,AL\n", 6759705Slinton 6769705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6779705Slinton AWD, TCHAR|TUCHAR, 6789705Slinton SAREG|AWD, TCHAR|TUCHAR, 6799705Slinton 0, RLEFT|RESCC, 6809705Slinton " OB2 AR,AL\n", 6819705Slinton 6829705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6839705Slinton AWD, TCHAR|TUCHAR, 6849705Slinton SCCON, TWORD, 6859705Slinton 0, RLEFT|RESCC, 6869705Slinton " OB2 AR,AL\n", 6879705Slinton 6889705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6899705Slinton SAREG, TSHORT, 6909705Slinton SAREG|AWD, ANYFIXED, 6919705Slinton 0, RLEFT|RESCC, 6929705Slinton " OW2 AR,AL\n cvtZLl AL,AL\n", 6939705Slinton 6949705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6959705Slinton SAREG, TUSHORT, 6969705Slinton SAREG|AWD, ANYFIXED, 6979705Slinton 0, RLEFT|RESCC, 6989705Slinton " OW2 AR,AL\n movzZLl AL,AL\n", 6999705Slinton 7009705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7019705Slinton SAREG, TCHAR, 7029705Slinton SAREG|AWD, ANYFIXED, 7039705Slinton 0, RLEFT|RESCC, 7049705Slinton " OB2 AR,AL\n cvtZLl AL,AL\n", 7059705Slinton 7069705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7079705Slinton SAREG, TUCHAR, 7089705Slinton SAREG|AWD, ANYFIXED, 7099705Slinton 0, RLEFT|RESCC, 7109705Slinton " OB2 AR,AL\n movzZLl AL,AL\n", 7119705Slinton 7129705Slinton OPSIMP, INAREG|INTAREG|FORCC, 7139705Slinton STAREG, ANYFIXED, 7149705Slinton SAREG|AWD, TWORD, 7159705Slinton 0, RLEFT|RESCC, 7169705Slinton " OL2 AR,AL\n", 7179705Slinton 7189705Slinton OPSIMP, INAREG|INTAREG|FORCC, 7199705Slinton SAREG|AWD, TWORD, 7209705Slinton SAREG|AWD, TWORD, 7219705Slinton NAREG|NASL|NASR, RESC1|RESCC, 7229705Slinton " OL3 AR,AL,A1\n", 7239705Slinton 7249705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 7259705Slinton SAREG|AWD, TDOUBLE, 7269705Slinton SAREG|AWD, TDOUBLE, 7279705Slinton 0, RLEFT|RESCC, 7289705Slinton " OD2 AR,AL\n", 7299705Slinton 7309705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 7319705Slinton SAREG|AWD, TFLOAT, 7329705Slinton SAREG|AWD, TFLOAT, 7339705Slinton 0, RLEFT|RESCC, 734*17740Sralph #if defined(FORT) || defined(SPRECC) 73516937Sralph " OF2 AR,TAL\n", 73616937Sralph #else 7379705Slinton " OF2 AR,AL\n", 73816937Sralph #endif 7399705Slinton 7409705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 7419705Slinton SAREG|AWD, TDOUBLE, 7429705Slinton SAREG|AWD, TFLOAT, 7439705Slinton NAREG|NASR, RLEFT|RESCC, 7449705Slinton " cvtfd AR,A1\n OD2 A1,AL\n", 7459705Slinton 7469705Slinton ASG OPFLOAT, INAREG|INTAREG|FOREFF|FORCC, 7479705Slinton SAREG|AWD, TFLOAT, 7489705Slinton SAREG|AWD, TDOUBLE, 7499705Slinton NAREG, RLEFT|RESC1|RESCC, 7509705Slinton " cvtfd AL,A1\n OD2 AR,A1\n cvtdf A1,AL\n", 7519705Slinton 7529705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7539705Slinton STAREG, TDOUBLE, 7549705Slinton SAREG|AWD, TDOUBLE, 7559705Slinton 0, RLEFT|RESCC, 7569705Slinton " OD2 AR,AL\n", 7579705Slinton 7589705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7599705Slinton SAREG|AWD, TDOUBLE, 7609705Slinton SAREG|AWD, TDOUBLE, 7619705Slinton NAREG|NASL|NASR, RESC1|RESCC, 7629705Slinton " OD3 AR,AL,A1\n", 7639705Slinton 7649705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7659705Slinton SAREG|AWD, TFLOAT, 7669705Slinton SAREG|AWD, TDOUBLE, 7679705Slinton NAREG|NASL, RESC1|RESCC, 7689705Slinton " cvtfd AL,A1\n OD2 AR,A1\n", 7699705Slinton 7709705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7719705Slinton SAREG|AWD, TDOUBLE, 7729705Slinton SAREG|AWD, TFLOAT, 7739705Slinton NAREG|NASR, RESC1|RESCC, 7749705Slinton " cvtfd AR,A1\n OD3 A1,AL,A1\n", 7759705Slinton 776*17740Sralph #if defined(FORT) || defined(SPRECC) 7779705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 77816937Sralph STAREG, TFLOAT, 77916937Sralph SAREG|AWD, TFLOAT, 7809705Slinton 0, RLEFT|RESCC, 78116937Sralph " OF2 AR,TAL\n", 7829705Slinton 7839705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7849705Slinton SAREG|AWD, TFLOAT, 7859705Slinton SAREG|AWD, TFLOAT, 7869705Slinton NAREG|NASL|NASR, RESC1|RESCC, 7879705Slinton " OF3 AR,AL,TA1\n", 7889705Slinton #endif 7899705Slinton 7909705Slinton /* Default actions for hard trees ... */ 7919705Slinton 7929705Slinton # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,"" 7939705Slinton 7949705Slinton UNARY MUL, DF( UNARY MUL ), 7959705Slinton 7969705Slinton INCR, DF(INCR), 7979705Slinton 7989705Slinton DECR, DF(INCR), 7999705Slinton 8009705Slinton ASSIGN, DF(ASSIGN), 8019705Slinton 8029705Slinton STASG, DF(STASG), 8039705Slinton 8049705Slinton FLD, DF(FLD), 8059705Slinton 8069705Slinton OPLEAF, DF(NAME), 8079705Slinton 8089705Slinton OPLOG, FORCC, 8099705Slinton SANY, TANY, 8109705Slinton SANY, TANY, 8119705Slinton REWRITE, BITYPE, 8129705Slinton "", 8139705Slinton 8149705Slinton OPLOG, DF(NOT), 8159705Slinton 8169705Slinton COMOP, DF(COMOP), 8179705Slinton 8189705Slinton INIT, DF(INIT), 8199705Slinton 8209705Slinton OPUNARY, DF(UNARY MINUS), 8219705Slinton 8229705Slinton 8239705Slinton ASG OPANY, DF(ASG PLUS), 8249705Slinton 8259705Slinton OPANY, DF(BITYPE), 8269705Slinton 8279705Slinton FREE, FREE, FREE, FREE, FREE, FREE, FREE, FREE, "help; I'm in trouble\n" }; 828