1*9705Slinton static char *sccsid ="@(#)table.c 1.1 (Berkeley) 12/15/82"; 2*9705Slinton # include "mfile2" 3*9705Slinton 4*9705Slinton # define WPTR TPTRTO|TINT|TLONG|TFLOAT|TDOUBLE|TPOINT|TUNSIGNED|TULONG 5*9705Slinton # define AWD SNAME|SOREG|SCON|STARNM|STARREG 6*9705Slinton /* tbl */ 7*9705Slinton # define ANYSIGNED TPOINT|TINT|TLONG|TSHORT|TCHAR 8*9705Slinton # define ANYUSIGNED TUNSIGNED|TULONG|TUSHORT|TUCHAR 9*9705Slinton # define ANYFIXED ANYSIGNED|ANYUSIGNED 10*9705Slinton # define TWORD TINT|TUNSIGNED|TPOINT|TLONG|TULONG 11*9705Slinton # define NIAWD SNAME|SCON|STARNM 12*9705Slinton /* tbl */ 13*9705Slinton 14*9705Slinton struct optab table[] = { 15*9705Slinton 16*9705Slinton PCONV, INAREG|INTAREG, 17*9705Slinton SAREG|AWD, TCHAR|TSHORT, 18*9705Slinton SANY, TPOINT, 19*9705Slinton NAREG|NASL, RESC1, 20*9705Slinton " cvtZLl AL,A1\n", 21*9705Slinton 22*9705Slinton PCONV, INAREG|INTAREG, 23*9705Slinton SAREG|AWD, TUCHAR|TUSHORT, 24*9705Slinton SANY, TPOINT, 25*9705Slinton NAREG|NASL, RESC1, 26*9705Slinton " movzZLl AL,A1\n", 27*9705Slinton 28*9705Slinton /* the following entry is to fix a problem with 29*9705Slinton the manner that the first pass handles the 30*9705Slinton type of a shift expression */ 31*9705Slinton PCONV, INAREG|INTAREG, 32*9705Slinton SAREG|AWD, TINT|TUNSIGNED, 33*9705Slinton SANY, TPOINT, 34*9705Slinton NAREG|NASL, RLEFT, 35*9705Slinton "", 36*9705Slinton 37*9705Slinton SCONV, INTAREG|FORCC, 38*9705Slinton SAREG, TDOUBLE, 39*9705Slinton SANY, TDOUBLE, 40*9705Slinton 0, RLEFT, 41*9705Slinton "", 42*9705Slinton 43*9705Slinton #ifdef FORT 44*9705Slinton SCONV, INTAREG|FORCC, 45*9705Slinton SAREG|AWD, ANYSIGNED|TUNSIGNED|TULONG|TFLOAT, 46*9705Slinton SANY, TFLOAT, 47*9705Slinton NAREG|NASL, RESC1|RESCC, 48*9705Slinton " cvtZLf AL,TA1\n", 49*9705Slinton 50*9705Slinton SCONV, INTAREG|FORCC, 51*9705Slinton SAREG|AWD, TUCHAR|TUSHORT, 52*9705Slinton SANY, TFLOAT, 53*9705Slinton NAREG|NASL, RESC1|RESCC, 54*9705Slinton " movzZLl AL,A1\n cvtlf A1,TA1\n", 55*9705Slinton #endif 56*9705Slinton 57*9705Slinton SCONV, INTAREG|FORCC, 58*9705Slinton SAREG|AWD, ANYSIGNED|TUNSIGNED|TULONG|TFLOAT, 59*9705Slinton SANY, TFLOAT|TDOUBLE, 60*9705Slinton NAREG|NASL, RESC1|RESCC, 61*9705Slinton " cvtZLd AL,A1\n", 62*9705Slinton 63*9705Slinton SCONV, INTAREG|FORCC, 64*9705Slinton SAREG|AWD, TUCHAR|TUSHORT, 65*9705Slinton SANY, TFLOAT|TDOUBLE, 66*9705Slinton NAREG|NASL, RESC1|RESCC, 67*9705Slinton " movzZLl AL,A1\n cvtld A1,A1\n", 68*9705Slinton 69*9705Slinton SCONV, INTAREG|FORCC, 70*9705Slinton SAREG|AWD, TFLOAT|TDOUBLE, 71*9705Slinton SANY, ANYFIXED, 72*9705Slinton NAREG|NASL, RESC1|RESCC, 73*9705Slinton " cvtZLZF AL,A1\n", 74*9705Slinton 75*9705Slinton SCONV, INTAREG|FORCC, 76*9705Slinton SAREG|SNAME|SCON|STARNM, TANY, 77*9705Slinton SANY, ANYUSIGNED, 78*9705Slinton NAREG|NASL, RESC1|RESCC, 79*9705Slinton " movzZRl AL,A1\n", 80*9705Slinton 81*9705Slinton SCONV, INTAREG|FORCC, 82*9705Slinton SSOREG, TANY, 83*9705Slinton SANY, ANYUSIGNED, 84*9705Slinton NAREG|NASL, RESC1|RESCC, 85*9705Slinton " movzZRl AL,A1\n", 86*9705Slinton 87*9705Slinton SCONV, INTAREG|FORCC, 88*9705Slinton SAREG|SNAME|SCON|STARNM, TANY, 89*9705Slinton SANY, TANY, 90*9705Slinton NAREG|NASL, RESC1|RESCC, 91*9705Slinton " cvtZRl AL,A1\n", 92*9705Slinton 93*9705Slinton SCONV, INTAREG|FORCC, 94*9705Slinton SSOREG, TANY, 95*9705Slinton SANY, TANY, 96*9705Slinton NAREG|NASL, RESC1|RESCC, 97*9705Slinton " cvtZRl AL,A1\n", 98*9705Slinton 99*9705Slinton 100*9705Slinton INIT, FOREFF, 101*9705Slinton SCON, TANY, 102*9705Slinton SANY, TWORD, 103*9705Slinton 0, RNOP, 104*9705Slinton " .long CL\n", 105*9705Slinton 106*9705Slinton INIT, FOREFF, 107*9705Slinton SCON, TANY, 108*9705Slinton SANY, TSHORT|TUSHORT, 109*9705Slinton 0, RNOP, 110*9705Slinton " .word CL\n", 111*9705Slinton 112*9705Slinton INIT, FOREFF, 113*9705Slinton SCON, TANY, 114*9705Slinton SANY, TCHAR|TUCHAR, 115*9705Slinton 0, RNOP, 116*9705Slinton " .byte CL\n", 117*9705Slinton 118*9705Slinton /* for the use of fortran only */ 119*9705Slinton 120*9705Slinton GOTO, FOREFF, 121*9705Slinton SCON, TANY, 122*9705Slinton SANY, TANY, 123*9705Slinton 0, RNOP, 124*9705Slinton " jbr CL\n", 125*9705Slinton 126*9705Slinton GOTO, FOREFF, 127*9705Slinton AWD, TANY, 128*9705Slinton SANY, TANY, 129*9705Slinton 0, RNOP, 130*9705Slinton " jmp *AL\n", 131*9705Slinton 132*9705Slinton GOTO, FOREFF, 133*9705Slinton SAREG, TANY, 134*9705Slinton SANY, TANY, 135*9705Slinton 0, RNOP, 136*9705Slinton " jmp (AL)\n", 137*9705Slinton 138*9705Slinton STARG, FORARG, 139*9705Slinton SCON|SOREG, TANY, 140*9705Slinton SANY, TANY, 141*9705Slinton NTEMP+2*NAREG, RESC3, 142*9705Slinton "ZS", 143*9705Slinton 144*9705Slinton STASG, FORARG, 145*9705Slinton SNAME|SOREG, TANY, 146*9705Slinton SCON|SAREG, TANY, 147*9705Slinton 0, RNULL, 148*9705Slinton " subl2 ZT,sp\nZS", 149*9705Slinton 150*9705Slinton STASG, FOREFF, 151*9705Slinton SNAME|SOREG, TANY, 152*9705Slinton SCON|SAREG, TANY, 153*9705Slinton 0, RNOP, 154*9705Slinton "ZS", 155*9705Slinton 156*9705Slinton STASG, INAREG, 157*9705Slinton SNAME|SOREG, TANY, 158*9705Slinton SCON, TANY, 159*9705Slinton NAREG, RESC1, 160*9705Slinton "ZS movl AR,A1\n", 161*9705Slinton 162*9705Slinton STASG, INAREG, 163*9705Slinton SNAME|SOREG, TANY, 164*9705Slinton SAREG, TANY, 165*9705Slinton 0, RRIGHT, 166*9705Slinton " pushl AR\nZS movl (sp)+,AR\n", 167*9705Slinton 168*9705Slinton FLD, INAREG|INTAREG, 169*9705Slinton SANY, TANY, 170*9705Slinton SFLD, ANYSIGNED, 171*9705Slinton NAREG|NASR, RESC1, 172*9705Slinton " extv $H,$S,AR,A1\n", 173*9705Slinton 174*9705Slinton FLD, INAREG|INTAREG, 175*9705Slinton SANY, TANY, 176*9705Slinton SFLD, ANYUSIGNED, 177*9705Slinton NAREG|NASR, RESC1, 178*9705Slinton " extzv $H,$S,AR,A1\n", 179*9705Slinton 180*9705Slinton FLD, FORARG, 181*9705Slinton SANY, TANY, 182*9705Slinton SFLD, ANYSIGNED, 183*9705Slinton 0, RNULL, 184*9705Slinton " extv $H,$S,AR,-(sp)\n", 185*9705Slinton 186*9705Slinton FLD, FORARG, 187*9705Slinton SANY, TANY, 188*9705Slinton SFLD, ANYUSIGNED, 189*9705Slinton 0, RNULL, 190*9705Slinton " extzv $H,$S,AR,-(sp)\n", 191*9705Slinton 192*9705Slinton OPLOG, FORCC, 193*9705Slinton SAREG|AWD, TWORD, 194*9705Slinton SAREG|AWD, TWORD, 195*9705Slinton 0, RESCC, 196*9705Slinton " cmpl AL,AR\nZP", 197*9705Slinton 198*9705Slinton OPLOG, FORCC, 199*9705Slinton SAREG|AWD, TSHORT|TUSHORT, 200*9705Slinton SAREG|AWD, TSHORT|TUSHORT, 201*9705Slinton 0, RESCC, 202*9705Slinton " cmpw AL,AR\nZP", 203*9705Slinton 204*9705Slinton OPLOG, FORCC, 205*9705Slinton SAREG|AWD, TCHAR|TUCHAR, 206*9705Slinton SAREG|AWD, TCHAR|TUCHAR, 207*9705Slinton 0, RESCC, 208*9705Slinton " cmpb AL,AR\nZP", 209*9705Slinton 210*9705Slinton OPLOG, FORCC, 211*9705Slinton SAREG|AWD, TSHORT|TUSHORT, 212*9705Slinton SSCON, TANY, 213*9705Slinton 0, RESCC, 214*9705Slinton " cmpw AL,AR\nZP", 215*9705Slinton 216*9705Slinton OPLOG, FORCC, 217*9705Slinton SAREG|AWD, TCHAR|TUCHAR, 218*9705Slinton SCCON, TANY, 219*9705Slinton 0, RESCC, 220*9705Slinton " cmpb AL,AR\nZP", 221*9705Slinton 222*9705Slinton OPLOG, FORCC, 223*9705Slinton SAREG|AWD, TDOUBLE, 224*9705Slinton SAREG|AWD, TDOUBLE, 225*9705Slinton 0, RESCC, 226*9705Slinton " cmpd AL,AR\nZP", 227*9705Slinton 228*9705Slinton OPLOG, FORCC, 229*9705Slinton SAREG|AWD, TDOUBLE, 230*9705Slinton SAREG|AWD, TFLOAT, 231*9705Slinton NAREG|NASR, RESCC, 232*9705Slinton " cvtfd AR,A1\n cmpd AL,A1\nZP", 233*9705Slinton 234*9705Slinton OPLOG, FORCC, 235*9705Slinton SAREG|AWD, TFLOAT, 236*9705Slinton SAREG|AWD, TDOUBLE, 237*9705Slinton NAREG|NASL, RESCC, 238*9705Slinton " cvtfd AL,A1\n cmpd A1,AR\nZP", 239*9705Slinton 240*9705Slinton OPLOG, FORCC, 241*9705Slinton SAREG|AWD, TFLOAT, 242*9705Slinton SAREG|AWD, TFLOAT, 243*9705Slinton 0, RESCC, 244*9705Slinton " cmpf AL,AR\nZP", 245*9705Slinton 246*9705Slinton CCODES, INAREG|INTAREG, 247*9705Slinton SANY, TANY, 248*9705Slinton SANY, TANY, 249*9705Slinton NAREG, RESC1, 250*9705Slinton " movl $1,A1\nZN", 251*9705Slinton 252*9705Slinton UNARY CALL, INTAREG, 253*9705Slinton SCON, TANY, 254*9705Slinton SANY, TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE, 255*9705Slinton NAREG|NASL, RESC1, /* should be register 0 */ 256*9705Slinton " calls ZC,CL\n", 257*9705Slinton 258*9705Slinton UNARY CALL, INTAREG, 259*9705Slinton SAREG, TANY, 260*9705Slinton SANY, TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE, 261*9705Slinton NAREG|NASL, RESC1, /* should be 0 */ 262*9705Slinton " calls ZC,(AL)\n", 263*9705Slinton 264*9705Slinton UNARY CALL, INAREG|INTAREG, 265*9705Slinton SNAME, TANY, 266*9705Slinton SANY, TANY, 267*9705Slinton NAREG|NASL, RESC1, /* really reg 0 */ 268*9705Slinton " calls ZC,*AL\n", 269*9705Slinton 270*9705Slinton UNARY CALL, INAREG|INTAREG, 271*9705Slinton SSOREG, TANY, 272*9705Slinton SANY, TANY, 273*9705Slinton NAREG|NASL, RESC1, /* really reg 0 */ 274*9705Slinton " calls ZC,*AL\n", 275*9705Slinton 276*9705Slinton ASG RS, INAREG|FOREFF|FORCC, 277*9705Slinton SAREG, TWORD, 278*9705Slinton SCON, TINT, 279*9705Slinton 0, RLEFT|RESCC, 280*9705Slinton " extzv AR,ZU,AL,AL\n", 281*9705Slinton 282*9705Slinton ASG RS, INAREG|FOREFF|FORCC, 283*9705Slinton SAREG, TWORD, 284*9705Slinton SAREG, ANYFIXED, 285*9705Slinton NAREG, RLEFT|RESCC, 286*9705Slinton " subl3 AR,$32,A1\n extzv AR,A1,AL,AL\n", 287*9705Slinton 288*9705Slinton ASG RS, INAREG|FOREFF|FORCC, 289*9705Slinton SAREG, TWORD, 290*9705Slinton SAREG|AWD, TWORD, 291*9705Slinton NAREG, RLEFT|RESCC, 292*9705Slinton " subl3 AR,$32,A1\n extzv AR,A1,AL,AL\n", 293*9705Slinton 294*9705Slinton RS, INAREG|INTAREG|FORCC, 295*9705Slinton SAREG, TWORD, 296*9705Slinton SCON, TINT, 297*9705Slinton NAREG|NASL, RESC1|RESCC, 298*9705Slinton " extzv AR,ZU,AL,A1\n", 299*9705Slinton 300*9705Slinton ASG LS, INAREG|FOREFF|FORCC, 301*9705Slinton SAREG|AWD, TWORD, 302*9705Slinton SAREG|NIAWD, ANYSIGNED|ANYUSIGNED, 303*9705Slinton 0, RLEFT|RESCC, 304*9705Slinton " ashl AR,AL,AL\n", 305*9705Slinton 306*9705Slinton ASG LS, INAREG|FOREFF|FORCC, 307*9705Slinton SAREG|AWD, TWORD, 308*9705Slinton SSOREG, ANYSIGNED|ANYUSIGNED, 309*9705Slinton 0, RLEFT|RESCC, 310*9705Slinton " ashl AR,AL,AL\n", 311*9705Slinton 312*9705Slinton ASG LS, INAREG|FOREFF|FORCC, 313*9705Slinton SAREG|AWD, TWORD, 314*9705Slinton SOREG, ANYSIGNED|ANYUSIGNED, 315*9705Slinton NAREG, RLEFT|RESCC, 316*9705Slinton " ZB AR,A1\n ashl A1,AL,AL\n", 317*9705Slinton 318*9705Slinton LS, INAREG|INTAREG|FORCC, 319*9705Slinton SAREG|AWD, TWORD, 320*9705Slinton SAREG|NIAWD, ANYSIGNED|ANYUSIGNED, 321*9705Slinton NAREG|NASL|NASR, RESC1|RESCC, 322*9705Slinton " ashl AR,AL,A1\n", 323*9705Slinton 324*9705Slinton LS, INAREG|INTAREG|FORCC, 325*9705Slinton SAREG|AWD, TWORD, 326*9705Slinton SSOREG, ANYSIGNED|ANYUSIGNED, 327*9705Slinton NAREG|NASL|NASR, RESC1|RESCC, 328*9705Slinton " ashl AR,AL,A1\n", 329*9705Slinton 330*9705Slinton LS, INAREG|INTAREG|FORCC, 331*9705Slinton SAREG|AWD, TWORD, 332*9705Slinton SOREG, ANYSIGNED|ANYUSIGNED, 333*9705Slinton NAREG|NASR, RESC1|RESCC, 334*9705Slinton " ZB AR,A1\n ashl A1,AL,A1\n", 335*9705Slinton 336*9705Slinton INCR, FOREFF, 337*9705Slinton AWD, TANY, 338*9705Slinton SCON, TANY, 339*9705Slinton 0, RLEFT, 340*9705Slinton " ZE\n", 341*9705Slinton 342*9705Slinton DECR, FOREFF, 343*9705Slinton AWD, TANY, 344*9705Slinton SCON, TANY, 345*9705Slinton 0, RLEFT, 346*9705Slinton " ZE\n", 347*9705Slinton 348*9705Slinton INCR, FOREFF, 349*9705Slinton SAREG, TWORD, 350*9705Slinton SCON, TANY, 351*9705Slinton 0, RLEFT, 352*9705Slinton " ZE\n", 353*9705Slinton 354*9705Slinton DECR, FOREFF, 355*9705Slinton SAREG, TWORD, 356*9705Slinton SCON, TANY, 357*9705Slinton 0, RLEFT, 358*9705Slinton " ZE\n", 359*9705Slinton 360*9705Slinton /* jwf INCR and DECR for SAREG TCHAR|TSHORT matched by ASG PLUS etc */ 361*9705Slinton 362*9705Slinton INCR, INAREG|INTAREG, 363*9705Slinton AWD, TANY, 364*9705Slinton SCON, TANY, 365*9705Slinton NAREG, RESC1, 366*9705Slinton " ZD\n", 367*9705Slinton 368*9705Slinton DECR, INAREG|INTAREG, 369*9705Slinton AWD, TANY, 370*9705Slinton SCON, TANY, 371*9705Slinton NAREG, RESC1, 372*9705Slinton " ZD\n", 373*9705Slinton 374*9705Slinton INCR, INAREG|INTAREG, 375*9705Slinton SAREG, TWORD, 376*9705Slinton SCON, TANY, 377*9705Slinton NAREG, RESC1, 378*9705Slinton " ZD\n", 379*9705Slinton 380*9705Slinton DECR, INAREG|INTAREG, 381*9705Slinton SAREG, TWORD, 382*9705Slinton SCON, TANY, 383*9705Slinton NAREG, RESC1, 384*9705Slinton " ZD\n", 385*9705Slinton 386*9705Slinton ASSIGN, INAREG|FOREFF|FORCC, 387*9705Slinton SAREG|AWD, TANY, 388*9705Slinton SAREG|AWD, TANY, 389*9705Slinton 0, RLEFT|RRIGHT|RESCC, 390*9705Slinton " ZA\n", 391*9705Slinton 392*9705Slinton ASSIGN, INAREG|FOREFF, 393*9705Slinton SFLD, TANY, 394*9705Slinton SAREG|AWD, TWORD, 395*9705Slinton 0, RRIGHT, 396*9705Slinton " insv AR,$H,$S,AL\n", 397*9705Slinton 398*9705Slinton ASSIGN, INAREG|FOREFF|FORCC, 399*9705Slinton SAREG|AWD, TWORD, 400*9705Slinton SFLD, ANYSIGNED, 401*9705Slinton 0, RLEFT|RESCC, 402*9705Slinton " extv $H,$S,AR,AL\n", 403*9705Slinton 404*9705Slinton ASSIGN, INAREG|FOREFF|FORCC, 405*9705Slinton SAREG|AWD, TWORD, 406*9705Slinton SFLD, ANYUSIGNED, 407*9705Slinton 0, RLEFT|RESCC, 408*9705Slinton " extzv $H,$S,AR,AL\n", 409*9705Slinton 410*9705Slinton /* dummy UNARY MUL entry to get U* to possibly match OPLTYPE */ 411*9705Slinton UNARY MUL, FOREFF, 412*9705Slinton SCC, TANY, 413*9705Slinton SCC, TANY, 414*9705Slinton 0, RNULL, 415*9705Slinton " HELP HELP HELP\n", 416*9705Slinton 417*9705Slinton REG, INTEMP, 418*9705Slinton SANY, TANY, 419*9705Slinton SAREG, TDOUBLE, 420*9705Slinton 2*NTEMP, RESC1, 421*9705Slinton " movd AR,A1\n", 422*9705Slinton 423*9705Slinton REG, INTEMP, 424*9705Slinton SANY, TANY, 425*9705Slinton SAREG, TANY, 426*9705Slinton NTEMP, RESC1, 427*9705Slinton " movZF AR,A1\n", 428*9705Slinton 429*9705Slinton #ifdef FORT 430*9705Slinton REG, FORARG, 431*9705Slinton SANY, TANY, 432*9705Slinton SAREG, TFLOAT, 433*9705Slinton 0, RNULL, 434*9705Slinton " cvtfd AR,-(sp)\n", 435*9705Slinton 436*9705Slinton REG, FORARG, 437*9705Slinton SANY, TANY, 438*9705Slinton SAREG, TDOUBLE, 439*9705Slinton 0, RNULL, 440*9705Slinton " movZR AR,-(sp)\n", 441*9705Slinton #endif 442*9705Slinton 443*9705Slinton OPLEAF, FOREFF, 444*9705Slinton SANY, TANY, 445*9705Slinton SAREG|AWD, TANY, 446*9705Slinton 0, RLEFT, 447*9705Slinton "", 448*9705Slinton 449*9705Slinton OPLTYPE, INAREG|INTAREG, 450*9705Slinton SANY, TANY, 451*9705Slinton SANY, TFLOAT|TDOUBLE, 452*9705Slinton 2*NAREG|NASR, RESC1, 453*9705Slinton " ZA\n", 454*9705Slinton 455*9705Slinton OPLTYPE, INAREG|INTAREG, 456*9705Slinton SANY, TANY, 457*9705Slinton SANY, TANY, 458*9705Slinton NAREG|NASR, RESC1, 459*9705Slinton " ZA\n", 460*9705Slinton 461*9705Slinton OPLTYPE, FORCC, 462*9705Slinton SANY, TANY, 463*9705Slinton SANY, TANY, 464*9705Slinton 0, RESCC, 465*9705Slinton " tstZR AR\n", 466*9705Slinton 467*9705Slinton OPLTYPE, FORARG, 468*9705Slinton SANY, TANY, 469*9705Slinton SANY, TWORD, 470*9705Slinton 0, RNULL, 471*9705Slinton " pushl AR\n", 472*9705Slinton 473*9705Slinton OPLTYPE, FORARG, 474*9705Slinton SANY, TANY, 475*9705Slinton SANY, TCHAR|TSHORT, 476*9705Slinton 0, RNULL, 477*9705Slinton " cvtZRl AR,-(sp)\n", 478*9705Slinton 479*9705Slinton OPLTYPE, FORARG, 480*9705Slinton SANY, TANY, 481*9705Slinton SANY, TUCHAR|TUSHORT, 482*9705Slinton 0, RNULL, 483*9705Slinton " movzZRl AR,-(sp)\n", 484*9705Slinton 485*9705Slinton OPLTYPE, FORARG, 486*9705Slinton SANY, TANY, 487*9705Slinton SANY, TDOUBLE, 488*9705Slinton 0, RNULL, 489*9705Slinton " movd AR,-(sp)\n", 490*9705Slinton 491*9705Slinton OPLTYPE, FORARG, 492*9705Slinton SANY, TANY, 493*9705Slinton SANY, TFLOAT, 494*9705Slinton 0, RNULL, 495*9705Slinton " cvtfd AR,-(sp)\n", 496*9705Slinton 497*9705Slinton UNARY MINUS, INTAREG|FORCC, 498*9705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG|TDOUBLE, 499*9705Slinton SANY, TANY, 500*9705Slinton NAREG|NASL, RESC1|RESCC, 501*9705Slinton " mnegZL AL,A1\n", 502*9705Slinton 503*9705Slinton COMPL, INTAREG|FORCC, 504*9705Slinton SAREG|AWD, TINT|TUNSIGNED, 505*9705Slinton SANY, TANY, 506*9705Slinton NAREG|NASL, RESC1|RESCC, 507*9705Slinton " mcomZL AL,A1\n", 508*9705Slinton 509*9705Slinton COMPL, INTAREG|FORCC, 510*9705Slinton SAREG|AWD, ANYSIGNED|ANYUSIGNED, 511*9705Slinton SANY, TANY, 512*9705Slinton NAREG|NASL, RESC1|RESCC, 513*9705Slinton " cvtZLl AL,A1\n mcoml A1,A1\n", 514*9705Slinton 515*9705Slinton AND, FORCC, 516*9705Slinton SAREG|AWD, TWORD, 517*9705Slinton SCON, TWORD, 518*9705Slinton 0, RESCC, 519*9705Slinton " bitl ZZ,AL\n", 520*9705Slinton 521*9705Slinton AND, FORCC, 522*9705Slinton SAREG|AWD, TSHORT|TUSHORT, 523*9705Slinton SSCON, TWORD, 524*9705Slinton 0, RESCC, 525*9705Slinton " bitw ZZ,AL\n", 526*9705Slinton 527*9705Slinton AND, FORCC, 528*9705Slinton SAREG|AWD, TCHAR|TUCHAR, 529*9705Slinton SCCON, TWORD, 530*9705Slinton 0, RESCC, 531*9705Slinton " bitb ZZ,AL\n", 532*9705Slinton 533*9705Slinton ASG AND, INAREG|FOREFF|FORCC, 534*9705Slinton SAREG, TWORD, 535*9705Slinton SCON, TWORD, 536*9705Slinton 0, RLEFT|RESCC, 537*9705Slinton " bicl2 AR,AL\n", 538*9705Slinton 539*9705Slinton ASG OPMUL, INAREG|FOREFF|FORCC, 540*9705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 541*9705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 542*9705Slinton 0, RLEFT|RESCC, 543*9705Slinton " OL2 AR,AL\n", 544*9705Slinton 545*9705Slinton OPMUL, INAREG|INTAREG|FORCC, 546*9705Slinton STAREG, TINT|TUNSIGNED|TLONG|TULONG, 547*9705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 548*9705Slinton 0, RLEFT|RESCC, 549*9705Slinton " OL2 AR,AL\n", 550*9705Slinton 551*9705Slinton OPMUL, INAREG|INTAREG|FORCC, 552*9705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 553*9705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 554*9705Slinton NAREG|NASL|NASR, RESC1|RESCC, 555*9705Slinton " OL3 AR,AL,A1\n", 556*9705Slinton 557*9705Slinton ASG MOD, INAREG|INTAREG|FOREFF|FORCC, 558*9705Slinton SAREG, TINT|TUNSIGNED|TLONG|TULONG, 559*9705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 560*9705Slinton NAREG, RLEFT|RESCC, 561*9705Slinton " divl3 AR,AL,A1\n mull2 AR,A1\n subl2 A1,AL\n", 562*9705Slinton 563*9705Slinton MOD, INAREG|INTAREG, 564*9705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 565*9705Slinton SAREG|AWD, TINT|TUNSIGNED|TLONG|TULONG, 566*9705Slinton NAREG, RESC1, 567*9705Slinton " divl3 AR,AL,A1\n mull2 AR,A1\n subl3 A1,AL,A1\n", 568*9705Slinton 569*9705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 570*9705Slinton SAREG, TPOINT|TINT|TLONG|TUNSIGNED|TULONG, 571*9705Slinton SONE, TINT|TLONG, 572*9705Slinton 0, RLEFT|RESCC, 573*9705Slinton " incZL AL\n", 574*9705Slinton 575*9705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 576*9705Slinton AWD, ANYSIGNED|ANYUSIGNED, 577*9705Slinton SONE, TINT|TLONG, 578*9705Slinton 0, RLEFT|RESCC, 579*9705Slinton " incZL AL\n", 580*9705Slinton 581*9705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 582*9705Slinton SAREG, TSHORT|TCHAR, 583*9705Slinton SONE, TINT|TLONG, 584*9705Slinton 0, RLEFT|RESCC, 585*9705Slinton " incZL AL\n cvtZLl AL,AL\n", 586*9705Slinton 587*9705Slinton ASG PLUS, INAREG|FOREFF|FORCC, 588*9705Slinton SAREG, TUSHORT|TUCHAR, 589*9705Slinton SONE, TINT|TLONG, 590*9705Slinton 0, RLEFT|RESCC, 591*9705Slinton " incZL AL\n movzZLl AL,AL\n", 592*9705Slinton 593*9705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 594*9705Slinton SAREG, TPOINT|TINT|TLONG|TUNSIGNED|TULONG, 595*9705Slinton SONE, TINT|TLONG, 596*9705Slinton 0, RLEFT|RESCC, 597*9705Slinton " decZL AL\n", 598*9705Slinton 599*9705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 600*9705Slinton AWD, ANYSIGNED|ANYUSIGNED, 601*9705Slinton SONE, TINT|TLONG, 602*9705Slinton 0, RLEFT|RESCC, 603*9705Slinton " decZL AL\n", 604*9705Slinton 605*9705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 606*9705Slinton SAREG, TSHORT|TCHAR, 607*9705Slinton SONE, TINT|TLONG, 608*9705Slinton 0, RLEFT|RESCC, 609*9705Slinton " decZL AL\n cvtZLl AL,AL\n", 610*9705Slinton 611*9705Slinton ASG MINUS, INAREG|FOREFF|FORCC, 612*9705Slinton SAREG, TUSHORT|TUCHAR, 613*9705Slinton SONE, TINT|TLONG, 614*9705Slinton 0, RLEFT|RESCC, 615*9705Slinton " decZL AL\n movzZLl AL,AL\n", 616*9705Slinton 617*9705Slinton PLUS, INAREG|INTAREG|FORCC, 618*9705Slinton STAREG, TWORD, 619*9705Slinton SONE, TWORD, 620*9705Slinton 0, RLEFT|RESCC, 621*9705Slinton " incZL AL\n", 622*9705Slinton 623*9705Slinton PLUS, INAREG|INTAREG|FORCC, 624*9705Slinton STAREG, TSHORT|TCHAR, 625*9705Slinton SONE, TWORD, 626*9705Slinton 0, RLEFT|RESCC, 627*9705Slinton " incZL AL\n cvtZLl AL,AL\n", 628*9705Slinton 629*9705Slinton PLUS, INAREG|INTAREG|FORCC, 630*9705Slinton STAREG, TUSHORT|TUCHAR, 631*9705Slinton SONE, TWORD, 632*9705Slinton 0, RLEFT|RESCC, 633*9705Slinton " incZL AL\n movzZLl AL,AL\n", 634*9705Slinton 635*9705Slinton MINUS, INAREG|INTAREG|FORCC, 636*9705Slinton STAREG, TWORD, 637*9705Slinton SONE, TWORD, 638*9705Slinton 0, RLEFT|RESCC, 639*9705Slinton " decZL AL\n", 640*9705Slinton 641*9705Slinton MINUS, INAREG|INTAREG|FORCC, 642*9705Slinton STAREG, TSHORT|TCHAR, 643*9705Slinton SONE, TWORD, 644*9705Slinton 0, RLEFT|RESCC, 645*9705Slinton " decZL AL\n cvtZLl AL,AL\n", 646*9705Slinton 647*9705Slinton MINUS, INAREG|INTAREG|FORCC, 648*9705Slinton STAREG, TUSHORT|TUCHAR, 649*9705Slinton SONE, TWORD, 650*9705Slinton 0, RLEFT|RESCC, 651*9705Slinton " decZL AL\n movzZLl AL,AL\n", 652*9705Slinton 653*9705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 654*9705Slinton SAREG|AWD, TWORD, 655*9705Slinton SAREG|AWD, TWORD, 656*9705Slinton 0, RLEFT|RESCC, 657*9705Slinton " OL2 AR,AL\n", 658*9705Slinton 659*9705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 660*9705Slinton SAREG, TWORD, 661*9705Slinton SAREG, TSHORT|TUSHORT|TCHAR|TUCHAR, 662*9705Slinton 0, RLEFT|RESCC, 663*9705Slinton " OL2 AR,AL\n", 664*9705Slinton 665*9705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 666*9705Slinton AWD, TSHORT|TUSHORT, 667*9705Slinton SAREG|AWD, TSHORT|TUSHORT, 668*9705Slinton 0, RLEFT|RESCC, 669*9705Slinton " OW2 AR,AL\n", 670*9705Slinton 671*9705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 672*9705Slinton AWD, TSHORT|TUSHORT, 673*9705Slinton SSCON, TWORD, 674*9705Slinton 0, RLEFT|RESCC, 675*9705Slinton " OW2 AR,AL\n", 676*9705Slinton 677*9705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 678*9705Slinton AWD, TCHAR|TUCHAR, 679*9705Slinton SAREG|AWD, TCHAR|TUCHAR, 680*9705Slinton 0, RLEFT|RESCC, 681*9705Slinton " OB2 AR,AL\n", 682*9705Slinton 683*9705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 684*9705Slinton AWD, TCHAR|TUCHAR, 685*9705Slinton SCCON, TWORD, 686*9705Slinton 0, RLEFT|RESCC, 687*9705Slinton " OB2 AR,AL\n", 688*9705Slinton 689*9705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 690*9705Slinton SAREG, TSHORT, 691*9705Slinton SAREG|AWD, ANYFIXED, 692*9705Slinton 0, RLEFT|RESCC, 693*9705Slinton " OW2 AR,AL\n cvtZLl AL,AL\n", 694*9705Slinton 695*9705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 696*9705Slinton SAREG, TUSHORT, 697*9705Slinton SAREG|AWD, ANYFIXED, 698*9705Slinton 0, RLEFT|RESCC, 699*9705Slinton " OW2 AR,AL\n movzZLl AL,AL\n", 700*9705Slinton 701*9705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 702*9705Slinton SAREG, TCHAR, 703*9705Slinton SAREG|AWD, ANYFIXED, 704*9705Slinton 0, RLEFT|RESCC, 705*9705Slinton " OB2 AR,AL\n cvtZLl AL,AL\n", 706*9705Slinton 707*9705Slinton ASG OPSIMP, INAREG|FOREFF|FORCC, 708*9705Slinton SAREG, TUCHAR, 709*9705Slinton SAREG|AWD, ANYFIXED, 710*9705Slinton 0, RLEFT|RESCC, 711*9705Slinton " OB2 AR,AL\n movzZLl AL,AL\n", 712*9705Slinton 713*9705Slinton OPSIMP, INAREG|INTAREG|FORCC, 714*9705Slinton STAREG, ANYFIXED, 715*9705Slinton SAREG|AWD, TWORD, 716*9705Slinton 0, RLEFT|RESCC, 717*9705Slinton " OL2 AR,AL\n", 718*9705Slinton 719*9705Slinton OPSIMP, INAREG|INTAREG|FORCC, 720*9705Slinton SAREG|AWD, TWORD, 721*9705Slinton SAREG|AWD, TWORD, 722*9705Slinton NAREG|NASL|NASR, RESC1|RESCC, 723*9705Slinton " OL3 AR,AL,A1\n", 724*9705Slinton 725*9705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 726*9705Slinton SAREG|AWD, TDOUBLE, 727*9705Slinton SAREG|AWD, TDOUBLE, 728*9705Slinton 0, RLEFT|RESCC, 729*9705Slinton " OD2 AR,AL\n", 730*9705Slinton 731*9705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 732*9705Slinton SAREG|AWD, TFLOAT, 733*9705Slinton SAREG|AWD, TFLOAT, 734*9705Slinton 0, RLEFT|RESCC, 735*9705Slinton " OF2 AR,AL\n", 736*9705Slinton 737*9705Slinton ASG OPFLOAT, INAREG|FOREFF|FORCC, 738*9705Slinton SAREG|AWD, TDOUBLE, 739*9705Slinton SAREG|AWD, TFLOAT, 740*9705Slinton NAREG|NASR, RLEFT|RESCC, 741*9705Slinton " cvtfd AR,A1\n OD2 A1,AL\n", 742*9705Slinton 743*9705Slinton ASG OPFLOAT, INAREG|INTAREG|FOREFF|FORCC, 744*9705Slinton SAREG|AWD, TFLOAT, 745*9705Slinton SAREG|AWD, TDOUBLE, 746*9705Slinton NAREG, RLEFT|RESC1|RESCC, 747*9705Slinton " cvtfd AL,A1\n OD2 AR,A1\n cvtdf A1,AL\n", 748*9705Slinton 749*9705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 750*9705Slinton STAREG, TDOUBLE, 751*9705Slinton SAREG|AWD, TDOUBLE, 752*9705Slinton 0, RLEFT|RESCC, 753*9705Slinton " OD2 AR,AL\n", 754*9705Slinton 755*9705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 756*9705Slinton SAREG|AWD, TDOUBLE, 757*9705Slinton SAREG|AWD, TDOUBLE, 758*9705Slinton NAREG|NASL|NASR, RESC1|RESCC, 759*9705Slinton " OD3 AR,AL,A1\n", 760*9705Slinton 761*9705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 762*9705Slinton SAREG|AWD, TFLOAT, 763*9705Slinton SAREG|AWD, TDOUBLE, 764*9705Slinton NAREG|NASL, RESC1|RESCC, 765*9705Slinton " cvtfd AL,A1\n OD2 AR,A1\n", 766*9705Slinton 767*9705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 768*9705Slinton SAREG|AWD, TDOUBLE, 769*9705Slinton SAREG|AWD, TFLOAT, 770*9705Slinton NAREG|NASR, RESC1|RESCC, 771*9705Slinton " cvtfd AR,A1\n OD3 A1,AL,A1\n", 772*9705Slinton 773*9705Slinton #ifdef FORT 774*9705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 775*9705Slinton STAREG, TFLOAT, 776*9705Slinton SAREG|AWD, TFLOAT, 777*9705Slinton 0, RLEFT|RESCC, 778*9705Slinton " OF2 TAR,AL\n", 779*9705Slinton 780*9705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 781*9705Slinton SAREG|AWD, TFLOAT, 782*9705Slinton SAREG|AWD, TFLOAT, 783*9705Slinton NAREG|NASL|NASR, RESC1|RESCC, 784*9705Slinton " OF3 AR,AL,TA1\n", 785*9705Slinton 786*9705Slinton #else 787*9705Slinton OPFLOAT, INAREG|INTAREG|FORCC, 788*9705Slinton SAREG|AWD, TFLOAT, 789*9705Slinton SAREG|AWD, TFLOAT, 790*9705Slinton NAREG|NASL|NASR, RESC1|RESCC, 791*9705Slinton " OF3 AR,AL,A1\n cvtfd A1,A1\n", 792*9705Slinton #endif 793*9705Slinton 794*9705Slinton /* Default actions for hard trees ... */ 795*9705Slinton 796*9705Slinton # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,"" 797*9705Slinton 798*9705Slinton UNARY MUL, DF( UNARY MUL ), 799*9705Slinton 800*9705Slinton INCR, DF(INCR), 801*9705Slinton 802*9705Slinton DECR, DF(INCR), 803*9705Slinton 804*9705Slinton ASSIGN, DF(ASSIGN), 805*9705Slinton 806*9705Slinton STASG, DF(STASG), 807*9705Slinton 808*9705Slinton FLD, DF(FLD), 809*9705Slinton 810*9705Slinton OPLEAF, DF(NAME), 811*9705Slinton 812*9705Slinton OPLOG, FORCC, 813*9705Slinton SANY, TANY, 814*9705Slinton SANY, TANY, 815*9705Slinton REWRITE, BITYPE, 816*9705Slinton "", 817*9705Slinton 818*9705Slinton OPLOG, DF(NOT), 819*9705Slinton 820*9705Slinton COMOP, DF(COMOP), 821*9705Slinton 822*9705Slinton INIT, DF(INIT), 823*9705Slinton 824*9705Slinton OPUNARY, DF(UNARY MINUS), 825*9705Slinton 826*9705Slinton 827*9705Slinton ASG OPANY, DF(ASG PLUS), 828*9705Slinton 829*9705Slinton OPANY, DF(BITYPE), 830*9705Slinton 831*9705Slinton FREE, FREE, FREE, FREE, FREE, FREE, FREE, FREE, "help; I'm in trouble\n" }; 832