117740Sralph #ifndef lint 2*19934Smckusick static char *sccsid ="@(#)table.c 1.9 (Berkeley) 05/03/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 66*19934Smckusick /* char -> ushort, result in reg (forced to int type by reclaim()) */ 67*19934Smckusick SCONV, INTAREG|INAREG, 68*19934Smckusick SAREG|AWD, TCHAR, 69*19934Smckusick SANY, TUSHORT, 70*19934Smckusick NAREG|NASL, RESC1, 71*19934Smckusick " cvtbw AL,A1\n movzwl A1,A1\n", 72*19934Smckusick 73*19934Smckusick /* uchar, ushort -> wider */ 74*19934Smckusick SCONV, INTAREG|INAREG, 75*19934Smckusick SAREG|AWD, TUCHAR|TUSHORT, 76*19934Smckusick SANY, TSHORT|TUSHORT|TINT|TUNSIGNED|TLONG|TULONG, 77*19934Smckusick NAREG|NASL, RESC1, 78*19934Smckusick " movzZLl AL,A1\n", 79*19934Smckusick 80*19934Smckusick /* char, short -> wider */ 81*19934Smckusick SCONV, INTAREG|INAREG, 82*19934Smckusick SAREG|AWD, TCHAR|TSHORT, 83*19934Smckusick SANY, TSHORT|TUSHORT|TINT|TUNSIGNED|TLONG|TULONG, 84*19934Smckusick NAREG|NASL, RESC1, 85*19934Smckusick " cvtZLl AL,A1\n", 86*19934Smckusick 87*19934Smckusick /* take care of redundant conversions introduced by reclaim() */ 88*19934Smckusick SCONV, INTAREG, 89*19934Smckusick STAREG, TWORD, 90*19934Smckusick SANY, TWORD, 91*19934Smckusick 0, RLEFT, 92*19934Smckusick "", 93*19934Smckusick 949705Slinton SCONV, INTAREG|FORCC, 9516182Sralph SAREG|AWD, TANY, 969705Slinton SANY, TANY, 979705Slinton NAREG|NASL, RESC1|RESCC, 9816182Sralph " ZA\n", 999705Slinton 1009705Slinton 1019705Slinton INIT, FOREFF, 1029705Slinton SCON, TANY, 1039705Slinton SANY, TWORD, 1049705Slinton 0, RNOP, 1059705Slinton " .long CL\n", 1069705Slinton 1079705Slinton INIT, FOREFF, 1089705Slinton SCON, TANY, 1099705Slinton SANY, TSHORT|TUSHORT, 1109705Slinton 0, RNOP, 1119705Slinton " .word CL\n", 1129705Slinton 1139705Slinton INIT, FOREFF, 1149705Slinton SCON, TANY, 1159705Slinton SANY, TCHAR|TUCHAR, 1169705Slinton 0, RNOP, 1179705Slinton " .byte CL\n", 1189705Slinton 1199705Slinton /* for the use of fortran only */ 1209705Slinton 1219705Slinton GOTO, FOREFF, 1229705Slinton SCON, TANY, 1239705Slinton SANY, TANY, 1249705Slinton 0, RNOP, 1259705Slinton " jbr CL\n", 1269705Slinton 1279705Slinton GOTO, FOREFF, 12817740Sralph SNAME|SOREG, TANY, 1299705Slinton SANY, TANY, 1309705Slinton 0, RNOP, 1319705Slinton " jmp *AL\n", 1329705Slinton 1339705Slinton GOTO, FOREFF, 1349705Slinton SAREG, TANY, 1359705Slinton SANY, TANY, 1369705Slinton 0, RNOP, 1379705Slinton " jmp (AL)\n", 1389705Slinton 1399705Slinton STARG, FORARG, 1409705Slinton SCON|SOREG, TANY, 1419705Slinton SANY, TANY, 1429705Slinton 0, RNULL, 1439705Slinton " subl2 ZT,sp\nZS", 1449705Slinton 1459705Slinton STASG, FOREFF, 1469705Slinton SNAME|SOREG, TANY, 1479705Slinton SCON|SAREG, TANY, 1489705Slinton 0, RNOP, 1499705Slinton "ZS", 1509705Slinton 1519705Slinton STASG, INAREG, 1529705Slinton SNAME|SOREG, TANY, 1539705Slinton SCON, TANY, 1549705Slinton NAREG, RESC1, 1559705Slinton "ZS movl AR,A1\n", 1569705Slinton 1579705Slinton STASG, INAREG, 1589705Slinton SNAME|SOREG, TANY, 1599705Slinton SAREG, TANY, 1609705Slinton 0, RRIGHT, 1619705Slinton " pushl AR\nZS movl (sp)+,AR\n", 1629705Slinton 1639705Slinton FLD, INAREG|INTAREG, 1649705Slinton SANY, TANY, 1659705Slinton SFLD, ANYSIGNED, 1669705Slinton NAREG|NASR, RESC1, 1679705Slinton " extv $H,$S,AR,A1\n", 1689705Slinton 1699705Slinton FLD, INAREG|INTAREG, 1709705Slinton SANY, TANY, 1719705Slinton SFLD, ANYUSIGNED, 1729705Slinton NAREG|NASR, RESC1, 1739705Slinton " extzv $H,$S,AR,A1\n", 1749705Slinton 1759705Slinton FLD, FORARG, 1769705Slinton SANY, TANY, 1779705Slinton SFLD, ANYSIGNED, 1789705Slinton 0, RNULL, 1799705Slinton " extv $H,$S,AR,-(sp)\n", 1809705Slinton 1819705Slinton FLD, FORARG, 1829705Slinton SANY, TANY, 1839705Slinton SFLD, ANYUSIGNED, 1849705Slinton 0, RNULL, 1859705Slinton " extzv $H,$S,AR,-(sp)\n", 1869705Slinton 1879705Slinton OPLOG, FORCC, 1889705Slinton SAREG|AWD, TWORD, 1899705Slinton SAREG|AWD, TWORD, 1909705Slinton 0, RESCC, 1919705Slinton " cmpl AL,AR\nZP", 1929705Slinton 1939705Slinton OPLOG, FORCC, 194*19934Smckusick SAREG|AWD, TSHORT, 195*19934Smckusick SAREG|AWD, TSHORT, 1969705Slinton 0, RESCC, 1979705Slinton " cmpw AL,AR\nZP", 1989705Slinton 1999705Slinton OPLOG, FORCC, 200*19934Smckusick SAREG|AWD, TUSHORT, 201*19934Smckusick SAREG|AWD, TUSHORT, 2029705Slinton 0, RESCC, 203*19934Smckusick " cmpw AL,AR\nZP", 204*19934Smckusick 205*19934Smckusick OPLOG, FORCC, 206*19934Smckusick SAREG|AWD, TCHAR, 207*19934Smckusick SAREG|AWD, TCHAR, 208*19934Smckusick 0, RESCC, 2099705Slinton " cmpb AL,AR\nZP", 2109705Slinton 2119705Slinton OPLOG, FORCC, 212*19934Smckusick SAREG|AWD, TUCHAR, 213*19934Smckusick SAREG|AWD, TUCHAR, 214*19934Smckusick 0, RESCC, 215*19934Smckusick " cmpb AL,AR\nZP", 216*19934Smckusick 217*19934Smckusick OPLOG, FORCC, 2189705Slinton SAREG|AWD, TSHORT|TUSHORT, 2199705Slinton SSCON, TANY, 2209705Slinton 0, RESCC, 2219705Slinton " cmpw AL,AR\nZP", 2229705Slinton 2239705Slinton OPLOG, FORCC, 2249705Slinton SAREG|AWD, TCHAR|TUCHAR, 2259705Slinton SCCON, TANY, 2269705Slinton 0, RESCC, 2279705Slinton " cmpb AL,AR\nZP", 2289705Slinton 2299705Slinton OPLOG, FORCC, 2309705Slinton SAREG|AWD, TDOUBLE, 2319705Slinton SAREG|AWD, TDOUBLE, 2329705Slinton 0, RESCC, 2339705Slinton " cmpd AL,AR\nZP", 2349705Slinton 2359705Slinton OPLOG, FORCC, 2369705Slinton SAREG|AWD, TDOUBLE, 2379705Slinton SAREG|AWD, TFLOAT, 23817205Sralph NAREG|NASR, RESCC, 2399705Slinton " cvtfd AR,A1\n cmpd AL,A1\nZP", 2409705Slinton 2419705Slinton OPLOG, FORCC, 2429705Slinton SAREG|AWD, TFLOAT, 2439705Slinton SAREG|AWD, TDOUBLE, 24417205Sralph NAREG|NASL, RESCC, 2459705Slinton " cvtfd AL,A1\n cmpd A1,AR\nZP", 2469705Slinton 2479705Slinton OPLOG, FORCC, 2489705Slinton SAREG|AWD, TFLOAT, 2499705Slinton SAREG|AWD, TFLOAT, 2509705Slinton 0, RESCC, 2519705Slinton " cmpf AL,AR\nZP", 2529705Slinton 2539705Slinton CCODES, INAREG|INTAREG, 2549705Slinton SANY, TANY, 2559705Slinton SANY, TANY, 2569705Slinton NAREG, RESC1, 2579705Slinton " movl $1,A1\nZN", 2589705Slinton 2599705Slinton UNARY CALL, INTAREG, 2609705Slinton SCON, TANY, 26116182Sralph SANY, TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE, 26216182Sralph NAREG|NASL, RESC1, 26316182Sralph " calls ZC,CL\n", 26416182Sralph 26516182Sralph UNARY CALL, INTAREG, 2669705Slinton SAREG, TANY, 2679705Slinton SANY, TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE, 2689705Slinton NAREG|NASL, RESC1, /* should be 0 */ 2699705Slinton " calls ZC,(AL)\n", 2709705Slinton 2719705Slinton UNARY CALL, INAREG|INTAREG, 2729705Slinton SNAME, TANY, 2739705Slinton SANY, TANY, 2749705Slinton NAREG|NASL, RESC1, /* really reg 0 */ 2759705Slinton " calls ZC,*AL\n", 2769705Slinton 2779705Slinton UNARY CALL, INAREG|INTAREG, 2789705Slinton SSOREG, TANY, 2799705Slinton SANY, TANY, 2809705Slinton NAREG|NASL, RESC1, /* really reg 0 */ 2819705Slinton " calls ZC,*AL\n", 2829705Slinton 2839705Slinton ASG RS, INAREG|FOREFF|FORCC, 2849705Slinton SAREG, TWORD, 2859705Slinton SCON, TINT, 2869705Slinton 0, RLEFT|RESCC, 2879705Slinton " extzv AR,ZU,AL,AL\n", 2889705Slinton 2899705Slinton ASG RS, INAREG|FOREFF|FORCC, 2909705Slinton SAREG, TWORD, 2919705Slinton SAREG, ANYFIXED, 2929705Slinton NAREG, RLEFT|RESCC, 2939705Slinton " subl3 AR,$32,A1\n extzv AR,A1,AL,AL\n", 2949705Slinton 2959705Slinton ASG RS, INAREG|FOREFF|FORCC, 2969705Slinton SAREG, TWORD, 2979705Slinton SAREG|AWD, TWORD, 2989705Slinton NAREG, RLEFT|RESCC, 2999705Slinton " subl3 AR,$32,A1\n extzv AR,A1,AL,AL\n", 3009705Slinton 3019705Slinton RS, INAREG|INTAREG|FORCC, 3029705Slinton SAREG, TWORD, 3039705Slinton SCON, TINT, 3049705Slinton NAREG|NASL, RESC1|RESCC, 3059705Slinton " extzv AR,ZU,AL,A1\n", 3069705Slinton 3079705Slinton ASG LS, INAREG|FOREFF|FORCC, 3089705Slinton SAREG|AWD, TWORD, 3099705Slinton SAREG|NIAWD, ANYSIGNED|ANYUSIGNED, 3109705Slinton 0, RLEFT|RESCC, 3119705Slinton " ashl AR,AL,AL\n", 3129705Slinton 3139705Slinton ASG LS, INAREG|FOREFF|FORCC, 3149705Slinton SAREG|AWD, TWORD, 3159705Slinton SSOREG, ANYSIGNED|ANYUSIGNED, 3169705Slinton 0, RLEFT|RESCC, 3179705Slinton " ashl AR,AL,AL\n", 3189705Slinton 3199705Slinton ASG LS, INAREG|FOREFF|FORCC, 3209705Slinton SAREG|AWD, TWORD, 3219705Slinton SOREG, ANYSIGNED|ANYUSIGNED, 3229705Slinton NAREG, RLEFT|RESCC, 3239705Slinton " ZB AR,A1\n ashl A1,AL,AL\n", 3249705Slinton 3259705Slinton LS, INAREG|INTAREG|FORCC, 3269705Slinton SAREG|AWD, TWORD, 3279705Slinton SAREG|NIAWD, ANYSIGNED|ANYUSIGNED, 3289705Slinton NAREG|NASL|NASR, RESC1|RESCC, 3299705Slinton " ashl AR,AL,A1\n", 3309705Slinton 3319705Slinton LS, INAREG|INTAREG|FORCC, 3329705Slinton SAREG|AWD, TWORD, 3339705Slinton SSOREG, ANYSIGNED|ANYUSIGNED, 3349705Slinton NAREG|NASL|NASR, RESC1|RESCC, 3359705Slinton " ashl AR,AL,A1\n", 3369705Slinton 3379705Slinton LS, INAREG|INTAREG|FORCC, 3389705Slinton SAREG|AWD, TWORD, 3399705Slinton SOREG, ANYSIGNED|ANYUSIGNED, 3409705Slinton NAREG|NASR, RESC1|RESCC, 3419705Slinton " ZB AR,A1\n ashl A1,AL,A1\n", 3429705Slinton 3439705Slinton INCR, FOREFF, 3449705Slinton AWD, TANY, 3459705Slinton SCON, TANY, 3469705Slinton 0, RLEFT, 3479705Slinton " ZE\n", 3489705Slinton 3499705Slinton DECR, FOREFF, 3509705Slinton AWD, TANY, 3519705Slinton SCON, TANY, 3529705Slinton 0, RLEFT, 3539705Slinton " ZE\n", 3549705Slinton 3559705Slinton INCR, FOREFF, 3569705Slinton SAREG, TWORD, 3579705Slinton SCON, TANY, 3589705Slinton 0, RLEFT, 3599705Slinton " ZE\n", 3609705Slinton 3619705Slinton DECR, FOREFF, 3629705Slinton SAREG, TWORD, 3639705Slinton SCON, TANY, 3649705Slinton 0, RLEFT, 3659705Slinton " ZE\n", 3669705Slinton 3679705Slinton /* jwf INCR and DECR for SAREG TCHAR|TSHORT matched by ASG PLUS etc */ 3689705Slinton 3699705Slinton INCR, INAREG|INTAREG, 3709705Slinton AWD, TANY, 3719705Slinton SCON, TANY, 3729705Slinton NAREG, RESC1, 3739705Slinton " ZD\n", 3749705Slinton 3759705Slinton DECR, INAREG|INTAREG, 3769705Slinton AWD, TANY, 3779705Slinton SCON, TANY, 3789705Slinton NAREG, RESC1, 3799705Slinton " ZD\n", 3809705Slinton 3819705Slinton INCR, INAREG|INTAREG, 3829705Slinton SAREG, TWORD, 3839705Slinton SCON, TANY, 3849705Slinton NAREG, RESC1, 3859705Slinton " ZD\n", 3869705Slinton 3879705Slinton DECR, INAREG|INTAREG, 3889705Slinton SAREG, TWORD, 3899705Slinton SCON, TANY, 3909705Slinton NAREG, RESC1, 3919705Slinton " ZD\n", 3929705Slinton 3939705Slinton ASSIGN, INAREG|FOREFF|FORCC, 39416182Sralph SAREG|AWD, TDOUBLE, 39516182Sralph SAREG|AWD, TUCHAR|TUSHORT, 39616182Sralph NAREG|NASR, RLEFT|RESCC, 39716182Sralph " movzZRl AR,A1\n cvtld A1,AL\n", 39816182Sralph 39916182Sralph ASSIGN, INAREG|FOREFF|FORCC, 40016182Sralph SAREG|AWD, TFLOAT, 40116182Sralph SAREG|AWD, TUCHAR|TUSHORT, 40216182Sralph NAREG|NASR, RLEFT|RESCC, 40316182Sralph " movzZRl AR,A1\n cvtlf A1,AL\n", 40416182Sralph 40516182Sralph ASSIGN, INAREG|FOREFF|FORCC, 4069705Slinton SAREG|AWD, TANY, 4079705Slinton SAREG|AWD, TANY, 4089705Slinton 0, RLEFT|RRIGHT|RESCC, 4099705Slinton " ZA\n", 4109705Slinton 4119705Slinton ASSIGN, INAREG|FOREFF, 4129705Slinton SFLD, TANY, 4139705Slinton SAREG|AWD, TWORD, 4149705Slinton 0, RRIGHT, 4159705Slinton " insv AR,$H,$S,AL\n", 4169705Slinton 4179705Slinton ASSIGN, INAREG|FOREFF|FORCC, 4189705Slinton SAREG|AWD, TWORD, 4199705Slinton SFLD, ANYSIGNED, 4209705Slinton 0, RLEFT|RESCC, 4219705Slinton " extv $H,$S,AR,AL\n", 4229705Slinton 4239705Slinton ASSIGN, INAREG|FOREFF|FORCC, 4249705Slinton SAREG|AWD, TWORD, 4259705Slinton SFLD, ANYUSIGNED, 4269705Slinton 0, RLEFT|RESCC, 4279705Slinton " extzv $H,$S,AR,AL\n", 4289705Slinton 4299705Slinton /* dummy UNARY MUL entry to get U* to possibly match OPLTYPE */ 4309705Slinton UNARY MUL, FOREFF, 4319705Slinton SCC, TANY, 4329705Slinton SCC, TANY, 4339705Slinton 0, RNULL, 4349705Slinton " HELP HELP HELP\n", 4359705Slinton 4369705Slinton REG, INTEMP, 4379705Slinton SANY, TANY, 4389705Slinton SAREG, TDOUBLE, 4399705Slinton 2*NTEMP, RESC1, 4409705Slinton " movd AR,A1\n", 4419705Slinton 4429705Slinton REG, INTEMP, 4439705Slinton SANY, TANY, 4449705Slinton SAREG, TANY, 4459705Slinton NTEMP, RESC1, 4469705Slinton " movZF AR,A1\n", 4479705Slinton 44817740Sralph #if defined(FORT) || defined(SPRECC) 44917740Sralph REG, FORARG, 4509705Slinton SANY, TANY, 4519705Slinton SAREG, TFLOAT, 4529705Slinton 0, RNULL, 4539705Slinton " cvtfd AR,-(sp)\n", 4549705Slinton 4559705Slinton REG, FORARG, 4569705Slinton SANY, TANY, 4579705Slinton SAREG, TDOUBLE, 4589705Slinton 0, RNULL, 4599705Slinton " movZR AR,-(sp)\n", 4609705Slinton #endif 4619705Slinton 4629705Slinton OPLEAF, FOREFF, 4639705Slinton SANY, TANY, 4649705Slinton SAREG|AWD, TANY, 4659705Slinton 0, RLEFT, 4669705Slinton "", 4679705Slinton 4689705Slinton OPLTYPE, INAREG|INTAREG, 4699705Slinton SANY, TANY, 4709705Slinton SANY, TANY, 4719705Slinton NAREG|NASR, RESC1, 4729705Slinton " ZA\n", 4739705Slinton 4749705Slinton OPLTYPE, FORCC, 4759705Slinton SANY, TANY, 4769705Slinton SANY, TANY, 4779705Slinton 0, RESCC, 4789705Slinton " tstZR AR\n", 4799705Slinton 4809705Slinton OPLTYPE, FORARG, 4819705Slinton SANY, TANY, 4829705Slinton SANY, TWORD, 4839705Slinton 0, RNULL, 4849705Slinton " pushl AR\n", 4859705Slinton 4869705Slinton OPLTYPE, FORARG, 4879705Slinton SANY, TANY, 4889705Slinton SANY, TCHAR|TSHORT, 4899705Slinton 0, RNULL, 4909705Slinton " cvtZRl AR,-(sp)\n", 4919705Slinton 4929705Slinton OPLTYPE, FORARG, 4939705Slinton SANY, TANY, 4949705Slinton SANY, TUCHAR|TUSHORT, 4959705Slinton 0, RNULL, 4969705Slinton " movzZRl AR,-(sp)\n", 4979705Slinton 4989705Slinton OPLTYPE, FORARG, 4999705Slinton SANY, TANY, 5009705Slinton SANY, TDOUBLE, 5019705Slinton 0, RNULL, 5029705Slinton " movd AR,-(sp)\n", 5039705Slinton 5049705Slinton OPLTYPE, FORARG, 5059705Slinton SANY, TANY, 5069705Slinton SANY, TFLOAT, 5079705Slinton 0, RNULL, 5089705Slinton " cvtfd AR,-(sp)\n", 5099705Slinton 51017740Sralph #if defined(FORT) || defined(SPRECC) 5119705Slinton UNARY MINUS, INTAREG|FORCC, 51216182Sralph SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG|TFLOAT|TDOUBLE, 51316182Sralph SANY, TANY, 51416182Sralph NAREG|NASL, RESC1|RESCC, 51516182Sralph " mnegZL TAL,A1\n", 51616182Sralph 51716182Sralph #else 51816182Sralph 51916182Sralph UNARY MINUS, INTAREG|FORCC, 5209705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG|TDOUBLE, 5219705Slinton SANY, TANY, 5229705Slinton NAREG|NASL, RESC1|RESCC, 5239705Slinton " mnegZL AL,A1\n", 52416182Sralph #endif 5259705Slinton 5269705Slinton COMPL, INTAREG|FORCC, 5279705Slinton SAREG|AWD, TINT|TUNSIGNED, 5289705Slinton SANY, TANY, 5299705Slinton NAREG|NASL, RESC1|RESCC, 5309705Slinton " mcomZL AL,A1\n", 5319705Slinton 5329705Slinton COMPL, INTAREG|FORCC, 5339705Slinton SAREG|AWD, ANYSIGNED|ANYUSIGNED, 5349705Slinton SANY, TANY, 5359705Slinton NAREG|NASL, RESC1|RESCC, 5369705Slinton " cvtZLl AL,A1\n mcoml A1,A1\n", 5379705Slinton 5389705Slinton AND, FORCC, 5399705Slinton SAREG|AWD, TWORD, 5409705Slinton SCON, TWORD, 5419705Slinton 0, RESCC, 5429705Slinton " bitl ZZ,AL\n", 5439705Slinton 5449705Slinton AND, FORCC, 5459705Slinton SAREG|AWD, TSHORT|TUSHORT, 5469705Slinton SSCON, TWORD, 5479705Slinton 0, RESCC, 5489705Slinton " bitw ZZ,AL\n", 5499705Slinton 5509705Slinton AND, FORCC, 5519705Slinton SAREG|AWD, TCHAR|TUCHAR, 5529705Slinton SCCON, TWORD, 5539705Slinton 0, RESCC, 5549705Slinton " bitb ZZ,AL\n", 5559705Slinton 5569705Slinton ASG AND, INAREG|FOREFF|FORCC, 5579705Slinton SAREG, TWORD, 5589705Slinton SCON, TWORD, 5599705Slinton 0, RLEFT|RESCC, 5609705Slinton " bicl2 AR,AL\n", 5619705Slinton 5629705Slinton ASG OPMUL, INAREG|FOREFF|FORCC, 5639705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5649705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5659705Slinton 0, RLEFT|RESCC, 5669705Slinton " OL2 AR,AL\n", 5679705Slinton 5689705Slinton OPMUL, INAREG|INTAREG|FORCC, 5699705Slinton STAREG, TINT|TUNSIGNED|TLONG|TULONG, 5709705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5719705Slinton 0, RLEFT|RESCC, 5729705Slinton " OL2 AR,AL\n", 5739705Slinton 5749705Slinton OPMUL, INAREG|INTAREG|FORCC, 5759705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5769705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5779705Slinton NAREG|NASL|NASR, RESC1|RESCC, 5789705Slinton " OL3 AR,AL,A1\n", 5799705Slinton 5809705Slinton ASG MOD, INAREG|INTAREG|FOREFF|FORCC, 5819705Slinton SAREG, TINT|TUNSIGNED|TLONG|TULONG, 5829705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5839705Slinton NAREG, RLEFT|RESCC, 5849705Slinton " divl3 AR,AL,A1\n mull2 AR,A1\n subl2 A1,AL\n", 5859705Slinton 5869705Slinton MOD, INAREG|INTAREG, 5879705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5889705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5899705Slinton NAREG, RESC1, 5909705Slinton " divl3 AR,AL,A1\n mull2 AR,A1\n subl3 A1,AL,A1\n", 5919705Slinton 5929705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 5939705Slinton SAREG, TPOINT|TINT|TLONG|TUNSIGNED|TULONG, 5949705Slinton SONE, TINT|TLONG, 5959705Slinton 0, RLEFT|RESCC, 5969705Slinton " incZL AL\n", 5979705Slinton 5989705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 5999705Slinton AWD, ANYSIGNED|ANYUSIGNED, 6009705Slinton SONE, TINT|TLONG, 6019705Slinton 0, RLEFT|RESCC, 6029705Slinton " incZL AL\n", 6039705Slinton 6049705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 6059705Slinton SAREG, TSHORT|TCHAR, 6069705Slinton SONE, TINT|TLONG, 6079705Slinton 0, RLEFT|RESCC, 6089705Slinton " incZL AL\n cvtZLl AL,AL\n", 6099705Slinton 6109705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 6119705Slinton SAREG, TUSHORT|TUCHAR, 6129705Slinton SONE, TINT|TLONG, 6139705Slinton 0, RLEFT|RESCC, 6149705Slinton " incZL AL\n movzZLl AL,AL\n", 6159705Slinton 6169705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 6179705Slinton SAREG, TPOINT|TINT|TLONG|TUNSIGNED|TULONG, 6189705Slinton SONE, TINT|TLONG, 6199705Slinton 0, RLEFT|RESCC, 6209705Slinton " decZL AL\n", 6219705Slinton 6229705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 6239705Slinton AWD, ANYSIGNED|ANYUSIGNED, 6249705Slinton SONE, TINT|TLONG, 6259705Slinton 0, RLEFT|RESCC, 6269705Slinton " decZL AL\n", 6279705Slinton 6289705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 6299705Slinton SAREG, TSHORT|TCHAR, 6309705Slinton SONE, TINT|TLONG, 6319705Slinton 0, RLEFT|RESCC, 6329705Slinton " decZL AL\n cvtZLl AL,AL\n", 6339705Slinton 6349705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 6359705Slinton SAREG, TUSHORT|TUCHAR, 6369705Slinton SONE, TINT|TLONG, 6379705Slinton 0, RLEFT|RESCC, 6389705Slinton " decZL AL\n movzZLl AL,AL\n", 6399705Slinton 6409705Slinton PLUS, INAREG|INTAREG|FORCC, 6419705Slinton STAREG, TWORD, 6429705Slinton SONE, TWORD, 6439705Slinton 0, RLEFT|RESCC, 6449705Slinton " incZL AL\n", 6459705Slinton 6469705Slinton PLUS, INAREG|INTAREG|FORCC, 6479705Slinton STAREG, TSHORT|TCHAR, 6489705Slinton SONE, TWORD, 6499705Slinton 0, RLEFT|RESCC, 6509705Slinton " incZL AL\n cvtZLl AL,AL\n", 6519705Slinton 6529705Slinton PLUS, INAREG|INTAREG|FORCC, 6539705Slinton STAREG, TUSHORT|TUCHAR, 6549705Slinton SONE, TWORD, 6559705Slinton 0, RLEFT|RESCC, 6569705Slinton " incZL AL\n movzZLl AL,AL\n", 6579705Slinton 6589705Slinton MINUS, INAREG|INTAREG|FORCC, 6599705Slinton STAREG, TWORD, 6609705Slinton SONE, TWORD, 6619705Slinton 0, RLEFT|RESCC, 6629705Slinton " decZL AL\n", 6639705Slinton 6649705Slinton MINUS, INAREG|INTAREG|FORCC, 6659705Slinton STAREG, TSHORT|TCHAR, 6669705Slinton SONE, TWORD, 6679705Slinton 0, RLEFT|RESCC, 6689705Slinton " decZL AL\n cvtZLl AL,AL\n", 6699705Slinton 6709705Slinton MINUS, INAREG|INTAREG|FORCC, 6719705Slinton STAREG, TUSHORT|TUCHAR, 6729705Slinton SONE, TWORD, 6739705Slinton 0, RLEFT|RESCC, 6749705Slinton " decZL AL\n movzZLl AL,AL\n", 6759705Slinton 6769705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6779705Slinton SAREG|AWD, TWORD, 6789705Slinton SAREG|AWD, TWORD, 6799705Slinton 0, RLEFT|RESCC, 6809705Slinton " OL2 AR,AL\n", 6819705Slinton 6829705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6839705Slinton SAREG, TWORD, 6849705Slinton SAREG, TSHORT|TUSHORT|TCHAR|TUCHAR, 6859705Slinton 0, RLEFT|RESCC, 6869705Slinton " OL2 AR,AL\n", 6879705Slinton 6889705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6899705Slinton AWD, TSHORT|TUSHORT, 6909705Slinton SAREG|AWD, TSHORT|TUSHORT, 6919705Slinton 0, RLEFT|RESCC, 6929705Slinton " OW2 AR,AL\n", 6939705Slinton 6949705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6959705Slinton AWD, TSHORT|TUSHORT, 6969705Slinton SSCON, TWORD, 6979705Slinton 0, RLEFT|RESCC, 6989705Slinton " OW2 AR,AL\n", 6999705Slinton 7009705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7019705Slinton AWD, TCHAR|TUCHAR, 7029705Slinton SAREG|AWD, TCHAR|TUCHAR, 7039705Slinton 0, RLEFT|RESCC, 7049705Slinton " OB2 AR,AL\n", 7059705Slinton 7069705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7079705Slinton AWD, TCHAR|TUCHAR, 7089705Slinton SCCON, TWORD, 7099705Slinton 0, RLEFT|RESCC, 7109705Slinton " OB2 AR,AL\n", 7119705Slinton 7129705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7139705Slinton SAREG, TSHORT, 7149705Slinton SAREG|AWD, ANYFIXED, 7159705Slinton 0, RLEFT|RESCC, 7169705Slinton " OW2 AR,AL\n cvtZLl AL,AL\n", 7179705Slinton 7189705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7199705Slinton SAREG, TUSHORT, 7209705Slinton SAREG|AWD, ANYFIXED, 7219705Slinton 0, RLEFT|RESCC, 7229705Slinton " OW2 AR,AL\n movzZLl AL,AL\n", 7239705Slinton 7249705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7259705Slinton SAREG, TCHAR, 7269705Slinton SAREG|AWD, ANYFIXED, 7279705Slinton 0, RLEFT|RESCC, 7289705Slinton " OB2 AR,AL\n cvtZLl AL,AL\n", 7299705Slinton 7309705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7319705Slinton SAREG, TUCHAR, 7329705Slinton SAREG|AWD, ANYFIXED, 7339705Slinton 0, RLEFT|RESCC, 7349705Slinton " OB2 AR,AL\n movzZLl AL,AL\n", 7359705Slinton 7369705Slinton OPSIMP, INAREG|INTAREG|FORCC, 7379705Slinton STAREG, ANYFIXED, 7389705Slinton SAREG|AWD, TWORD, 7399705Slinton 0, RLEFT|RESCC, 7409705Slinton " OL2 AR,AL\n", 7419705Slinton 7429705Slinton OPSIMP, INAREG|INTAREG|FORCC, 7439705Slinton SAREG|AWD, TWORD, 7449705Slinton SAREG|AWD, TWORD, 7459705Slinton NAREG|NASL|NASR, RESC1|RESCC, 7469705Slinton " OL3 AR,AL,A1\n", 7479705Slinton 7489705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 7499705Slinton SAREG|AWD, TDOUBLE, 7509705Slinton SAREG|AWD, TDOUBLE, 7519705Slinton 0, RLEFT|RESCC, 7529705Slinton " OD2 AR,AL\n", 7539705Slinton 7549705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 7559705Slinton SAREG|AWD, TFLOAT, 7569705Slinton SAREG|AWD, TFLOAT, 7579705Slinton 0, RLEFT|RESCC, 75817740Sralph #if defined(FORT) || defined(SPRECC) 75916937Sralph " OF2 AR,TAL\n", 76016937Sralph #else 7619705Slinton " OF2 AR,AL\n", 76216937Sralph #endif 7639705Slinton 7649705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 7659705Slinton SAREG|AWD, TDOUBLE, 7669705Slinton SAREG|AWD, TFLOAT, 7679705Slinton NAREG|NASR, RLEFT|RESCC, 7689705Slinton " cvtfd AR,A1\n OD2 A1,AL\n", 7699705Slinton 7709705Slinton ASG OPFLOAT, INAREG|INTAREG|FOREFF|FORCC, 7719705Slinton SAREG|AWD, TFLOAT, 7729705Slinton SAREG|AWD, TDOUBLE, 7739705Slinton NAREG, RLEFT|RESC1|RESCC, 7749705Slinton " cvtfd AL,A1\n OD2 AR,A1\n cvtdf A1,AL\n", 7759705Slinton 7769705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7779705Slinton STAREG, TDOUBLE, 7789705Slinton SAREG|AWD, TDOUBLE, 7799705Slinton 0, RLEFT|RESCC, 7809705Slinton " OD2 AR,AL\n", 7819705Slinton 7829705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7839705Slinton SAREG|AWD, TDOUBLE, 7849705Slinton SAREG|AWD, TDOUBLE, 7859705Slinton NAREG|NASL|NASR, RESC1|RESCC, 7869705Slinton " OD3 AR,AL,A1\n", 7879705Slinton 7889705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7899705Slinton SAREG|AWD, TFLOAT, 7909705Slinton SAREG|AWD, TDOUBLE, 7919705Slinton NAREG|NASL, RESC1|RESCC, 7929705Slinton " cvtfd AL,A1\n OD2 AR,A1\n", 7939705Slinton 7949705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7959705Slinton SAREG|AWD, TDOUBLE, 7969705Slinton SAREG|AWD, TFLOAT, 7979705Slinton NAREG|NASR, RESC1|RESCC, 7989705Slinton " cvtfd AR,A1\n OD3 A1,AL,A1\n", 7999705Slinton 80017740Sralph #if defined(FORT) || defined(SPRECC) 8019705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 80216937Sralph STAREG, TFLOAT, 80316937Sralph SAREG|AWD, TFLOAT, 8049705Slinton 0, RLEFT|RESCC, 80516937Sralph " OF2 AR,TAL\n", 8069705Slinton 8079705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 8089705Slinton SAREG|AWD, TFLOAT, 8099705Slinton SAREG|AWD, TFLOAT, 8109705Slinton NAREG|NASL|NASR, RESC1|RESCC, 8119705Slinton " OF3 AR,AL,TA1\n", 8129705Slinton #endif 8139705Slinton 8149705Slinton /* Default actions for hard trees ... */ 8159705Slinton 8169705Slinton # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,"" 8179705Slinton 8189705Slinton UNARY MUL, DF( UNARY MUL ), 8199705Slinton 8209705Slinton INCR, DF(INCR), 8219705Slinton 8229705Slinton DECR, DF(INCR), 8239705Slinton 8249705Slinton ASSIGN, DF(ASSIGN), 8259705Slinton 8269705Slinton STASG, DF(STASG), 8279705Slinton 8289705Slinton FLD, DF(FLD), 8299705Slinton 8309705Slinton OPLEAF, DF(NAME), 8319705Slinton 8329705Slinton OPLOG, FORCC, 8339705Slinton SANY, TANY, 8349705Slinton SANY, TANY, 8359705Slinton REWRITE, BITYPE, 8369705Slinton "", 8379705Slinton 8389705Slinton OPLOG, DF(NOT), 8399705Slinton 8409705Slinton COMOP, DF(COMOP), 8419705Slinton 8429705Slinton INIT, DF(INIT), 8439705Slinton 8449705Slinton OPUNARY, DF(UNARY MINUS), 8459705Slinton 8469705Slinton 8479705Slinton ASG OPANY, DF(ASG PLUS), 8489705Slinton 8499705Slinton OPANY, DF(BITYPE), 8509705Slinton 8519705Slinton FREE, FREE, FREE, FREE, FREE, FREE, FREE, FREE, "help; I'm in trouble\n" }; 852