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