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