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