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