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