117740Sralph #ifndef lint 2*32960Sdonn static char *sccsid ="@(#)table.c 1.16 (Berkeley) 12/11/87"; 317740Sralph #endif lint 417740Sralph 518558Sralph # include "pass2.h" 69705Slinton 79705Slinton # define WPTR TPTRTO|TINT|TLONG|TFLOAT|TDOUBLE|TPOINT|TUNSIGNED|TULONG 89705Slinton # define AWD SNAME|SOREG|SCON|STARNM|STARREG 99705Slinton /* tbl */ 109705Slinton # define ANYSIGNED TPOINT|TINT|TLONG|TSHORT|TCHAR 119705Slinton # define ANYUSIGNED TUNSIGNED|TULONG|TUSHORT|TUCHAR 129705Slinton # define ANYFIXED ANYSIGNED|ANYUSIGNED 139705Slinton # define TWORD TINT|TUNSIGNED|TPOINT|TLONG|TULONG 149705Slinton # define NIAWD SNAME|SCON|STARNM 159705Slinton /* tbl */ 169705Slinton 179705Slinton struct optab table[] = { 189705Slinton 199705Slinton PCONV, INAREG|INTAREG, 209705Slinton SAREG|AWD, TCHAR|TSHORT, 219705Slinton SANY, TPOINT, 229705Slinton NAREG|NASL, RESC1, 239705Slinton " cvtZLl AL,A1\n", 249705Slinton 259705Slinton PCONV, INAREG|INTAREG, 269705Slinton SAREG|AWD, TUCHAR|TUSHORT, 279705Slinton SANY, TPOINT, 289705Slinton NAREG|NASL, RESC1, 299705Slinton " movzZLl AL,A1\n", 309705Slinton 319705Slinton /* the following entry is to fix a problem with 329705Slinton the manner that the first pass handles the 339705Slinton type of a shift expression */ 349705Slinton PCONV, INAREG|INTAREG, 359705Slinton SAREG|AWD, TINT|TUNSIGNED, 369705Slinton SANY, TPOINT, 379705Slinton NAREG|NASL, RLEFT, 389705Slinton "", 399705Slinton 4017740Sralph #if defined(FORT) || defined(SPRECC) 419705Slinton SCONV, INTAREG|FORCC, 4216182Sralph SAREG|AWD, TDOUBLE, 4316182Sralph SANY, TFLOAT, 4416182Sralph NAREG|NASL, RESC1|RESCC, 4516182Sralph " cvtdf AL,A1\n", 469705Slinton 479705Slinton SCONV, INTAREG|FORCC, 4825753Sdonn SAREG|AWD, ANYSIGNED, 499705Slinton SANY, TFLOAT, 509705Slinton NAREG|NASL, RESC1|RESCC, 519705Slinton " cvtZLf AL,TA1\n", 529705Slinton 539705Slinton SCONV, INTAREG|FORCC, 549705Slinton SAREG|AWD, TUCHAR|TUSHORT, 559705Slinton SANY, TFLOAT, 569705Slinton NAREG|NASL, RESC1|RESCC, 579705Slinton " movzZLl AL,A1\n cvtlf A1,TA1\n", 589705Slinton #endif 599705Slinton 609705Slinton SCONV, INTAREG|FORCC, 619705Slinton SAREG|AWD, TUCHAR|TUSHORT, 629705Slinton SANY, TFLOAT|TDOUBLE, 639705Slinton NAREG|NASL, RESC1|RESCC, 649705Slinton " movzZLl AL,A1\n cvtld A1,A1\n", 659705Slinton 6619934Smckusick /* take care of redundant conversions introduced by reclaim() */ 6719934Smckusick SCONV, INTAREG, 6819934Smckusick STAREG, TWORD, 6919934Smckusick SANY, TWORD, 7019934Smckusick 0, RLEFT, 7119934Smckusick "", 7219934Smckusick 739705Slinton SCONV, INTAREG|FORCC, 7416182Sralph SAREG|AWD, TANY, 759705Slinton SANY, TANY, 769705Slinton NAREG|NASL, RESC1|RESCC, 7716182Sralph " ZA\n", 789705Slinton 799705Slinton 809705Slinton INIT, FOREFF, 819705Slinton SCON, TANY, 829705Slinton SANY, TWORD, 839705Slinton 0, RNOP, 849705Slinton " .long CL\n", 859705Slinton 869705Slinton INIT, FOREFF, 879705Slinton SCON, TANY, 889705Slinton SANY, TSHORT|TUSHORT, 899705Slinton 0, RNOP, 909705Slinton " .word CL\n", 919705Slinton 929705Slinton INIT, FOREFF, 939705Slinton SCON, TANY, 949705Slinton SANY, TCHAR|TUCHAR, 959705Slinton 0, RNOP, 969705Slinton " .byte CL\n", 979705Slinton 989705Slinton /* for the use of fortran only */ 999705Slinton 1009705Slinton GOTO, FOREFF, 1019705Slinton SCON, TANY, 1029705Slinton SANY, TANY, 1039705Slinton 0, RNOP, 1049705Slinton " jbr CL\n", 1059705Slinton 1069705Slinton GOTO, FOREFF, 10717740Sralph SNAME|SOREG, TANY, 1089705Slinton SANY, TANY, 1099705Slinton 0, RNOP, 1109705Slinton " jmp *AL\n", 1119705Slinton 1129705Slinton GOTO, FOREFF, 1139705Slinton SAREG, TANY, 1149705Slinton SANY, TANY, 1159705Slinton 0, RNOP, 1169705Slinton " jmp (AL)\n", 1179705Slinton 1189705Slinton STARG, FORARG, 1199705Slinton SCON|SOREG, TANY, 1209705Slinton SANY, TANY, 1219705Slinton 0, RNULL, 1229705Slinton " subl2 ZT,sp\nZS", 1239705Slinton 1249705Slinton STASG, FOREFF, 1259705Slinton SNAME|SOREG, TANY, 1269705Slinton SCON|SAREG, TANY, 1279705Slinton 0, RNOP, 1289705Slinton "ZS", 1299705Slinton 1309705Slinton STASG, INAREG, 1319705Slinton SNAME|SOREG, TANY, 1329705Slinton SCON, TANY, 1339705Slinton NAREG, RESC1, 1349705Slinton "ZS movl AR,A1\n", 1359705Slinton 1369705Slinton STASG, INAREG, 1379705Slinton SNAME|SOREG, TANY, 1389705Slinton SAREG, TANY, 1399705Slinton 0, RRIGHT, 1409705Slinton " pushl AR\nZS movl (sp)+,AR\n", 1419705Slinton 1429705Slinton FLD, INAREG|INTAREG, 1439705Slinton SANY, TANY, 1449705Slinton SFLD, ANYSIGNED, 1459705Slinton NAREG|NASR, RESC1, 1469705Slinton " extv $H,$S,AR,A1\n", 1479705Slinton 1489705Slinton FLD, INAREG|INTAREG, 1499705Slinton SANY, TANY, 1509705Slinton SFLD, ANYUSIGNED, 1519705Slinton NAREG|NASR, RESC1, 1529705Slinton " extzv $H,$S,AR,A1\n", 1539705Slinton 1549705Slinton FLD, FORARG, 1559705Slinton SANY, TANY, 1569705Slinton SFLD, ANYSIGNED, 1579705Slinton 0, RNULL, 1589705Slinton " extv $H,$S,AR,-(sp)\n", 1599705Slinton 1609705Slinton FLD, FORARG, 1619705Slinton SANY, TANY, 1629705Slinton SFLD, ANYUSIGNED, 1639705Slinton 0, RNULL, 1649705Slinton " extzv $H,$S,AR,-(sp)\n", 1659705Slinton 1669705Slinton OPLOG, FORCC, 1679705Slinton SAREG|AWD, TWORD, 1689705Slinton SAREG|AWD, TWORD, 1699705Slinton 0, RESCC, 1709705Slinton " cmpl AL,AR\nZP", 1719705Slinton 1729705Slinton OPLOG, FORCC, 17319934Smckusick SAREG|AWD, TSHORT, 17419934Smckusick SAREG|AWD, TSHORT, 1759705Slinton 0, RESCC, 1769705Slinton " cmpw AL,AR\nZP", 1779705Slinton 1789705Slinton OPLOG, FORCC, 17919934Smckusick SAREG|AWD, TUSHORT, 18019934Smckusick SAREG|AWD, TUSHORT, 1819705Slinton 0, RESCC, 18219934Smckusick " cmpw AL,AR\nZP", 18319934Smckusick 18419934Smckusick OPLOG, FORCC, 18519934Smckusick SAREG|AWD, TCHAR, 18619934Smckusick SAREG|AWD, TCHAR, 18719934Smckusick 0, RESCC, 1889705Slinton " cmpb AL,AR\nZP", 1899705Slinton 1909705Slinton OPLOG, FORCC, 19119934Smckusick SAREG|AWD, TUCHAR, 19219934Smckusick SAREG|AWD, TUCHAR, 19319934Smckusick 0, RESCC, 19419934Smckusick " cmpb AL,AR\nZP", 19519934Smckusick 19619934Smckusick OPLOG, FORCC, 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, 38725582Sbloom 0, RLEFT|RESCC, 3889705Slinton " ZA\n", 3899705Slinton 39032958Sdonn ASSIGN, FOREFF, 3919705Slinton SFLD, TANY, 3929705Slinton SAREG|AWD, TWORD, 39332958Sdonn 0, RNOP, 3949705Slinton " insv AR,$H,$S,AL\n", 3959705Slinton 39632958Sdonn ASSIGN, INAREG, 397*32960Sdonn SFLD, ANYSIGNED, 39832958Sdonn SAREG|AWD, TWORD, 39932958Sdonn NAREG, RESC1, 40032958Sdonn " insv AR,$H,$S,AL\n extv $H,$S,AL,A1\n", 40132958Sdonn 402*32960Sdonn ASSIGN, INAREG, 403*32960Sdonn SFLD, ANYUSIGNED, 404*32960Sdonn SAREG|AWD, TWORD, 405*32960Sdonn NAREG, RESC1, 406*32960Sdonn " insv AR,$H,$S,AL\n extzv $H,$S,AL,A1\n", 407*32960Sdonn 4089705Slinton ASSIGN, INAREG|FOREFF|FORCC, 4099705Slinton SAREG|AWD, TWORD, 4109705Slinton SFLD, ANYSIGNED, 4119705Slinton 0, RLEFT|RESCC, 4129705Slinton " extv $H,$S,AR,AL\n", 4139705Slinton 4149705Slinton ASSIGN, INAREG|FOREFF|FORCC, 4159705Slinton SAREG|AWD, TWORD, 4169705Slinton SFLD, ANYUSIGNED, 4179705Slinton 0, RLEFT|RESCC, 4189705Slinton " extzv $H,$S,AR,AL\n", 4199705Slinton 4209705Slinton /* dummy UNARY MUL entry to get U* to possibly match OPLTYPE */ 4219705Slinton UNARY MUL, FOREFF, 4229705Slinton SCC, TANY, 4239705Slinton SCC, TANY, 4249705Slinton 0, RNULL, 4259705Slinton " HELP HELP HELP\n", 4269705Slinton 42732959Sdonn OREG, INTEMP, 42832959Sdonn SANY, TANY, 42932959Sdonn SOREG, TDOUBLE, 43032959Sdonn 2*NTEMP, RESC1, 43132959Sdonn " movd AR,A1\n", 43232959Sdonn 43332959Sdonn OREG, INTEMP, 43432959Sdonn SANY, TANY, 43532959Sdonn SOREG, TANY, 43632959Sdonn NTEMP, RESC1, 43732959Sdonn " movZF AR,A1\n", 43832959Sdonn 4399705Slinton REG, INTEMP, 4409705Slinton SANY, TANY, 4419705Slinton SAREG, TDOUBLE, 4429705Slinton 2*NTEMP, RESC1, 4439705Slinton " movd AR,A1\n", 4449705Slinton 4459705Slinton REG, INTEMP, 4469705Slinton SANY, TANY, 4479705Slinton SAREG, TANY, 4489705Slinton NTEMP, RESC1, 4499705Slinton " movZF AR,A1\n", 4509705Slinton 45117740Sralph #if defined(FORT) || defined(SPRECC) 45217740Sralph REG, FORARG, 4539705Slinton SANY, TANY, 4549705Slinton SAREG, TFLOAT, 4559705Slinton 0, RNULL, 4569705Slinton " cvtfd AR,-(sp)\n", 4579705Slinton 4589705Slinton REG, FORARG, 4599705Slinton SANY, TANY, 4609705Slinton SAREG, TDOUBLE, 4619705Slinton 0, RNULL, 4629705Slinton " movZR AR,-(sp)\n", 4639705Slinton #endif 4649705Slinton 4659705Slinton OPLEAF, FOREFF, 4669705Slinton SANY, TANY, 4679705Slinton SAREG|AWD, TANY, 4689705Slinton 0, RLEFT, 4699705Slinton "", 4709705Slinton 4719705Slinton OPLTYPE, INAREG|INTAREG, 4729705Slinton SANY, TANY, 4739705Slinton SANY, TANY, 4749705Slinton NAREG|NASR, RESC1, 4759705Slinton " ZA\n", 4769705Slinton 4779705Slinton OPLTYPE, FORCC, 4789705Slinton SANY, TANY, 4799705Slinton SANY, TANY, 4809705Slinton 0, RESCC, 4819705Slinton " tstZR AR\n", 4829705Slinton 4839705Slinton OPLTYPE, FORARG, 4849705Slinton SANY, TANY, 4859705Slinton SANY, TWORD, 4869705Slinton 0, RNULL, 4879705Slinton " pushl AR\n", 4889705Slinton 4899705Slinton OPLTYPE, FORARG, 4909705Slinton SANY, TANY, 4919705Slinton SANY, TCHAR|TSHORT, 4929705Slinton 0, RNULL, 4939705Slinton " cvtZRl AR,-(sp)\n", 4949705Slinton 4959705Slinton OPLTYPE, FORARG, 4969705Slinton SANY, TANY, 4979705Slinton SANY, TUCHAR|TUSHORT, 4989705Slinton 0, RNULL, 4999705Slinton " movzZRl AR,-(sp)\n", 5009705Slinton 5019705Slinton OPLTYPE, FORARG, 5029705Slinton SANY, TANY, 5039705Slinton SANY, TDOUBLE, 5049705Slinton 0, RNULL, 5059705Slinton " movd AR,-(sp)\n", 5069705Slinton 5079705Slinton OPLTYPE, FORARG, 5089705Slinton SANY, TANY, 5099705Slinton SANY, TFLOAT, 5109705Slinton 0, RNULL, 5119705Slinton " cvtfd AR,-(sp)\n", 5129705Slinton 51317740Sralph #if defined(FORT) || defined(SPRECC) 5149705Slinton UNARY MINUS, INTAREG|FORCC, 51524417Smckusick SAREG|AWD, TFLOAT, 51616182Sralph SANY, TANY, 51716182Sralph NAREG|NASL, RESC1|RESCC, 51816182Sralph " mnegZL TAL,A1\n", 51916182Sralph 52024417Smckusick #endif 52116182Sralph 52216182Sralph UNARY MINUS, INTAREG|FORCC, 5239705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG|TDOUBLE, 5249705Slinton SANY, TANY, 5259705Slinton NAREG|NASL, RESC1|RESCC, 5269705Slinton " mnegZL AL,A1\n", 5279705Slinton 5289705Slinton COMPL, INTAREG|FORCC, 52923479Smckusick SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5309705Slinton SANY, TANY, 5319705Slinton NAREG|NASL, RESC1|RESCC, 5329705Slinton " mcomZL AL,A1\n", 5339705Slinton 5349705Slinton COMPL, INTAREG|FORCC, 5359705Slinton SAREG|AWD, ANYSIGNED|ANYUSIGNED, 5369705Slinton SANY, TANY, 5379705Slinton NAREG|NASL, RESC1|RESCC, 5389705Slinton " cvtZLl AL,A1\n mcoml A1,A1\n", 5399705Slinton 5409705Slinton AND, FORCC, 5419705Slinton SAREG|AWD, TWORD, 5429705Slinton SCON, TWORD, 5439705Slinton 0, RESCC, 5449705Slinton " bitl ZZ,AL\n", 5459705Slinton 5469705Slinton AND, FORCC, 5479705Slinton SAREG|AWD, TSHORT|TUSHORT, 5489705Slinton SSCON, TWORD, 5499705Slinton 0, RESCC, 5509705Slinton " bitw ZZ,AL\n", 5519705Slinton 5529705Slinton AND, FORCC, 5539705Slinton SAREG|AWD, TCHAR|TUCHAR, 5549705Slinton SCCON, TWORD, 5559705Slinton 0, RESCC, 5569705Slinton " bitb ZZ,AL\n", 5579705Slinton 5589705Slinton ASG AND, INAREG|FOREFF|FORCC, 5599705Slinton SAREG, TWORD, 5609705Slinton SCON, TWORD, 5619705Slinton 0, RLEFT|RESCC, 5629705Slinton " bicl2 AR,AL\n", 5639705Slinton 5649705Slinton ASG OPMUL, INAREG|FOREFF|FORCC, 5659705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5669705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5679705Slinton 0, RLEFT|RESCC, 5689705Slinton " OL2 AR,AL\n", 5699705Slinton 5709705Slinton OPMUL, INAREG|INTAREG|FORCC, 5719705Slinton STAREG, TINT|TUNSIGNED|TLONG|TULONG, 5729705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5739705Slinton 0, RLEFT|RESCC, 5749705Slinton " OL2 AR,AL\n", 5759705Slinton 5769705Slinton OPMUL, INAREG|INTAREG|FORCC, 5779705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5789705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5799705Slinton NAREG|NASL|NASR, RESC1|RESCC, 5809705Slinton " OL3 AR,AL,A1\n", 5819705Slinton 5829705Slinton ASG MOD, INAREG|INTAREG|FOREFF|FORCC, 5839705Slinton SAREG, TINT|TUNSIGNED|TLONG|TULONG, 5849705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5859705Slinton NAREG, RLEFT|RESCC, 5869705Slinton " divl3 AR,AL,A1\n mull2 AR,A1\n subl2 A1,AL\n", 5879705Slinton 5889705Slinton MOD, INAREG|INTAREG, 5899705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5909705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 5919705Slinton NAREG, RESC1, 5929705Slinton " divl3 AR,AL,A1\n mull2 AR,A1\n subl3 A1,AL,A1\n", 5939705Slinton 5949705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 5959705Slinton SAREG, TPOINT|TINT|TLONG|TUNSIGNED|TULONG, 5969705Slinton SONE, TINT|TLONG, 5979705Slinton 0, RLEFT|RESCC, 5989705Slinton " incZL AL\n", 5999705Slinton 6009705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 6019705Slinton AWD, ANYSIGNED|ANYUSIGNED, 6029705Slinton SONE, TINT|TLONG, 6039705Slinton 0, RLEFT|RESCC, 6049705Slinton " incZL AL\n", 6059705Slinton 6069705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 6079705Slinton SAREG, TSHORT|TCHAR, 6089705Slinton SONE, TINT|TLONG, 6099705Slinton 0, RLEFT|RESCC, 6109705Slinton " incZL AL\n cvtZLl AL,AL\n", 6119705Slinton 6129705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 6139705Slinton SAREG, TUSHORT|TUCHAR, 6149705Slinton SONE, TINT|TLONG, 6159705Slinton 0, RLEFT|RESCC, 6169705Slinton " incZL AL\n movzZLl AL,AL\n", 6179705Slinton 6189705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 6199705Slinton SAREG, TPOINT|TINT|TLONG|TUNSIGNED|TULONG, 6209705Slinton SONE, TINT|TLONG, 6219705Slinton 0, RLEFT|RESCC, 6229705Slinton " decZL AL\n", 6239705Slinton 6249705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 6259705Slinton AWD, ANYSIGNED|ANYUSIGNED, 6269705Slinton SONE, TINT|TLONG, 6279705Slinton 0, RLEFT|RESCC, 6289705Slinton " decZL AL\n", 6299705Slinton 6309705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 6319705Slinton SAREG, TSHORT|TCHAR, 6329705Slinton SONE, TINT|TLONG, 6339705Slinton 0, RLEFT|RESCC, 6349705Slinton " decZL AL\n cvtZLl AL,AL\n", 6359705Slinton 6369705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 6379705Slinton SAREG, TUSHORT|TUCHAR, 6389705Slinton SONE, TINT|TLONG, 6399705Slinton 0, RLEFT|RESCC, 6409705Slinton " decZL AL\n movzZLl AL,AL\n", 6419705Slinton 6429705Slinton PLUS, INAREG|INTAREG|FORCC, 6439705Slinton STAREG, TWORD, 6449705Slinton SONE, TWORD, 6459705Slinton 0, RLEFT|RESCC, 6469705Slinton " incZL AL\n", 6479705Slinton 6489705Slinton PLUS, INAREG|INTAREG|FORCC, 6499705Slinton STAREG, TSHORT|TCHAR, 6509705Slinton SONE, TWORD, 6519705Slinton 0, RLEFT|RESCC, 6529705Slinton " incZL AL\n cvtZLl AL,AL\n", 6539705Slinton 6549705Slinton PLUS, INAREG|INTAREG|FORCC, 6559705Slinton STAREG, TUSHORT|TUCHAR, 6569705Slinton SONE, TWORD, 6579705Slinton 0, RLEFT|RESCC, 6589705Slinton " incZL AL\n movzZLl AL,AL\n", 6599705Slinton 6609705Slinton MINUS, INAREG|INTAREG|FORCC, 6619705Slinton STAREG, TWORD, 6629705Slinton SONE, TWORD, 6639705Slinton 0, RLEFT|RESCC, 6649705Slinton " decZL AL\n", 6659705Slinton 6669705Slinton MINUS, INAREG|INTAREG|FORCC, 6679705Slinton STAREG, TSHORT|TCHAR, 6689705Slinton SONE, TWORD, 6699705Slinton 0, RLEFT|RESCC, 6709705Slinton " decZL AL\n cvtZLl AL,AL\n", 6719705Slinton 6729705Slinton MINUS, INAREG|INTAREG|FORCC, 6739705Slinton STAREG, TUSHORT|TUCHAR, 6749705Slinton SONE, TWORD, 6759705Slinton 0, RLEFT|RESCC, 6769705Slinton " decZL AL\n movzZLl AL,AL\n", 6779705Slinton 6789705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6799705Slinton SAREG|AWD, TWORD, 6809705Slinton SAREG|AWD, TWORD, 6819705Slinton 0, RLEFT|RESCC, 6829705Slinton " OL2 AR,AL\n", 6839705Slinton 6849705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6859705Slinton SAREG, TWORD, 6869705Slinton SAREG, TSHORT|TUSHORT|TCHAR|TUCHAR, 6879705Slinton 0, RLEFT|RESCC, 6889705Slinton " OL2 AR,AL\n", 6899705Slinton 6909705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6919705Slinton AWD, TSHORT|TUSHORT, 6929705Slinton SAREG|AWD, TSHORT|TUSHORT, 6939705Slinton 0, RLEFT|RESCC, 6949705Slinton " OW2 AR,AL\n", 6959705Slinton 6969705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 6979705Slinton AWD, TSHORT|TUSHORT, 6989705Slinton SSCON, TWORD, 6999705Slinton 0, RLEFT|RESCC, 7009705Slinton " OW2 AR,AL\n", 7019705Slinton 7029705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7039705Slinton AWD, TCHAR|TUCHAR, 7049705Slinton SAREG|AWD, TCHAR|TUCHAR, 7059705Slinton 0, RLEFT|RESCC, 7069705Slinton " OB2 AR,AL\n", 7079705Slinton 7089705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7099705Slinton AWD, TCHAR|TUCHAR, 7109705Slinton SCCON, TWORD, 7119705Slinton 0, RLEFT|RESCC, 7129705Slinton " OB2 AR,AL\n", 7139705Slinton 7149705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7159705Slinton SAREG, TSHORT, 7169705Slinton SAREG|AWD, ANYFIXED, 7179705Slinton 0, RLEFT|RESCC, 7189705Slinton " OW2 AR,AL\n cvtZLl AL,AL\n", 7199705Slinton 7209705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7219705Slinton SAREG, TUSHORT, 7229705Slinton SAREG|AWD, ANYFIXED, 7239705Slinton 0, RLEFT|RESCC, 7249705Slinton " OW2 AR,AL\n movzZLl AL,AL\n", 7259705Slinton 7269705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7279705Slinton SAREG, TCHAR, 7289705Slinton SAREG|AWD, ANYFIXED, 7299705Slinton 0, RLEFT|RESCC, 7309705Slinton " OB2 AR,AL\n cvtZLl AL,AL\n", 7319705Slinton 7329705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 7339705Slinton SAREG, TUCHAR, 7349705Slinton SAREG|AWD, ANYFIXED, 7359705Slinton 0, RLEFT|RESCC, 7369705Slinton " OB2 AR,AL\n movzZLl AL,AL\n", 7379705Slinton 7389705Slinton OPSIMP, INAREG|INTAREG|FORCC, 7399705Slinton STAREG, ANYFIXED, 7409705Slinton SAREG|AWD, TWORD, 7419705Slinton 0, RLEFT|RESCC, 7429705Slinton " OL2 AR,AL\n", 7439705Slinton 7449705Slinton OPSIMP, INAREG|INTAREG|FORCC, 7459705Slinton SAREG|AWD, TWORD, 7469705Slinton SAREG|AWD, TWORD, 7479705Slinton NAREG|NASL|NASR, RESC1|RESCC, 7489705Slinton " OL3 AR,AL,A1\n", 7499705Slinton 7509705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 7519705Slinton SAREG|AWD, TDOUBLE, 7529705Slinton SAREG|AWD, TDOUBLE, 7539705Slinton 0, RLEFT|RESCC, 7549705Slinton " OD2 AR,AL\n", 7559705Slinton 7569705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 7579705Slinton SAREG|AWD, TFLOAT, 7589705Slinton SAREG|AWD, TFLOAT, 7599705Slinton 0, RLEFT|RESCC, 76017740Sralph #if defined(FORT) || defined(SPRECC) 76116937Sralph " OF2 AR,TAL\n", 76216937Sralph #else 7639705Slinton " OF2 AR,AL\n", 76416937Sralph #endif 7659705Slinton 7669705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 7679705Slinton SAREG|AWD, TDOUBLE, 7689705Slinton SAREG|AWD, TFLOAT, 7699705Slinton NAREG|NASR, RLEFT|RESCC, 7709705Slinton " cvtfd AR,A1\n OD2 A1,AL\n", 7719705Slinton 7729705Slinton ASG OPFLOAT, INAREG|INTAREG|FOREFF|FORCC, 7739705Slinton SAREG|AWD, TFLOAT, 7749705Slinton SAREG|AWD, TDOUBLE, 7759705Slinton NAREG, RLEFT|RESC1|RESCC, 7769705Slinton " cvtfd AL,A1\n OD2 AR,A1\n cvtdf A1,AL\n", 7779705Slinton 77825753Sdonn ASG OPFLOAT, INAREG|FOREFF|FORCC, 77925753Sdonn SAREG|AWD, ANYFIXED, 78025753Sdonn #ifndef SPRECC 78125753Sdonn SAREG|AWD, TDOUBLE, /* force FLOAT to register */ 78225753Sdonn #else 78325753Sdonn SAREG|AWD, TFLOAT|TDOUBLE, 78425753Sdonn #endif 78525753Sdonn NAREG, RLEFT|RESCC, /* usable() knows we need a reg pair */ 78625753Sdonn " ZG\n", 78725753Sdonn 7889705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7899705Slinton STAREG, TDOUBLE, 7909705Slinton SAREG|AWD, TDOUBLE, 7919705Slinton 0, RLEFT|RESCC, 7929705Slinton " OD2 AR,AL\n", 7939705Slinton 7949705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 7959705Slinton SAREG|AWD, TDOUBLE, 7969705Slinton SAREG|AWD, TDOUBLE, 7979705Slinton NAREG|NASL|NASR, RESC1|RESCC, 7989705Slinton " OD3 AR,AL,A1\n", 7999705Slinton 8009705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 8019705Slinton SAREG|AWD, TFLOAT, 8029705Slinton SAREG|AWD, TDOUBLE, 8039705Slinton NAREG|NASL, RESC1|RESCC, 8049705Slinton " cvtfd AL,A1\n OD2 AR,A1\n", 8059705Slinton 8069705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 8079705Slinton SAREG|AWD, TDOUBLE, 8089705Slinton SAREG|AWD, TFLOAT, 8099705Slinton NAREG|NASR, RESC1|RESCC, 8109705Slinton " cvtfd AR,A1\n OD3 A1,AL,A1\n", 8119705Slinton 81217740Sralph #if defined(FORT) || defined(SPRECC) 8139705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 81416937Sralph STAREG, TFLOAT, 81516937Sralph SAREG|AWD, TFLOAT, 8169705Slinton 0, RLEFT|RESCC, 81716937Sralph " OF2 AR,TAL\n", 8189705Slinton 8199705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 8209705Slinton SAREG|AWD, TFLOAT, 8219705Slinton SAREG|AWD, TFLOAT, 8229705Slinton NAREG|NASL|NASR, RESC1|RESCC, 8239705Slinton " OF3 AR,AL,TA1\n", 8249705Slinton #endif 8259705Slinton 8269705Slinton /* Default actions for hard trees ... */ 8279705Slinton 8289705Slinton # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,"" 8299705Slinton 8309705Slinton UNARY MUL, DF( UNARY MUL ), 8319705Slinton 8329705Slinton INCR, DF(INCR), 8339705Slinton 8349705Slinton DECR, DF(INCR), 8359705Slinton 8369705Slinton ASSIGN, DF(ASSIGN), 8379705Slinton 8389705Slinton STASG, DF(STASG), 8399705Slinton 8409705Slinton FLD, DF(FLD), 8419705Slinton 8429705Slinton OPLEAF, DF(NAME), 8439705Slinton 8449705Slinton OPLOG, FORCC, 8459705Slinton SANY, TANY, 8469705Slinton SANY, TANY, 8479705Slinton REWRITE, BITYPE, 8489705Slinton "", 8499705Slinton 8509705Slinton OPLOG, DF(NOT), 8519705Slinton 8529705Slinton COMOP, DF(COMOP), 8539705Slinton 8549705Slinton INIT, DF(INIT), 8559705Slinton 8569705Slinton OPUNARY, DF(UNARY MINUS), 8579705Slinton 8589705Slinton 8599705Slinton ASG OPANY, DF(ASG PLUS), 8609705Slinton 8619705Slinton OPANY, DF(BITYPE), 8629705Slinton 8639705Slinton FREE, FREE, FREE, FREE, FREE, FREE, FREE, FREE, "help; I'm in trouble\n" }; 864