Annotation of cci/usr/src/lib/fpcc/table.c, revision 1.1.1.2

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