117740Sralph #ifndef lint 2*24417Smckusick static char *sccsid ="@(#)table.c 1.11 (Berkeley) 08/23/85"; 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, 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 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, 3879705Slinton 0, RLEFT|RRIGHT|RESCC, 3889705Slinton " ZA\n", 3899705Slinton 3909705Slinton ASSIGN, INAREG|FOREFF, 3919705Slinton SFLD, TANY, 3929705Slinton SAREG|AWD, TWORD, 3939705Slinton 0, RRIGHT, 3949705Slinton " insv AR,$H,$S,AL\n", 3959705Slinton 3969705Slinton ASSIGN, INAREG|FOREFF|FORCC, 3979705Slinton SAREG|AWD, TWORD, 3989705Slinton SFLD, ANYSIGNED, 3999705Slinton 0, RLEFT|RESCC, 4009705Slinton " extv $H,$S,AR,AL\n", 4019705Slinton 4029705Slinton ASSIGN, INAREG|FOREFF|FORCC, 4039705Slinton SAREG|AWD, TWORD, 4049705Slinton SFLD, ANYUSIGNED, 4059705Slinton 0, RLEFT|RESCC, 4069705Slinton " extzv $H,$S,AR,AL\n", 4079705Slinton 4089705Slinton /* dummy UNARY MUL entry to get U* to possibly match OPLTYPE */ 4099705Slinton UNARY MUL, FOREFF, 4109705Slinton SCC, TANY, 4119705Slinton SCC, TANY, 4129705Slinton 0, RNULL, 4139705Slinton " HELP HELP HELP\n", 4149705Slinton 4159705Slinton REG, INTEMP, 4169705Slinton SANY, TANY, 4179705Slinton SAREG, TDOUBLE, 4189705Slinton 2*NTEMP, RESC1, 4199705Slinton " movd AR,A1\n", 4209705Slinton 4219705Slinton REG, INTEMP, 4229705Slinton SANY, TANY, 4239705Slinton SAREG, TANY, 4249705Slinton NTEMP, RESC1, 4259705Slinton " movZF AR,A1\n", 4269705Slinton 42717740Sralph #if defined(FORT) || defined(SPRECC) 42817740Sralph REG, FORARG, 4299705Slinton SANY, TANY, 4309705Slinton SAREG, TFLOAT, 4319705Slinton 0, RNULL, 4329705Slinton " cvtfd AR,-(sp)\n", 4339705Slinton 4349705Slinton REG, FORARG, 4359705Slinton SANY, TANY, 4369705Slinton SAREG, TDOUBLE, 4379705Slinton 0, RNULL, 4389705Slinton " movZR AR,-(sp)\n", 4399705Slinton #endif 4409705Slinton 4419705Slinton OPLEAF, FOREFF, 4429705Slinton SANY, TANY, 4439705Slinton SAREG|AWD, TANY, 4449705Slinton 0, RLEFT, 4459705Slinton "", 4469705Slinton 4479705Slinton OPLTYPE, INAREG|INTAREG, 4489705Slinton SANY, TANY, 4499705Slinton SANY, TANY, 4509705Slinton NAREG|NASR, RESC1, 4519705Slinton " ZA\n", 4529705Slinton 4539705Slinton OPLTYPE, FORCC, 4549705Slinton SANY, TANY, 4559705Slinton SANY, TANY, 4569705Slinton 0, RESCC, 4579705Slinton " tstZR AR\n", 4589705Slinton 4599705Slinton OPLTYPE, FORARG, 4609705Slinton SANY, TANY, 4619705Slinton SANY, TWORD, 4629705Slinton 0, RNULL, 4639705Slinton " pushl AR\n", 4649705Slinton 4659705Slinton OPLTYPE, FORARG, 4669705Slinton SANY, TANY, 4679705Slinton SANY, TCHAR|TSHORT, 4689705Slinton 0, RNULL, 4699705Slinton " cvtZRl AR,-(sp)\n", 4709705Slinton 4719705Slinton OPLTYPE, FORARG, 4729705Slinton SANY, TANY, 4739705Slinton SANY, TUCHAR|TUSHORT, 4749705Slinton 0, RNULL, 4759705Slinton " movzZRl AR,-(sp)\n", 4769705Slinton 4779705Slinton OPLTYPE, FORARG, 4789705Slinton SANY, TANY, 4799705Slinton SANY, TDOUBLE, 4809705Slinton 0, RNULL, 4819705Slinton " movd AR,-(sp)\n", 4829705Slinton 4839705Slinton OPLTYPE, FORARG, 4849705Slinton SANY, TANY, 4859705Slinton SANY, TFLOAT, 4869705Slinton 0, RNULL, 4879705Slinton " cvtfd AR,-(sp)\n", 4889705Slinton 48917740Sralph #if defined(FORT) || defined(SPRECC) 4909705Slinton UNARY MINUS, INTAREG|FORCC, 491*24417Smckusick SAREG|AWD, TFLOAT, 49216182Sralph SANY, TANY, 49316182Sralph NAREG|NASL, RESC1|RESCC, 49416182Sralph " mnegZL TAL,A1\n", 49516182Sralph 496*24417Smckusick #endif 49716182Sralph 49816182Sralph UNARY MINUS, INTAREG|FORCC, 4999705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG|TDOUBLE, 5009705Slinton SANY, TANY, 5019705Slinton NAREG|NASL, RESC1|RESCC, 5029705Slinton " mnegZL AL,A1\n", 5039705Slinton 5049705Slinton COMPL, INTAREG|FORCC, 50523479Smckusick SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5069705Slinton SANY, TANY, 5079705Slinton NAREG|NASL, RESC1|RESCC, 5089705Slinton " mcomZL AL,A1\n", 5099705Slinton 5109705Slinton COMPL, INTAREG|FORCC, 5119705Slinton SAREG|AWD, ANYSIGNED|ANYUSIGNED, 5129705Slinton SANY, TANY, 5139705Slinton NAREG|NASL, RESC1|RESCC, 5149705Slinton " cvtZLl AL,A1\n mcoml A1,A1\n", 5159705Slinton 5169705Slinton AND, FORCC, 5179705Slinton SAREG|AWD, TWORD, 5189705Slinton SCON, TWORD, 5199705Slinton 0, RESCC, 5209705Slinton " bitl ZZ,AL\n", 5219705Slinton 5229705Slinton AND, FORCC, 5239705Slinton SAREG|AWD, TSHORT|TUSHORT, 5249705Slinton SSCON, TWORD, 5259705Slinton 0, RESCC, 5269705Slinton " bitw ZZ,AL\n", 5279705Slinton 5289705Slinton AND, FORCC, 5299705Slinton SAREG|AWD, TCHAR|TUCHAR, 5309705Slinton SCCON, TWORD, 5319705Slinton 0, RESCC, 5329705Slinton " bitb ZZ,AL\n", 5339705Slinton 5349705Slinton ASG AND, INAREG|FOREFF|FORCC, 5359705Slinton SAREG, TWORD, 5369705Slinton SCON, TWORD, 5379705Slinton 0, RLEFT|RESCC, 5389705Slinton " bicl2 AR,AL\n", 5399705Slinton 5409705Slinton ASG OPMUL, INAREG|FOREFF|FORCC, 5419705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5429705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5439705Slinton 0, RLEFT|RESCC, 5449705Slinton " OL2 AR,AL\n", 5459705Slinton 5469705Slinton OPMUL, INAREG|INTAREG|FORCC, 5479705Slinton STAREG, TINT|TUNSIGNED|TLONG|TULONG, 5489705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5499705Slinton 0, RLEFT|RESCC, 5509705Slinton " OL2 AR,AL\n", 5519705Slinton 5529705Slinton OPMUL, INAREG|INTAREG|FORCC, 5539705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5549705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5559705Slinton NAREG|NASL|NASR, RESC1|RESCC, 5569705Slinton " OL3 AR,AL,A1\n", 5579705Slinton 5589705Slinton ASG MOD, INAREG|INTAREG|FOREFF|FORCC, 5599705Slinton SAREG, TINT|TUNSIGNED|TLONG|TULONG, 5609705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5619705Slinton NAREG, RLEFT|RESCC, 5629705Slinton " divl3 AR,AL,A1\n mull2 AR,A1\n subl2 A1,AL\n", 5639705Slinton 5649705Slinton MOD, INAREG|INTAREG, 5659705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5669705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5679705Slinton NAREG, RESC1, 5689705Slinton " divl3 AR,AL,A1\n mull2 AR,A1\n subl3 A1,AL,A1\n", 5699705Slinton 5709705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 5719705Slinton SAREG, TPOINT|TINT|TLONG|TUNSIGNED|TULONG, 5729705Slinton SONE, TINT|TLONG, 5739705Slinton 0, RLEFT|RESCC, 5749705Slinton " incZL AL\n", 5759705Slinton 5769705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 5779705Slinton AWD, ANYSIGNED|ANYUSIGNED, 5789705Slinton SONE, TINT|TLONG, 5799705Slinton 0, RLEFT|RESCC, 5809705Slinton " incZL AL\n", 5819705Slinton 5829705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 5839705Slinton SAREG, TSHORT|TCHAR, 5849705Slinton SONE, TINT|TLONG, 5859705Slinton 0, RLEFT|RESCC, 5869705Slinton " incZL AL\n cvtZLl AL,AL\n", 5879705Slinton 5889705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 5899705Slinton SAREG, TUSHORT|TUCHAR, 5909705Slinton SONE, TINT|TLONG, 5919705Slinton 0, RLEFT|RESCC, 5929705Slinton " incZL AL\n movzZLl AL,AL\n", 5939705Slinton 5949705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 5959705Slinton SAREG, TPOINT|TINT|TLONG|TUNSIGNED|TULONG, 5969705Slinton SONE, TINT|TLONG, 5979705Slinton 0, RLEFT|RESCC, 5989705Slinton " decZL AL\n", 5999705Slinton 6009705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 6019705Slinton AWD, ANYSIGNED|ANYUSIGNED, 6029705Slinton SONE, TINT|TLONG, 6039705Slinton 0, RLEFT|RESCC, 6049705Slinton " decZL AL\n", 6059705Slinton 6069705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 6079705Slinton SAREG, TSHORT|TCHAR, 6089705Slinton SONE, TINT|TLONG, 6099705Slinton 0, RLEFT|RESCC, 6109705Slinton " decZL AL\n cvtZLl AL,AL\n", 6119705Slinton 6129705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 6139705Slinton SAREG, TUSHORT|TUCHAR, 6149705Slinton SONE, TINT|TLONG, 6159705Slinton 0, RLEFT|RESCC, 6169705Slinton " decZL AL\n movzZLl AL,AL\n", 6179705Slinton 6189705Slinton PLUS, INAREG|INTAREG|FORCC, 6199705Slinton STAREG, TWORD, 6209705Slinton SONE, TWORD, 6219705Slinton 0, RLEFT|RESCC, 6229705Slinton " incZL AL\n", 6239705Slinton 6249705Slinton PLUS, INAREG|INTAREG|FORCC, 6259705Slinton STAREG, TSHORT|TCHAR, 6269705Slinton SONE, TWORD, 6279705Slinton 0, RLEFT|RESCC, 6289705Slinton " incZL AL\n cvtZLl AL,AL\n", 6299705Slinton 6309705Slinton PLUS, INAREG|INTAREG|FORCC, 6319705Slinton STAREG, TUSHORT|TUCHAR, 6329705Slinton SONE, TWORD, 6339705Slinton 0, RLEFT|RESCC, 6349705Slinton " incZL AL\n movzZLl AL,AL\n", 6359705Slinton 6369705Slinton MINUS, INAREG|INTAREG|FORCC, 6379705Slinton STAREG, TWORD, 6389705Slinton SONE, TWORD, 6399705Slinton 0, RLEFT|RESCC, 6409705Slinton " decZL AL\n", 6419705Slinton 6429705Slinton MINUS, INAREG|INTAREG|FORCC, 6439705Slinton STAREG, TSHORT|TCHAR, 6449705Slinton SONE, TWORD, 6459705Slinton 0, RLEFT|RESCC, 6469705Slinton " decZL AL\n cvtZLl AL,AL\n", 6479705Slinton 6489705Slinton MINUS, INAREG|INTAREG|FORCC, 6499705Slinton STAREG, TUSHORT|TUCHAR, 6509705Slinton SONE, TWORD, 6519705Slinton 0, RLEFT|RESCC, 6529705Slinton " decZL AL\n movzZLl AL,AL\n", 6539705Slinton 6549705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6559705Slinton SAREG|AWD, TWORD, 6569705Slinton SAREG|AWD, TWORD, 6579705Slinton 0, RLEFT|RESCC, 6589705Slinton " OL2 AR,AL\n", 6599705Slinton 6609705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6619705Slinton SAREG, TWORD, 6629705Slinton SAREG, TSHORT|TUSHORT|TCHAR|TUCHAR, 6639705Slinton 0, RLEFT|RESCC, 6649705Slinton " OL2 AR,AL\n", 6659705Slinton 6669705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6679705Slinton AWD, TSHORT|TUSHORT, 6689705Slinton SAREG|AWD, TSHORT|TUSHORT, 6699705Slinton 0, RLEFT|RESCC, 6709705Slinton " OW2 AR,AL\n", 6719705Slinton 6729705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6739705Slinton AWD, TSHORT|TUSHORT, 6749705Slinton SSCON, TWORD, 6759705Slinton 0, RLEFT|RESCC, 6769705Slinton " OW2 AR,AL\n", 6779705Slinton 6789705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6799705Slinton AWD, TCHAR|TUCHAR, 6809705Slinton SAREG|AWD, TCHAR|TUCHAR, 6819705Slinton 0, RLEFT|RESCC, 6829705Slinton " OB2 AR,AL\n", 6839705Slinton 6849705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6859705Slinton AWD, TCHAR|TUCHAR, 6869705Slinton SCCON, TWORD, 6879705Slinton 0, RLEFT|RESCC, 6889705Slinton " OB2 AR,AL\n", 6899705Slinton 6909705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6919705Slinton SAREG, TSHORT, 6929705Slinton SAREG|AWD, ANYFIXED, 6939705Slinton 0, RLEFT|RESCC, 6949705Slinton " OW2 AR,AL\n cvtZLl AL,AL\n", 6959705Slinton 6969705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6979705Slinton SAREG, TUSHORT, 6989705Slinton SAREG|AWD, ANYFIXED, 6999705Slinton 0, RLEFT|RESCC, 7009705Slinton " OW2 AR,AL\n movzZLl AL,AL\n", 7019705Slinton 7029705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7039705Slinton SAREG, TCHAR, 7049705Slinton SAREG|AWD, ANYFIXED, 7059705Slinton 0, RLEFT|RESCC, 7069705Slinton " OB2 AR,AL\n cvtZLl AL,AL\n", 7079705Slinton 7089705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7099705Slinton SAREG, TUCHAR, 7109705Slinton SAREG|AWD, ANYFIXED, 7119705Slinton 0, RLEFT|RESCC, 7129705Slinton " OB2 AR,AL\n movzZLl AL,AL\n", 7139705Slinton 7149705Slinton OPSIMP, INAREG|INTAREG|FORCC, 7159705Slinton STAREG, ANYFIXED, 7169705Slinton SAREG|AWD, TWORD, 7179705Slinton 0, RLEFT|RESCC, 7189705Slinton " OL2 AR,AL\n", 7199705Slinton 7209705Slinton OPSIMP, INAREG|INTAREG|FORCC, 7219705Slinton SAREG|AWD, TWORD, 7229705Slinton SAREG|AWD, TWORD, 7239705Slinton NAREG|NASL|NASR, RESC1|RESCC, 7249705Slinton " OL3 AR,AL,A1\n", 7259705Slinton 7269705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 7279705Slinton SAREG|AWD, TDOUBLE, 7289705Slinton SAREG|AWD, TDOUBLE, 7299705Slinton 0, RLEFT|RESCC, 7309705Slinton " OD2 AR,AL\n", 7319705Slinton 7329705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 7339705Slinton SAREG|AWD, TFLOAT, 7349705Slinton SAREG|AWD, TFLOAT, 7359705Slinton 0, RLEFT|RESCC, 73617740Sralph #if defined(FORT) || defined(SPRECC) 73716937Sralph " OF2 AR,TAL\n", 73816937Sralph #else 7399705Slinton " OF2 AR,AL\n", 74016937Sralph #endif 7419705Slinton 7429705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 7439705Slinton SAREG|AWD, TDOUBLE, 7449705Slinton SAREG|AWD, TFLOAT, 7459705Slinton NAREG|NASR, RLEFT|RESCC, 7469705Slinton " cvtfd AR,A1\n OD2 A1,AL\n", 7479705Slinton 7489705Slinton ASG OPFLOAT, INAREG|INTAREG|FOREFF|FORCC, 7499705Slinton SAREG|AWD, TFLOAT, 7509705Slinton SAREG|AWD, TDOUBLE, 7519705Slinton NAREG, RLEFT|RESC1|RESCC, 7529705Slinton " cvtfd AL,A1\n OD2 AR,A1\n cvtdf A1,AL\n", 7539705Slinton 7549705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7559705Slinton STAREG, TDOUBLE, 7569705Slinton SAREG|AWD, TDOUBLE, 7579705Slinton 0, RLEFT|RESCC, 7589705Slinton " OD2 AR,AL\n", 7599705Slinton 7609705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7619705Slinton SAREG|AWD, TDOUBLE, 7629705Slinton SAREG|AWD, TDOUBLE, 7639705Slinton NAREG|NASL|NASR, RESC1|RESCC, 7649705Slinton " OD3 AR,AL,A1\n", 7659705Slinton 7669705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7679705Slinton SAREG|AWD, TFLOAT, 7689705Slinton SAREG|AWD, TDOUBLE, 7699705Slinton NAREG|NASL, RESC1|RESCC, 7709705Slinton " cvtfd AL,A1\n OD2 AR,A1\n", 7719705Slinton 7729705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7739705Slinton SAREG|AWD, TDOUBLE, 7749705Slinton SAREG|AWD, TFLOAT, 7759705Slinton NAREG|NASR, RESC1|RESCC, 7769705Slinton " cvtfd AR,A1\n OD3 A1,AL,A1\n", 7779705Slinton 77817740Sralph #if defined(FORT) || defined(SPRECC) 7799705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 78016937Sralph STAREG, TFLOAT, 78116937Sralph SAREG|AWD, TFLOAT, 7829705Slinton 0, RLEFT|RESCC, 78316937Sralph " OF2 AR,TAL\n", 7849705Slinton 7859705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7869705Slinton SAREG|AWD, TFLOAT, 7879705Slinton SAREG|AWD, TFLOAT, 7889705Slinton NAREG|NASL|NASR, RESC1|RESCC, 7899705Slinton " OF3 AR,AL,TA1\n", 7909705Slinton #endif 7919705Slinton 7929705Slinton /* Default actions for hard trees ... */ 7939705Slinton 7949705Slinton # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,"" 7959705Slinton 7969705Slinton UNARY MUL, DF( UNARY MUL ), 7979705Slinton 7989705Slinton INCR, DF(INCR), 7999705Slinton 8009705Slinton DECR, DF(INCR), 8019705Slinton 8029705Slinton ASSIGN, DF(ASSIGN), 8039705Slinton 8049705Slinton STASG, DF(STASG), 8059705Slinton 8069705Slinton FLD, DF(FLD), 8079705Slinton 8089705Slinton OPLEAF, DF(NAME), 8099705Slinton 8109705Slinton OPLOG, FORCC, 8119705Slinton SANY, TANY, 8129705Slinton SANY, TANY, 8139705Slinton REWRITE, BITYPE, 8149705Slinton "", 8159705Slinton 8169705Slinton OPLOG, DF(NOT), 8179705Slinton 8189705Slinton COMOP, DF(COMOP), 8199705Slinton 8209705Slinton INIT, DF(INIT), 8219705Slinton 8229705Slinton OPUNARY, DF(UNARY MINUS), 8239705Slinton 8249705Slinton 8259705Slinton ASG OPANY, DF(ASG PLUS), 8269705Slinton 8279705Slinton OPANY, DF(BITYPE), 8289705Slinton 8299705Slinton FREE, FREE, FREE, FREE, FREE, FREE, FREE, FREE, "help; I'm in trouble\n" }; 830