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

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