Annotation of 43BSDReno/libexec/pcc/ccom.tahoe/table.c, revision 1.1.1.1

1.1       root        1: #ifndef lint
                      2: static char sccsid[] = "@(#)table.c    1.24 (Berkeley) 7/14/88";
                      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: #ifdef REG_CHAR
                     18: PCONV, INAREG|INTAREG,
                     19:        SAREG|AWD,      TCHAR|TSHORT,
                     20:        SANY,   TPOINT,
                     21:                NAREG|NASL,     RESC1,
                     22:                "       cvtZLl  AL,A1\n",
                     23: 
                     24: PCONV, INAREG|INTAREG,
                     25:        SAREG|AWD,      TUCHAR|TUSHORT,
                     26:        SANY,   TPOINT,
                     27:                NAREG|NASL,     RESC1,
                     28:                "       movzZLl AL,A1\n",
                     29: #endif
                     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: /* take care of redundant conversions introduced by reclaim() */
                     41: SCONV, INAREG|INTAREG,
                     42:        STAREG, TWORD,
                     43:        SANY,   TWORD,
                     44:                0,      RLEFT,
                     45:                "",
                     46: 
                     47: SCONV, INAREG|INTAREG,
                     48:        SAREG|AWD,      ANYFIXED,
                     49:        SANY,   ANYFIXED,
                     50:                NAREG|NASL,     RESC1,
                     51:                "       ZU\n",
                     52: 
                     53: SCONV, FORCC,
                     54:        SAREG|AWD,      ANYFIXED,
                     55:        SANY,   ANYFIXED,
                     56:                NAREG|NASL,     RESCC,
                     57:                "       ZV\n",
                     58: 
                     59: SCONV, INAREG|INTAREG|FORCC,
                     60:        SAREG|AWD,      TDOUBLE,
                     61:        SANY,   TFLOAT,
                     62:                NAREG|NASL,     RESC1|RESCC,
                     63:                "       ldd     AL\n    cvdf\n  stf     TA1\n",
                     64: 
                     65: SCONV, INAREG|INTAREG|FORCC,
                     66:        SAREG|AWD,      TFLOAT,
                     67:        SANY,   TDOUBLE,
                     68:                NAREG|NASL,     RESC1|RESCC,
                     69:                "       ldfd    AL\n    std     A1\n",
                     70: 
                     71: SCONV, INAREG|INTAREG|FORCC,
                     72:        SAREG|AWD,      TINT,
                     73:        SANY,   TFLOAT|TDOUBLE,
                     74:                NAREG|NASL,     RESC1|RESCC,
                     75:                "       cvlZR   AL\n    stZR    TA1\n",
                     76: 
                     77: /* the hard stuff */
                     78: /* XXX how about TUCHAR|TUSHORT to TFLOAT|TDOUBLE? */
                     79: SCONV, INAREG|INTAREG|FORCC,
                     80:        SAREG|AWD,      TUNSIGNED,
                     81:        SANY,   TFLOAT|TDOUBLE,
                     82:                NAREG|NASL,     RESC1|RESCC,
                     83:                "       ZY\n",
                     84: 
                     85: SCONV, INAREG|INTAREG|FORCC,
                     86:        SAREG|AWD,      TFLOAT|TDOUBLE,
                     87:        SANY,   ANYUSIGNED,
                     88:                NAREG|NASL,     RESC1|RESCC,
                     89:                "       ZW\n",
                     90: 
                     91: /* XXX need to trim significance here? */
                     92: SCONV, INAREG|INTAREG|FORCC,
                     93:        SAREG|AWD,      TFLOAT|TDOUBLE,
                     94:        SANY,   ANYSIGNED,
                     95:                NAREG|NASL,     RESC1|RESCC,
                     96:                "       ldZL    AL\n    cvZLl   A1\n",
                     97: 
                     98: INIT,  FOREFF,
                     99:        SCON,   TANY,
                    100:        SANY,   TWORD,
                    101:                0,      RNOP,
                    102:                "       .long   CL\n",
                    103: 
                    104: INIT,  FOREFF,
                    105:        SCON,   TANY,
                    106:        SANY,   TSHORT|TUSHORT,
                    107:                0,      RNOP,
                    108:                "       .word   CL\n",
                    109: 
                    110: INIT,  FOREFF,
                    111:        SCON,   TANY,
                    112:        SANY,   TCHAR|TUCHAR,
                    113:                0,      RNOP,
                    114:                "       .byte   CL\n",
                    115: 
                    116: #ifdef FORT
                    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: #endif
                    125: 
                    126: GOTO,  FOREFF,
                    127:        AWD,    TANY,
                    128:        SANY,   TANY,
                    129:                0,      RNOP,
                    130:                "       jmp     *AL\n",
                    131: 
                    132: GOTO,  FOREFF,
                    133:        SAREG,  TANY,
                    134:        SANY,   TANY,
                    135:                0,      RNOP,
                    136:                "       jmp     (AL)\n",
                    137: 
                    138: STARG, FORARG,
                    139:        SCON|SOREG,     TANY,
                    140:        SANY,   TANY,
                    141:                NTEMP+2*NAREG,  RESC3,
                    142:                "ZS",
                    143: 
                    144: STASG, FORARG,
                    145:        SNAME|SOREG,    TANY,
                    146:        SCON|SAREG,     TANY,
                    147:                0,      RNULL,
                    148:                "       ZT\nZS",
                    149: 
                    150: STASG, FOREFF,
                    151:        SNAME|SOREG,    TANY,
                    152:        SCON|SAREG,     TANY,
                    153:                0,      RNOP,
                    154:                "ZS",
                    155: 
                    156: STASG, INAREG,
                    157:        SNAME|SOREG,    TANY,
                    158:        SCON,   TANY,
                    159:                NAREG,  RESC1,
                    160:                "ZS     movl    AR,A1\n",
                    161: 
                    162: STASG, INAREG,
                    163:        SNAME|SOREG,    TANY,
                    164:        SAREG,  TANY,
                    165:                0,      RRIGHT,
                    166:                "       pushl   AR\nZS  movl    (sp)+,AR\n",
                    167: 
                    168: OPLOG, FORCC,
                    169:        SAREG|AWD,      TWORD,
                    170:        SAREG|AWD,      TWORD,
                    171:                0,      RESCC,
                    172:                "       cmpl    AL,AR\nZP",
                    173: 
                    174: /* more grot: constants in unsigned char/short comparisons sign-extend */
                    175: /* optim2() ensures that SCCON/SSCON iff high bit is not set */
                    176: OPLOG, FORCC,
                    177:        SAREG|AWD,      TUCHAR,
                    178:        SCCON,  TANY,
                    179:                0,      RESCC,
                    180:                "       cmpZL   AL,AR\nZP",
                    181: 
                    182: OPLOG, FORCC,
                    183:        AWD,            TUCHAR,
                    184:        SCON,   TANY,
                    185:                NAREG,  RESCC,
                    186:                "       movzZLl AL,A1\n cmpl    A1,AR\nZP",
                    187: 
                    188: OPLOG, FORCC,
                    189:        SAREG|AWD,      TUSHORT,
                    190:        SSCON,  TANY,
                    191:                0,      RESCC,
                    192:                "       cmpZL   AL,AR\nZP",
                    193: 
                    194: OPLOG, FORCC,
                    195:        AWD,            TUSHORT,
                    196:        SCON,   TANY,
                    197:                NAREG,  RESCC,
                    198:                "       movzZLl AL,A1\n cmpl    A1,AR\nZP",
                    199: 
                    200: /* optim2() handles degenerate comparisons with constants */
                    201: OPLOG, FORCC,
                    202:        SAREG|AWD,      TCHAR|TSHORT,
                    203:        SCON,   TANY,
                    204:                0,      RESCC,
                    205:                "       cmpZL   AL,AR\nZP",
                    206: 
                    207: OPLOG, FORCC,
                    208:        SAREG|AWD,      TSHORT,
                    209:        SAREG|AWD,      TSHORT,
                    210:                0,      RESCC,
                    211:                "       cmpw    AL,AR\nZP",
                    212: 
                    213: OPLOG, FORCC,
                    214:        SAREG|AWD,      TUSHORT,
                    215:        SAREG|AWD,      TUSHORT,
                    216:                0,      RESCC,
                    217:                "       cmpw    AL,AR\nZP",
                    218: 
                    219: OPLOG, FORCC,
                    220:        SAREG|AWD,      TCHAR,
                    221:        SAREG|AWD,      TCHAR,
                    222:                0,      RESCC,
                    223:                "       cmpb    AL,AR\nZP",
                    224: 
                    225: OPLOG, FORCC,
                    226:        SAREG|AWD,      TUCHAR,
                    227:        SAREG|AWD,      TUCHAR,
                    228:                0,      RESCC,
                    229:                "       cmpb    AL,AR\nZP",
                    230: 
                    231: OPLOG, FORCC,
                    232:        SAREG|AWD,      TFLOAT,
                    233:        SAREG|AWD,      TFLOAT,
                    234:                0,      RESCC,
                    235:                "       cmpZL2  AL,AR\nZP",
                    236: 
                    237: OPLOG, FORCC,
                    238:        SZERO,          TDOUBLE,
                    239:        SAREG|AWD,      TDOUBLE,
                    240:                0,      RESCC,
                    241:                "       cmpf2   AL,AR\nZP",
                    242: 
                    243: OPLOG, FORCC,
                    244:        SAREG|AWD,      TDOUBLE,
                    245:        SAREG|AWD,      TDOUBLE,
                    246:                0,      RESCC,
                    247:                "       cmpZL2  AL,AR\nZP",
                    248: 
                    249: #ifdef FORT
                    250: /* some implicit conversions made explicit to help f77 out (sigh) */
                    251: OPLOG, FORCC,
                    252:        SAREG|AWD,      TFLOAT,
                    253:        SAREG|AWD,      TDOUBLE,
                    254:                0,      RESCC,
                    255:                "       ldfd    AL\n    cmpd    AR\nZP",
                    256: 
                    257: /* ought to flip this comparison, save an instruction */
                    258: OPLOG, FORCC,
                    259:        SAREG|AWD,      TDOUBLE,
                    260:        SAREG|AWD,      TFLOAT,
                    261:                NAREG|NEVEN|NASR,       RESCC,
                    262:                "       ldfd    AR\n    std     A1\n    cmpd2   AL,A1\nZP",
                    263: #endif
                    264: 
                    265: CCODES,        INAREG|INTAREG,
                    266:        SANY,   TANY,
                    267:        SANY,   TANY,
                    268:                NAREG,  RESC1,
                    269:                "       movl    $1,A1\nZN",
                    270: 
                    271: UNARY CALL,    INAREG|INTAREG,
                    272:        SCON,   TANY,
                    273:        SANY,   TANY,
                    274:                NAREG|NASL,     RESC1, /* should be register 0 */
                    275:                "       ZC,CL\n",
                    276: 
                    277: UNARY CALL,    INAREG|INTAREG,
                    278:        SAREG,  TANY,
                    279:        SANY,   TANY,
                    280:                NAREG|NASL,     RESC1,  /* should be 0 */
                    281:                "       ZC,(AL)\n",
                    282: 
                    283: UNARY CALL,    INAREG|INTAREG,
                    284:        SNAME,  TANY,
                    285:        SANY,   TANY,
                    286:                NAREG|NASL,     RESC1,  /* really reg 0 */
                    287:                "       ZC,*AL\n",
                    288: 
                    289: UNARY CALL,    INAREG|INTAREG,
                    290:        SSOREG, TANY,
                    291:        SANY,   TANY,
                    292:                NAREG|NASL,     RESC1,  /* really reg 0 */
                    293:                "       ZC,*AL\n",
                    294: 
                    295: FORTCALL,      INAREG|INTAREG,
                    296:        SCON,   TANY,
                    297:        SAREG|AWD,      TFLOAT,
                    298:                NAREG|NASL|NASR,        RESC1,
                    299:                "       ldf     AR\n    CLf\n   stf     TA1\n",
                    300: 
                    301: ASG OPSHFT,    INAREG|FOREFF|FORCC,
                    302:        SAREG|AWD,      TWORD,
                    303:        SAREG|SCON,     ANYFIXED,
                    304:                0,      RLEFT|RESCC,
                    305:                "       ZH      AR,AL,AL\n",
                    306: 
                    307: ASG OPSHFT,    INAREG|FOREFF|FORCC,
                    308:        SAREG|AWD,      TWORD,
                    309:        AWD,    TCHAR|TUCHAR,
                    310:                0,      RLEFT|RESCC,
                    311:                "       ZH      AR,AL,AL\n",
                    312: 
                    313: ASG OPSHFT,    INAREG|FOREFF|FORCC,
                    314:        SAREG|AWD,      TWORD,
                    315:        AWD,    ANYFIXED,
                    316:                NAREG,  RLEFT|RESCC,
                    317:                "       ZB      AR,A1\n ZH      A1,AL,AL\n",
                    318: 
                    319: OPSHFT,        INAREG|INTAREG|FORCC,
                    320:        SAREG|AWD,      TWORD,
                    321:        SAREG|SCON,     ANYFIXED,
                    322:                NAREG|NASL|NASR,        RESC1|RESCC,
                    323:                "       ZH      AR,AL,A1\n",
                    324: 
                    325: OPSHFT,        INAREG|INTAREG|FORCC,
                    326:        SAREG|AWD,      TWORD,
                    327:        AWD,    TCHAR|TUCHAR,
                    328:                NAREG|NASL|NASR,        RESC1|RESCC,
                    329:                "       ZH      AR,AL,A1\n",
                    330: 
                    331: OPSHFT,        INAREG|INTAREG|FORCC,
                    332:        SAREG|AWD,      TWORD,
                    333:        AWD,    ANYFIXED,
                    334:                NAREG|NASR,     RESC1|RESCC,
                    335:                "       ZB      AR,A1\n ZH      A1,AL,A1\n",
                    336: 
                    337: INCR,  FOREFF,
                    338:        SAREG|AWD,      TANY,
                    339:        SCON|SNAME,     TANY,
                    340:                0,      RLEFT,
                    341:                "       ZE\n",
                    342: 
                    343: DECR,  FOREFF,
                    344:        SAREG|AWD,      TANY,
                    345:        SCON|SNAME,     TANY,
                    346:                0,      RLEFT,
                    347:                "       ZE\n",
                    348: 
                    349: INCR,  INAREG|INTAREG,
                    350:        SAREG|AWD,      TANY,
                    351:        SCON|SNAME,     TANY,
                    352:                NAREG,  RESC1,
                    353:                "       ZD\n",
                    354: 
                    355: DECR,  INAREG|INTAREG,
                    356:        SAREG|AWD,      TANY,
                    357:        SCON|SNAME,     TANY,
                    358:                NAREG,  RESC1,
                    359:                "       ZD\n",
                    360: 
                    361: ASSIGN,        INAREG|FOREFF,
                    362:        SAREG|AWD,      ANYFIXED,
                    363:        SAREG|AWD,      ANYFIXED,
                    364:                0,      RLEFT,
                    365:                "       ZU\n",
                    366: 
                    367: ASSIGN,        FORCC,
                    368:        SAREG|AWD,      ANYFIXED,
                    369:        SAREG|AWD,      ANYFIXED,
                    370:                0,      RESCC,
                    371:                "       ZV\n",
                    372: 
                    373: ASSIGN,        INAREG|FOREFF|FORCC,
                    374:        SIREG,  TDOUBLE,
                    375:        SZERO,  TANY,
                    376:                0,      RLEFT|RESCC,
                    377:                "       cvld    $0\n    std     AL\n",
                    378: 
                    379: ASSIGN,        INAREG|FOREFF|FORCC,
                    380:        SAREG|SNAME|SOREG,      TDOUBLE,
                    381:        SZERO,  TANY,
                    382:                0,      RLEFT|RESCC,
                    383:                "       clrl    UL\n    clrl    AL\n",
                    384: 
                    385: ASSIGN,        INAREG|FOREFF|FORCC,
                    386:        SAREG|AWD,      TDOUBLE,
                    387:        SIREG,  TDOUBLE,
                    388:                0,      RLEFT|RRIGHT|RESCC,
                    389:                "       ldd     AR\n    std     AL\n",
                    390: 
                    391: ASSIGN,        INAREG|FOREFF|FORCC,
                    392:        SIREG,  TDOUBLE,
                    393:        SAREG|AWD,      TDOUBLE,
                    394:                0,      RLEFT|RRIGHT|RESCC,
                    395:                "       ldd     AR\n    std     AL\n",
                    396: 
                    397: ASSIGN,        INAREG|FOREFF|FORCC,
                    398:        SAREG|SNAME|SOREG,      TDOUBLE,
                    399:        SAREG|SNAME|SOREG,      TDOUBLE,
                    400:                0,      RLEFT|RRIGHT|RESCC,
                    401:                "       movl    UR,UL\n movl    AR,AL\n",
                    402: 
                    403: ASSIGN,        INAREG|FOREFF|FORCC,
                    404:        SAREG|AWD,      TDOUBLE,
                    405:        STARNM, TDOUBLE,
                    406:                0,      RLEFT|RRIGHT|RESCC,
                    407:                "       ldd     AR\n    std     AL\n",
                    408: 
                    409: ASSIGN,        INAREG|FOREFF|FORCC,
                    410:        STARNM, TDOUBLE,
                    411:        SAREG|AWD,      TDOUBLE,
                    412:                0,      RLEFT|RRIGHT|RESCC,
                    413:                "       ldd     AR\n    std     AL\n",
                    414: 
                    415: ASSIGN,        INAREG|FOREFF|FORCC,
                    416:        SAREG|AWD,      TFLOAT,
                    417:        SZERO,  TANY,
                    418:                0,      RLEFT|RESCC,
                    419:                "       clrl    TAL\n",
                    420: 
                    421: ASSIGN,        INAREG|FOREFF|FORCC,
                    422:        SAREG|AWD,      TFLOAT,
                    423:        SAREG|AWD,      TFLOAT,
                    424:                0,      RLEFT|RRIGHT|RESCC,
                    425:                "       movl    AR,TAL\n",
                    426: 
                    427: ASSIGN,        INAREG|FOREFF|FORCC,
                    428:        SAREG|AWD,      TFLOAT,
                    429:        SAREG|AWD,      TDOUBLE,
                    430:                0,      RLEFT|RESCC,
                    431:                "       ldd     AR\n    cvdf\n  stf     AL\n",
                    432: 
                    433: ASSIGN,        INAREG|FOREFF|FORCC,
                    434:        SAREG|AWD,      TDOUBLE,
                    435:        SAREG|AWD,      TFLOAT,
                    436:                0,      RLEFT|RESCC,
                    437:                "       ldfd    AR\n    std     AL\n",
                    438: 
                    439: ASSIGN,        INAREG|FOREFF|FORCC,
                    440:        SAREG|AWD,      TFLOAT|TDOUBLE,
                    441:        SAREG|AWD,      TINT,
                    442:                0,      RLEFT|RESCC,
                    443:                "       cvlZL   AR\n    stZL    AL\n",
                    444: 
                    445: /* XXX need to trim significance here? */
                    446: ASSIGN,        INAREG|FOREFF|FORCC,
                    447:        SAREG|AWD,      TINT,
                    448:        SAREG|AWD,      TFLOAT|TDOUBLE,
                    449:                0,      RLEFT|RESCC,
                    450:                "       ldZR    AR\n    cvZRl   AL\n",
                    451: 
                    452: /* unfortunately assignments are exempt from type balancing */
                    453: ASSIGN,        INAREG|FOREFF|FORCC,
                    454:        SAREG|AWD,      TCHAR|TUCHAR|TSHORT|TUSHORT,
                    455:        SAREG|AWD,      TFLOAT|TDOUBLE,
                    456:                NAREG|NASR,     RLEFT|RESCC,
                    457:                "       ldZR    AR\n    cvZRl   A1\n    cvtlZL  A1,AL\n",
                    458: 
                    459: ASSIGN,        INAREG|FOREFF|FORCC,
                    460:        SAREG|AWD,      TFLOAT|TDOUBLE,
                    461:        SAREG|AWD,      TCHAR|TSHORT,
                    462:                NAREG|NASR,     RLEFT|RESCC,
                    463:                "       cvtZRl  AR,A1\n cvlZL   A1\n    stZL    AL\n",
                    464: 
                    465: ASSIGN,        INAREG|FOREFF|FORCC,
                    466:        SAREG|AWD,      TFLOAT|TDOUBLE,
                    467:        SAREG|AWD,      TUCHAR|TUSHORT,
                    468:                NAREG|NASR,     RLEFT|RESCC,
                    469:                "       movzZRl AR,A1\n cvlZL   A1\n    stZL    AL\n",
                    470: 
                    471: ASSIGN, INAREG|FOREFF|FORCC,
                    472:        SAREG|AWD,      TUNSIGNED,
                    473:        SAREG|AWD,      TFLOAT|TDOUBLE,
                    474:                0,      RLEFT|RESCC,
                    475:                "       ZW\n",
                    476: 
                    477: ASSIGN, INAREG|FOREFF|FORCC,
                    478:        SAREG|AWD,      TFLOAT|TDOUBLE,
                    479:        SAREG|AWD,      TUNSIGNED,
                    480:                0,      RLEFT|RESCC,
                    481:                "       ZY\n",
                    482: 
                    483: ASSIGN,        INAREG|FOREFF,
                    484:        SFLD,   TANY,
                    485:        SZERO,  TANY,
                    486:                0,      RRIGHT,
                    487:                "       andl2   N,AL\n",
                    488: 
                    489: ASSIGN,        FOREFF,
                    490:        SFLD,   TANY,
                    491:        SCON,   TANY,
                    492:                0,      RNOP,
                    493:                "       andl2   N,AL\n  orl2    ZF,AL\n",
                    494: 
                    495: ASSIGN,        INAREG,
                    496:        SFLD,   TANY,
                    497:        SCON,   TANY,
                    498:                NAREG,  RESC1,
                    499:                "       andl2   N,AL\n  orl2    ZF,AL\n ZI\n",
                    500: 
                    501: ASSIGN,        FOREFF,
                    502:        SFLD,   TANY,
                    503:        SAREG|AWD,      TWORD,
                    504:                NAREG|NASR,     RNOP,
                    505:                "       shll    $H,AR,A1\n      andl2   M,A1\n  andl2   N,AL\n\
                    506:        orl2    A1,AL\n",
                    507: 
                    508: ASSIGN,        INAREG,
                    509:        SFLD,   TANY,
                    510:        SAREG|AWD,      TWORD,
                    511:                NAREG,  RESC1,
                    512:                "       shll    $H,AR,A1\n      andl2   M,A1\n  andl2   N,AL\n\
                    513:        orl2    A1,AL\n ZI\n",
                    514: 
                    515: /* dummy UNARY MUL entry to get U* to possibly match OPLTYPE */
                    516: UNARY MUL,     FOREFF,
                    517:        SCC,    TANY,
                    518:        SCC,    TANY,
                    519:                0,      RNULL,
                    520:                "       help help help\n",
                    521: 
                    522: REG,   INTEMP,
                    523:        SANY,   TANY,
                    524:        SAREG,  TDOUBLE,
                    525:                2*NTEMP,        RESC1,
                    526:                "       movl    UR,U1\n movl    AR,A1\n",
                    527: 
                    528: REG,   INTEMP,
                    529:        SANY,   TANY,
                    530:        SAREG,  TANY,
                    531:                NTEMP,  RESC1,
                    532:                "       movl    AR,A1\n",
                    533: 
                    534: REG,   FORARG,
                    535:        SANY,   TANY,
                    536:        SAREG,  TFLOAT,
                    537:                0,      RNULL,
                    538:                "       pushl   $0\n    pushl   AR\n",
                    539: 
                    540: REG,   FORARG,
                    541:        SANY,   TANY,
                    542:        SAREG,  TDOUBLE,
                    543:                0,      RNULL,
                    544:                "       pushl   UR\n    pushl   AR\n",
                    545: 
                    546: OREG,  INTEMP,
                    547:        SANY,   TANY,
                    548:        SOREG,  TWORD|TFLOAT,
                    549:                NTEMP,  RESC1,
                    550:                "       movl    AR,A1\n",
                    551: 
                    552: OREG,  INTEMP,
                    553:        SANY,   TANY,
                    554:        SIREG,  TDOUBLE,
                    555:                2*NTEMP,        RESC1,
                    556:                "       ldd     UR\n    std     A1\n",
                    557: 
                    558: OREG,  INTEMP,
                    559:        SANY,   TANY,
                    560:        SOREG,  TDOUBLE,
                    561:                2*NTEMP,        RESC1,
                    562:                "       movl    UR,U1\n movl    AR,A1\n",
                    563: 
                    564: OREG,  INTEMP,
                    565:        SANY,   TANY,
                    566:        SOREG,  TANY,
                    567:                NTEMP,  RESC1,
                    568:                "       movZR   AR,A1\n",
                    569: 
                    570: OPLEAF,        FOREFF,
                    571:        SANY,   TANY,
                    572:        SAREG|AWD,      TANY,
                    573:                0,      RLEFT,
                    574:                "",
                    575: 
                    576: OPLTYPE,       INAREG|INTAREG,
                    577:        SANY,   TANY,
                    578:        SZERO,  TDOUBLE,
                    579:                NAREG|NASR,     RESC1,
                    580:                "       clrl    U1\n    clrl    A1\n",
                    581: 
                    582: OPLTYPE,       INAREG|INTAREG,
                    583:        SANY,   TANY,
                    584:        SIREG,  TDOUBLE,
                    585:                NAREG|NASR,     RESC1,
                    586:                "       ldd     AR\n    std     A1\n",
                    587: 
                    588: OPLTYPE,       INAREG|INTAREG,
                    589:        SANY,   TANY,
                    590:        SAREG|SNAME|SOREG|SCON, TDOUBLE,
                    591:                NAREG,          RESC1,
                    592:                "       movl    AR,A1\n movl    UR,U1\n",
                    593: 
                    594: OPLTYPE,       INAREG|INTAREG,
                    595:        SANY,   TANY,
                    596:        STARNM, TDOUBLE,
                    597:                NAREG|NASR,     RESC1,
                    598:                "       ldd     AR\n    std     A1\n",
                    599: 
                    600: OPLTYPE,       INAREG|INTAREG,
                    601:        SANY,   TANY,
                    602:        SZERO,  TANY,
                    603:                NAREG|NASR,     RESC1,
                    604:                "       clrl    TA1\n",
                    605: 
                    606: OPLTYPE,       INAREG|INTAREG,
                    607:        SANY,   TANY,
                    608:        SAREG|AWD,      TFLOAT,
                    609:                NAREG|NASR,     RESC1,
                    610:                "       movl    AR,TA1\n",
                    611: 
                    612: OPLTYPE,       INAREG|INTAREG,
                    613:        SANY,   TANY,
                    614:        SANY,   ANYFIXED,
                    615:                NAREG|NASR,     RESC1,
                    616:                "       ZU\n",
                    617: 
                    618: OPLTYPE,       FORCC,
                    619:        SANY,   TANY,
                    620:        SAREG|AWD,      TFLOAT,
                    621:                0,      RESCC,
                    622:                "       ldf     AR\n    tstf\n",
                    623: 
                    624: OPLTYPE,       FORCC,
                    625:        SANY,   TANY,
                    626:        SAREG|AWD,      TDOUBLE,
                    627:                0,      RESCC,
                    628:                "       ldd     AR\n    tstd\n",
                    629: 
                    630: OPLTYPE,       FORCC,
                    631:        SANY,   TANY,
                    632:        SANY,   ANYFIXED,
                    633:                0,      RESCC,
                    634:                "       tstZR   AR\n",
                    635: 
                    636: OPLTYPE,       FORARG,
                    637:        SANY,   TANY,
                    638:        SANY,   TWORD,
                    639:                0,      RNULL,
                    640:                "       pushl   AR\n",
                    641: 
                    642: OPLTYPE,       FORARG,
                    643:        SANY,   TANY,
                    644:        SANY,   TCHAR|TSHORT,
                    645:                0,      RNULL,
                    646:                "       pushZR  AR\n",
                    647: 
                    648: OPLTYPE,       FORARG,
                    649:        SANY,   TANY,
                    650:        SANY,   TUCHAR|TUSHORT,
                    651:                0,      RNULL,
                    652:                "       movzZRl AR,-(sp)\n",
                    653: 
                    654: OPLTYPE,       FORARG,
                    655:        SANY,   TANY,
                    656:        SZERO,  TFLOAT|TDOUBLE,
                    657:                0,      RNULL,
                    658:                "       pushl   $0\n    pushl   $0\n",
                    659: 
                    660: OPLTYPE,       FORARG,
                    661:        SANY,   TANY,
                    662:        SIREG,  TDOUBLE,
                    663:                0,      RNULL,
                    664:                "       ldd     AR\n    pushd\n",
                    665: 
                    666: OPLTYPE,       FORARG,
                    667:        SANY,   TANY,
                    668:        SAREG|SNAME|SOREG,      TDOUBLE,
                    669:                0,      RNULL,
                    670:                "       pushl   UR\n    pushl   AR\n",
                    671: 
                    672: OPLTYPE,       FORARG,
                    673:        SANY,   TANY,
                    674:        STARNM, TDOUBLE,
                    675:                0,      RNULL,
                    676:                "       ldd     AR\n    pushd\n",
                    677: 
                    678: OPLTYPE,       FORARG,
                    679:        SANY,   TANY,
                    680:        SAREG|AWD,      TFLOAT,
                    681:                0,      RNULL,
                    682:                "       pushl   $0\n    pushl   AR\n",
                    683: 
                    684: UNARY MINUS,   INAREG|INTAREG|FORCC,
                    685:        SAREG|AWD,      ANYSIGNED|TUNSIGNED,
                    686:        SANY,   TANY,
                    687:                NAREG|NASL,     RESC1|RESCC,
                    688:                "       mnegZL  AL,A1\n",
                    689: 
                    690: UNARY MINUS,   INAREG|INTAREG|FORCC,
                    691:        SAREG|AWD,      TFLOAT|TDOUBLE,
                    692:        SANY,   TANY,
                    693:                NAREG|NASL,     RESC1|RESCC,
                    694:                "       lnZL    AL\n    stZL    TA1\n",
                    695: 
                    696: COMPL, INAREG|INTAREG|FORCC,
                    697:        SAREG|AWD,      ANYSIGNED|TUNSIGNED,
                    698:        SANY,   TANY,
                    699:                NAREG|NASL,     RESC1|RESCC,
                    700:                "       mcomZL  AL,A1\n",
                    701: 
                    702: COMPL, INAREG|INTAREG|FORCC,
                    703:        SAREG|AWD,      ANYFIXED,
                    704:        SANY,   TANY,
                    705:                NAREG|NASL,     RESC1|RESCC,
                    706:                "       movzZLl AL,A1\n mcoml   A1,A1\n",
                    707: 
                    708: AND,   FORCC,
                    709:        SAREG|AWD,      TWORD,
                    710:        SAREG|AWD,      TWORD,
                    711:                0,      RESCC,
                    712:                "       bitl    AR,AL\n",
                    713: 
                    714: AND,   FORCC,
                    715:        SAREG|AWD,      TSHORT|TUSHORT,
                    716:        SSCON,  TWORD,
                    717:                0,      RESCC,
                    718:                "       bitw    AR,AL\n",
                    719: 
                    720: AND,   FORCC,
                    721:        SAREG|AWD,      TSHORT|TUSHORT,
                    722:        SAREG|AWD,      TSHORT|TUSHORT,
                    723:                0,      RESCC,
                    724:                "       bitw    AR,AL\n",
                    725: 
                    726: AND,   FORCC,
                    727:        SAREG|AWD,      TCHAR|TUCHAR,
                    728:        SCCON,  TWORD,
                    729:                0,      RESCC,
                    730:                "       bitb    AR,AL\n",
                    731: 
                    732: AND,   FORCC,
                    733:        SAREG|AWD,      TCHAR|TUCHAR,
                    734:        SAREG|AWD,      TCHAR|TUCHAR,
                    735:                0,      RESCC,
                    736:                "       bitb    AR,AL\n",
                    737: 
                    738: /* General cases for DIV and ASG DIV are handled below with OPMUL */
                    739: /* Some special cases are handled in optim2() */
                    740: 
                    741: DIV,   INAREG|FOREFF|FORCC,
                    742:        SAREG|AWD,      TUNSIGNED|TULONG,
                    743:        SCON,   ANYUSIGNED,
                    744:                NAREG|NEVEN,    RESC1|RESCC,
                    745:                "       movl    AL,U1\n clrl    A1\n    ediv    AR,A1,A1,U1\n",
                    746: 
                    747: ASG DIV,       INAREG|FOREFF|FORCC,
                    748:        SAREG|AWD,      TINT|TLONG|TUNSIGNED|TULONG,
                    749:        SMCON,  ANYUSIGNED,
                    750:                0,      RLEFT|RESCC,
                    751:                "       ZJ\n",
                    752: 
                    753: ASG DIV,       INAREG|FOREFF|FORCC,
                    754:        SAREG|AWD,      TINT|TLONG|TUNSIGNED|TULONG,
                    755:        SCON,   ANYUSIGNED,
                    756:                NAREG|NEVEN,    RLEFT|RESCC,
                    757:                "       movl    AL,U1\n clrl    A1\n    ediv    AR,A1,AL,U1\n",
                    758: 
                    759: MOD,   INAREG|INTAREG,
                    760:        SAREG|AWD,      TINT|TLONG,
                    761:        SAREG|AWD,      TINT|TLONG,
                    762:                NAREG|NEVEN,    RESC1,
                    763:                "       ZM      ediv    AR,A1,U1,A1\n",
                    764: 
                    765: MOD,   INAREG|FOREFF,
                    766:        SAREG|AWD,      TUNSIGNED|TULONG,
                    767:        SMCON,  ANYUSIGNED,
                    768:                NAREG|NASL,     RLEFT|RESC1,
                    769:                "       ZJ\n",
                    770: 
                    771: MOD,   INAREG|FOREFF,
                    772:        SAREG|AWD,      TUNSIGNED|TULONG,
                    773:        SCON,   ANYUSIGNED,
                    774:                NAREG|NEVEN,    RESC1,
                    775:                "       movl    AL,U1\n clrl    A1\n    ediv    AR,A1,U1,A1\n",
                    776: 
                    777: /* should only see UNSIGNED lhs here if converted from UCHAR/USHORT lhs */
                    778: /* beware -- the ediv remainder operand must be a register */
                    779: ASG MOD,       INAREG|FOREFF|FORCC,
                    780:        SAREG|AWD,      TINT|TLONG|TUNSIGNED|TULONG,
                    781:        SAREG|AWD,      TINT|TLONG,
                    782:                NAREG|NEVEN,    RLEFT|RESCC,
                    783:                "       ZM      ediv    AR,A1,U1,A1\n   movl    A1,AL\n",
                    784: 
                    785: ASG MOD,       INAREG|FOREFF,
                    786:        SAREG|AWD,      TINT|TLONG|TUNSIGNED|TULONG,
                    787:        SMCON,  ANYUSIGNED,
                    788:                0,      RLEFT,
                    789:                "       ZJ\n",
                    790: 
                    791: ASG MOD,       INAREG|FOREFF,
                    792:        SAREG|AWD,      TINT|TLONG|TUNSIGNED|TULONG,
                    793:        SCON,   ANYUSIGNED,
                    794:                NAREG|NEVEN,    RLEFT,
                    795:                "       movl    AL,U1\n clrl    A1\n    ediv    AR,A1,U1,A1\n   movl    A1,AL\n",
                    796: 
                    797: /* XXX is this supposed to help on overflow? */
                    798: ASG MUL,       INAREG|FOREFF|FORCC,
                    799:        SAREG|AWD,      TUNSIGNED,
                    800:        SAREG|AWD,      TUNSIGNED|TINT,
                    801:                NAREG|NEVEN,    RLEFT|RESCC,
                    802:                "       emul    AR,AL,$0,A1\n   movl    U1,AL\n",
                    803: 
                    804: ASG MUL,       INAREG|FOREFF|FORCC,
                    805:        SAREG|AWD,      TUNSIGNED|TINT,
                    806:        SAREG|AWD,      TUNSIGNED,
                    807:                NAREG|NEVEN,    RLEFT|RESCC,
                    808:                "       emul    AR,AL,$0,A1\n   movl    U1,AL\n",
                    809: 
                    810: ASG OPMUL,     INAREG|FOREFF|FORCC,
                    811:        SAREG|AWD,      TWORD,
                    812:        SAREG|AWD,      TWORD,
                    813:                0,      RLEFT|RESCC,
                    814:                "       OL2     AR,AL\n",
                    815: 
                    816: MUL,   INAREG|INTAREG|FORCC,
                    817:        STAREG,         TUNSIGNED,
                    818:        SAREG|AWD,      TUNSIGNED,
                    819:                NAREG|NEVEN,    RLEFT|RESCC,
                    820:                "       emul    AR,AL,$0,A1\n   movl    U1,AL\n",
                    821: 
                    822: OPMUL, INAREG|INTAREG|FORCC,
                    823:        STAREG,         TWORD,
                    824:        SAREG|AWD,      TWORD,
                    825:                0,      RLEFT|RESCC,
                    826:                "       OL2     AR,AL\n",
                    827: 
                    828: MUL,   INAREG|INTAREG|FORCC,
                    829:        SAREG|AWD,      TUNSIGNED,
                    830:        SAREG|AWD,      TUNSIGNED,
                    831:                NAREG|NEVEN,    RESC1|RESCC,
                    832:                "       emul    AR,AL,$0,A1\n   movl    U1,A1\n",
                    833: 
                    834: OPMUL, INAREG|INTAREG|FORCC,
                    835:        SAREG|AWD,      TWORD,
                    836:        SAREG|AWD,      TWORD,
                    837:                NAREG|NASL|NASR,        RESC1|RESCC,
                    838:                "       OL3     AR,AL,A1\n",
                    839: 
                    840: #ifdef REG_CHAR
                    841: ASG PLUS,      INAREG|FOREFF|FORCC,
                    842:        SAREG,  TWORD,
                    843:        SONE,   TINT,
                    844:                0,      RLEFT|RESCC,
                    845:                "       incZL   AL\n",
                    846: 
                    847: ASG PLUS,      INAREG|FOREFF|FORCC,
                    848:        AWD,    ANYFIXED,
                    849:        SONE,   TINT,
                    850:                0,      RLEFT|RESCC,
                    851:                "       incZL   AL\n",
                    852: 
                    853: ASG MINUS,     INAREG|FOREFF|FORCC,
                    854:        SAREG,  TWORD,
                    855:        SONE,   TINT,
                    856:                0,      RLEFT|RESCC,
                    857:                "       decZL   AL\n",
                    858: 
                    859: ASG MINUS,     INAREG|FOREFF|FORCC,
                    860:        AWD,    ANYFIXED,
                    861:        SONE,   TINT,
                    862:                0,      RLEFT|RESCC,
                    863:                "       decZL   AL\n",
                    864: #else
                    865: ASG PLUS,       INAREG|FOREFF|FORCC,
                    866:        SAREG|AWD,      ANYFIXED,
                    867:        SONE,   TANY,
                    868:                0,      RLEFT|RESCC,
                    869:                "       incZL   AL\n",
                    870: 
                    871: ASG MINUS,       INAREG|FOREFF|FORCC,
                    872:        SAREG|AWD,      ANYFIXED,
                    873:        SONE,   TANY,
                    874:                0,      RLEFT|RESCC,
                    875:                "       decZL   AL\n",
                    876: #endif
                    877: 
                    878: PLUS,  INAREG|INTAREG|FORCC,
                    879:        STAREG, TWORD,
                    880:        SONE,   TWORD,
                    881:                0,      RLEFT|RESCC,
                    882:                "       incZL   AL\n",
                    883: 
                    884: MINUS, INAREG|INTAREG|FORCC,
                    885:        STAREG, TWORD,
                    886:        SONE,   TWORD,
                    887:                0,      RLEFT|RESCC,
                    888:                "       decZL   AL\n",
                    889: 
                    890: ASG OPSIMP,    INAREG|FOREFF|FORCC,
                    891:        SAREG|AWD,      TWORD,
                    892:        SAREG|AWD,      TWORD,
                    893:                0,      RLEFT|RESCC,
                    894:                "       OL2     AR,AL\n",
                    895: 
                    896: ASG OPSIMP,    INAREG|FOREFF|FORCC,
                    897:        SAREG,  TWORD,
                    898:        SAREG,  TSHORT|TUSHORT|TCHAR|TUCHAR,
                    899:                0,      RLEFT|RESCC,
                    900:                "       OL2     AR,AL\n",
                    901: 
                    902: ASG OPSIMP,    INAREG|FOREFF|FORCC,
                    903:        AWD,    TSHORT|TUSHORT,
                    904:        SAREG|AWD,      TSHORT|TUSHORT,
                    905:                0,      RLEFT|RESCC,
                    906:                "       OW2     AR,AL\n",
                    907: 
                    908: ASG OPSIMP,    INAREG|FOREFF|FORCC,
                    909:        AWD,    TSHORT|TUSHORT,
                    910:        SSCON,  TWORD,
                    911:                0,      RLEFT|RESCC,
                    912:                "       OW2     AR,AL\n",
                    913: 
                    914: ASG OPSIMP,    INAREG|FOREFF|FORCC,
                    915:        AWD,    TCHAR|TUCHAR,
                    916:        SAREG|AWD,      TCHAR|TUCHAR,
                    917:                0,      RLEFT|RESCC,
                    918:                "       OB2     AR,AL\n",
                    919: 
                    920: ASG OPSIMP,    INAREG|FOREFF|FORCC,
                    921:        AWD,    TCHAR|TUCHAR,
                    922:        SCCON,  TWORD,
                    923:                0,      RLEFT|RESCC,
                    924:                "       OB2     AR,AL\n",
                    925: 
                    926: OPSIMP,        INAREG|INTAREG|FORCC,
                    927:        STAREG, ANYFIXED,
                    928:        SAREG|AWD,      TWORD,
                    929:                0,      RLEFT|RESCC,
                    930:                "       OL2     AR,AL\n",
                    931: 
                    932: OPSIMP,        INAREG|INTAREG|FORCC,
                    933:        SAREG|AWD,      TWORD,
                    934:        SAREG|AWD,      TWORD,
                    935:                NAREG|NASL|NASR,        RESC1|RESCC,
                    936:                "       OL3     AR,AL,A1\n",
                    937: 
                    938: ASG OPSIMP,    INAREG|FOREFF,
                    939:        SAREG|AWD,      TFLOAT|TDOUBLE,
                    940:        SZERO,  TANY,
                    941:                0,      RLEFT,
                    942:                "",
                    943: 
                    944: ASG MUL,       INAREG|FOREFF|FORCC,
                    945:        SIREG,  TDOUBLE,
                    946:        SZERO,  TANY,
                    947:                0,      RLEFT|RESCC,
                    948:                "       cvld    $0\n    std     AL\n",
                    949: 
                    950: ASG MUL,       INAREG|FOREFF|FORCC,
                    951:        SAREG|SNAME|SOREG,      TDOUBLE,
                    952:        SZERO,  TANY,
                    953:                0,      RLEFT|RESCC,
                    954:                "       clrl    UL\n    clrl    AL\n",
                    955: 
                    956: ASG MUL,       INAREG|FOREFF|FORCC,
                    957:        SAREG|AWD,      TFLOAT,
                    958:        SZERO,  TANY,
                    959:                0,      RLEFT|RESCC,
                    960:                "       clrl    TAL\n",
                    961: 
                    962: ASG OPFLOAT,   INAREG|FOREFF|FORCC,
                    963:        SAREG|AWD,      TFLOAT,
                    964:        SAREG|AWD,      TFLOAT,
                    965:                0,      RLEFT|RESCC,
                    966:                "       ldf     AL\n    OF      AR\n    stf     TAL\n",
                    967: 
                    968: ASG OPFLOAT,   INAREG|FOREFF|FORCC,
                    969:        SAREG|AWD,      TDOUBLE,
                    970:        SAREG|AWD,      TDOUBLE,
                    971:                0,      RLEFT|RESCC,
                    972:                "       ldd     AL\n    OD      AR\n    std     AL\n",
                    973: 
                    974: ASG PLUS,      INAREG|FOREFF|FORCC,
                    975:        SAREG|AWD,      TDOUBLE,
                    976:        SAREG|AWD,      TFLOAT,
                    977:                NAREG|NASL,     RLEFT|RESCC,
                    978:                "       ldfd    AR\n    OD      AL\n    std     AL\n",
                    979: 
                    980: ASG MUL,       INAREG|FOREFF|FORCC,
                    981:        SAREG|AWD,      TDOUBLE,
                    982:        SAREG|AWD,      TFLOAT,
                    983:                NAREG|NASL,     RLEFT|RESCC,
                    984:                "       ldfd    AR\n    OD      AL\n    std     AL\n",
                    985: 
                    986: ASG OPFLOAT,   INAREG|FOREFF|FORCC,
                    987:        SAREG|AWD,      TDOUBLE,
                    988:        SAREG|AWD,      TFLOAT,
                    989:                NAREG|NASL,     RLEFT|RESCC,
                    990:                "       ldfd    AR\n    std     A1\n    ldd     AL\n    OD      A1\n    std     AL\n",
                    991: 
                    992: ASG OPFLOAT,   INAREG|FOREFF|FORCC,
                    993:        SAREG|AWD,      TFLOAT,
                    994:        SAREG|AWD,      TDOUBLE,
                    995:                0,      RLEFT|RESCC,
                    996:                "       ldfd    AL\n    OD      AR\n    cvdf\n  stf     TAL\n",
                    997: 
                    998: ASG OPFLOAT,   INAREG|FOREFF|FORCC,
                    999:        SAREG|AWD,      ANYFIXED,
                   1000:        SAREG|AWD,      TFLOAT|TDOUBLE,
                   1001:                NAREG,  RLEFT|RESCC,    /* usable() knows we may need a reg pair */
                   1002:                "       ZG\n",
                   1003: 
                   1004: OPSIMP,        INAREG|INTAREG,
                   1005:        SAREG,  TFLOAT|TDOUBLE,
                   1006:        SZERO,  TANY,
                   1007:                0,      RLEFT,
                   1008: #if defined(FORT) || defined(SPRECC)
                   1009:                "T",
                   1010: #else
                   1011:                "",
                   1012: #endif
                   1013: 
                   1014: OPSIMP,        INAREG|INTAREG|FORCC,
                   1015:        AWD,    TFLOAT,
                   1016:        SZERO,  TANY,
                   1017:                NAREG,  RESC1|RESCC,
                   1018:                "       movl    AL,A1\n",
                   1019: 
                   1020: OPSIMP,        INAREG|INTAREG|FORCC,
                   1021:        SIREG,  TDOUBLE,
                   1022:        SZERO,  TANY,
                   1023:                NAREG,  RESC1|RESCC,
                   1024:                "       ldd     AL\n    std     A1\n",
                   1025: 
                   1026: OPSIMP,        INAREG|INTAREG|FORCC,
                   1027:        SAREG|SNAME|SOREG,      TDOUBLE,
                   1028:        SZERO,  TANY,
                   1029:                NAREG,  RESC1|RESCC,
                   1030:                "       movl    UL,U1\n movl    AL,A1\n",
                   1031: 
                   1032: MUL,   INAREG|INTAREG|FORCC,
                   1033:        SIREG,  TDOUBLE,
                   1034:        SZERO,  TANY,
                   1035:                NAREG|NASR,     RESC1|RESCC,
                   1036:                "       cvld    $0\n    std     A1\n",
                   1037: 
                   1038: MUL,   INAREG|INTAREG|FORCC,
                   1039:        SAREG|SNAME|SOREG,      TDOUBLE,
                   1040:        SZERO,  TANY,
                   1041:                NAREG|NASR,     RESC1|RESCC,
                   1042:                "       clrl    U1\n    clrl    A1\n",
                   1043: 
                   1044: MUL,   INAREG|INTAREG|FORCC,
                   1045:        SAREG|AWD,      TFLOAT,
                   1046:        SZERO,  TANY,
                   1047:                NAREG|NASR,     RESC1|RESCC,
                   1048:                "       clrl    TA1\n",
                   1049: 
                   1050: OPFLOAT,       INAREG|INTAREG|FORCC,
                   1051:        SAREG|AWD,      TFLOAT,
                   1052:        SAREG|AWD,      TFLOAT,
                   1053:                NAREG|NASL|NASR,        RESC1|RESCC,
                   1054:                "       ldf     AL\n    OF      AR\n    stf     TA1\n",
                   1055: 
                   1056: OPFLOAT,       INAREG|INTAREG|FORCC,
                   1057:        SZERO,          TANY,
                   1058:        SAREG|AWD,      TDOUBLE,
                   1059:                NAREG,  RESC1|RESCC,
                   1060:                "\tclrl\tA1\n\tclrl\tU1\n\tldd\tA1\n\tOD\tAR\n\tstd\tA1\n",
                   1061: 
                   1062: OPFLOAT,       INAREG|INTAREG|FORCC,
                   1063:        SAREG|AWD,      TDOUBLE,
                   1064:        SAREG|AWD,      TDOUBLE,
                   1065:                NAREG|NASL|NASR,        RESC1|RESCC,
                   1066:                "       ldd     AL\n    OD      AR\n    std     A1\n",
                   1067: 
                   1068:        /* Default actions for hard trees ... */
                   1069: 
                   1070: # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,""
                   1071: 
                   1072: UNARY MUL, DF( UNARY MUL ),
                   1073: 
                   1074: INCR, DF(INCR),
                   1075: 
                   1076: DECR, DF(INCR),
                   1077: 
                   1078: ASSIGN, DF(ASSIGN),
                   1079: 
                   1080: STASG, DF(STASG),
                   1081: 
                   1082: FLD, DF(FLD),
                   1083: 
                   1084: OPLEAF, DF(NAME),
                   1085: 
                   1086: OPLOG, FORCC,
                   1087:        SANY,   TANY,
                   1088:        SANY,   TANY,
                   1089:                REWRITE,        BITYPE,
                   1090:                "",
                   1091: 
                   1092: OPLOG, DF(NOT),
                   1093: 
                   1094: COMOP, DF(COMOP),
                   1095: 
                   1096: INIT, DF(INIT),
                   1097: 
                   1098: OPUNARY, DF(UNARY MINUS),
                   1099: 
                   1100: 
                   1101: ASG OPANY, DF(ASG PLUS),
                   1102: 
                   1103: OPANY, DF(BITYPE),
                   1104: 
                   1105: FREE,  FREE,   FREE,   FREE,   FREE,   FREE,   FREE,   FREE,   "help; I'm in trouble\n" };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.