Annotation of coherent/b/bin/c/n1/i8086/tables/relop.t, revision 1.1

1.1     ! root        1: /////////
        !             2: /
        !             3: / Relationals.
        !             4: / Handles only test contexts, since other parts of the compiler transform
        !             5: / all other contexts (like value) into the required '?' and ':' operations.
        !             6: / Some special things handle bytes in a slightly better way than the default
        !             7: / (saving the 'cbw') and other special things handle pointers.
        !             8: / Pointers are compared for equality by comparing both segment and offset.
        !             9: / Pointers are compared for inequality by comparing only the offset;
        !            10: / the C code always assumes OPTIMIZE(3).
        !            11: /
        !            12: /////////
        !            13: 
        !            14: EQ:
        !            15: NE:
        !            16: GT:
        !            17: GE:
        !            18: LT:
        !            19: LE:
        !            20: ULT:
        !            21: ULE:
        !            22: UGT:
        !            23: UGE:
        !            24: 
        !            25: /////////
        !            26: /
        !            27: / Simple stuff.
        !            28: / Words and bytes.
        !            29: / An immediate can be compared to any addressable thing.
        !            30: / Special things for the byte compare to avoid the CBW.
        !            31: /
        !            32: /////////
        !            33: 
        !            34: %      PREL
        !            35:        *               NONE    *       *       NONE
        !            36:                ADR             BYTE
        !            37:                BYTE|MMX        WORD
        !            38:                        [ZCMPB] [AL],[AR]
        !            39:                        [REL0]  [LAB]
        !            40: 
        !            41: %      PREL
        !            42:        *               NONE    *       *       NONE
        !            43:                ADR|MMX         WORD
        !            44:                IMM|MMX         WORD
        !            45: %      PREL
        !            46:        *               NONE    *       *       NONE
        !            47:                RREG|LREG|MMX   WORD
        !            48:                ADR|IMM         WORD
        !            49:                        [ZCMP]  [AL],[AR]
        !            50:                        [REL0]  [LAB]
        !            51: 
        !            52: %      PREL|P_SLT
        !            53:        *               ANYR    ANYR    *       NONE
        !            54:                TREG            BYTE
        !            55:                ADR|IMM         BYTE
        !            56:                        [ZCMPB] [LO R],[AR]
        !            57:                        [REL0]  [LAB]
        !            58: 
        !            59: %      PREL
        !            60:        *               AX      *       *       NONE
        !            61:                ADR             BYTE
        !            62:                ADR|IMM         BYTE
        !            63:                        [ZMOVB] [LO R],[AL]
        !            64:                        [ZCMPB] [LO R],[AR]
        !            65:                        [REL0]  [LAB]
        !            66: 
        !            67: %      PREL|P_SLT
        !            68:        *               ANYR    ANYR    *       NONE
        !            69:                TREG            WORD
        !            70:                ADR|IMM         WORD
        !            71:                        [ZCMP]  [R],[AR]
        !            72:                        [REL0]  [LAB]
        !            73: 
        !            74: /////////
        !            75: /
        !            76: / Longs and pointers.
        !            77: / Equality.
        !            78: /
        !            79: /////////
        !            80: 
        !            81: %      PEQ
        !            82:        WORD            NONE    *       *       NONE
        !            83:                ADR     LONG
        !            84:                IMM|MMX LONG
        !            85:                        [ZCMP]  [HI AL],[HI AR]
        !            86:                        [ZJNE]  [LAB1]
        !            87:                        [ZCMP]  [LO AL],[LO AR]
        !            88:                        [ZJE]   [LAB]
        !            89:                [DLAB1]:
        !            90: 
        !            91: %      PEQ
        !            92:        *               NONE    ANYR    *       NONE
        !            93:                TREG            LONG
        !            94:                UHC|MMX         LONG
        !            95:                        [ZOR]   [HI RL],[HI RL]
        !            96:                        [ZJNE]  [LAB1]
        !            97:                        [ZCMP]  [LO RL],[LO AR]
        !            98:                        [ZJE]   [LAB]
        !            99:                [DLAB1]:
        !           100: 
        !           101: %      PEQ
        !           102:        *               NONE    ANYR    *       NONE
        !           103:                TREG            LONG
        !           104:                LHC|MMX         LONG
        !           105:                        [ZCMP]  [HI RL],[HI AR]
        !           106:                        [ZJNE]  [LAB1]
        !           107:                        [ZOR]   [LO RL],[LO RL]
        !           108:                        [ZJE]   [LAB]
        !           109:                [DLAB1]:
        !           110: 
        !           111: %      PEQ
        !           112:        *               NONE    ANYR    *       NONE
        !           113:                TREG            LONG
        !           114:                ADR|IMM         LONG
        !           115: #ifndef ONLYSMALL
        !           116: %      PEQ
        !           117:        *               NONE    ANYR    *       NONE
        !           118:                TREG            LPTX
        !           119:                ADR             LPTX
        !           120: #endif
        !           121:                        [ZCMP]  [HI RL],[HI AR]
        !           122:                        [ZJNE]  [LAB1]
        !           123:                        [ZCMP]  [LO RL],[LO AR]
        !           124:                        [ZJE]   [LAB]
        !           125:                [DLAB1]:
        !           126: 
        !           127: #ifndef ONLYSMALL
        !           128: %      PEQ
        !           129:        *               NONE    ANYR    *       NONE
        !           130:                TREG            LPTX
        !           131:                ADR|IMM         WORD
        !           132:                        [ZOR]   [HI RL],[HI RL]
        !           133:                        [ZJNE]  [LAB1]
        !           134:                        [ZCMP]  [LO RL],[AR]
        !           135:                        [ZJE]   [LAB]
        !           136:                [DLAB1]:
        !           137: 
        !           138: %      PEQ
        !           139:        WORD            ANYR    ANYR    *       TEMP
        !           140:                TREG            WORD
        !           141:                ADR|IMM         LPTX
        !           142:                        [ZMOV]  [R],[HI AR]
        !           143:                        [ZOR]   [R],[R]
        !           144:                        [ZJNE]  [LAB1]
        !           145:                        [ZCMP]  [RL],[LO AR]
        !           146:                        [ZJE]   [LAB]
        !           147:                [DLAB1]:
        !           148: #endif
        !           149: 
        !           150: /////////
        !           151: /
        !           152: / Inequality. Slightly different code for longs.
        !           153: /
        !           154: /////////
        !           155: 
        !           156: %      PNE
        !           157:        *               NONE    *       *       NONE
        !           158:                ADR             LONG
        !           159:                IMM|MMX         LONG
        !           160:                        [ZCMP]  [HI AL],[HI AR]
        !           161:                        [ZJNE]  [LAB]
        !           162:                        [ZCMP]  [LO AL],[LO AR]
        !           163:                        [ZJNE]  [LAB]
        !           164: 
        !           165: %      PNE
        !           166:        *               NONE    ANYR    *       NONE
        !           167:                TREG            LONG
        !           168:                UHC|MMX         LONG
        !           169:                        [ZOR]   [HI RL],[HI RL]
        !           170:                        [ZJNE]  [LAB]
        !           171:                        [ZCMP]  [LO RL],[LO AR]
        !           172:                        [ZJNE]  [LAB]
        !           173: 
        !           174: %      PNE
        !           175:        *               NONE    ANYR    *       NONE
        !           176:                TREG            LONG
        !           177:                LHC|MMX         LONG
        !           178:                        [ZCMP]  [HI RL],[HI AR]
        !           179:                        [ZJNE]  [LAB]
        !           180:                        [ZOR]   [LO RL],[LO RL]
        !           181:                        [ZJNE]  [LAB]
        !           182: 
        !           183: %      PNE
        !           184:        *               NONE    ANYR    *       NONE
        !           185:                TREG            LONG
        !           186:                ADR|IMM         LONG
        !           187: #ifndef ONLYSMALL
        !           188: %      PNE
        !           189:        *               NONE    ANYR    *       NONE
        !           190:                TREG            LPTX
        !           191:                ADR             LPTX
        !           192: #endif
        !           193:                        [ZCMP]  [HI RL],[HI AR]
        !           194:                        [ZJNE]  [LAB]
        !           195:                        [ZCMP]  [LO RL],[LO AR]
        !           196:                        [ZJNE]  [LAB]
        !           197: 
        !           198: #ifndef ONLYSMALL
        !           199: %      PNE
        !           200:        *               NONE    ANYR    *       NONE
        !           201:                TREG            LPTX
        !           202:                ADR|IMM         WORD
        !           203:                        [ZOR]   [HI RL],[HI RL]
        !           204:                        [ZJNE]  [LAB]
        !           205:                        [ZCMP]  [LO RL],[AR]
        !           206:                        [ZJNE]  [LAB]
        !           207: 
        !           208: %      PNE
        !           209:        WORD            ANYR    ANYR    *       TEMP
        !           210:                TREG            WORD
        !           211:                ADR|IMM         LPTX
        !           212:                        [ZMOV]  [R],[HI AR]
        !           213:                        [ZOR]   [R],[R]
        !           214:                        [ZJNE]  [LAB]
        !           215:                        [ZCMP]  [RL],[LO AR]
        !           216:                        [ZJNE]  [LAB]
        !           217: #endif
        !           218: 
        !           219: /////////
        !           220: /
        !           221: / All the rest.
        !           222: /
        !           223: /////////
        !           224: 
        !           225: #ifndef ONLYSMALL
        !           226: %      PNEREL
        !           227:        *               NONE    *       *       NONE
        !           228:                ADR             LPTX
        !           229:                IMM|MMX         LPTX
        !           230:                        [ZCMP]  [LO AL],[LO AR]
        !           231:                        [REL0]  [LAB]
        !           232: 
        !           233: %      PNEREL
        !           234:        *               NONE    ANYR    *       NONE
        !           235:                TREG            LPTX
        !           236:                ADR             LPTX
        !           237:                        [ZCMP]  [LO RL],[LO AR]
        !           238:                        [REL0]  [LAB]
        !           239: 
        !           240: %      PNEREL
        !           241:        *               NONE    *       *       NONE
        !           242:                ADR             LPTX
        !           243:                IMM|MMX         WORD
        !           244:                        [ZCMP]  [LO AL],[AR]
        !           245:                        [REL0]  [LAB]
        !           246: 
        !           247: %      PNEREL
        !           248:        *               NONE    ANYR    *       NONE
        !           249:                TREG            LPTX
        !           250:                ADR|IMM         WORD
        !           251:                        [ZCMP]  [LO RL],[AR]
        !           252:                        [REL0]  [LAB]
        !           253: 
        !           254: %      PNEREL
        !           255:        *               NONE    *       *       NONE
        !           256:                ADR             WORD
        !           257:                IMM|MMX         LPTX
        !           258:                        [ZCMP]  [AL],[LO AR]
        !           259:                        [REL0]  [LAB]
        !           260: 
        !           261: %      PNEREL
        !           262:        *               NONE    ANYR    *       NONE
        !           263:                TREG            WORD
        !           264:                ADR|IMM         LPTX
        !           265:                        [ZCMP]  [RL],[LO AR]
        !           266:                        [REL0]  [LAB]
        !           267: #endif
        !           268: 
        !           269: %      PNEREL
        !           270:        *               NONE    *       *       NONE
        !           271:                ADR             LONG
        !           272:                IMM|MMX         LONG
        !           273:                        [ZCMP]  [HI AL],[HI AR]
        !           274:                        [LREL1] [LAB1]
        !           275:                        [LREL0] [LAB]
        !           276:                        [ZCMP]  [LO AL],[LO AR]
        !           277:                        [LREL2] [LAB]
        !           278:                [DLAB1]:
        !           279: 
        !           280: %      PNEREL
        !           281:        *               NONE    ANYR    *       NONE
        !           282:                TREG            LONG
        !           283:                UHC|MMX         LONG
        !           284:                        [ZOR]   [HI RL],[HI RL]
        !           285:                        [LREL1] [LAB1]
        !           286:                        [LREL0] [LAB]
        !           287:                        [ZCMP]  [LO RL],[LO AR]
        !           288:                        [LREL2] [LAB]
        !           289:                [DLAB1]:
        !           290: 
        !           291: %      PNEREL
        !           292:        *               NONE    ANYR    *       NONE
        !           293:                TREG            LONG
        !           294:                ADR|IMM         LONG
        !           295:                        [ZCMP]  [HI RL],[HI AR]
        !           296:                        [LREL1] [LAB1]
        !           297:                        [LREL0] [LAB]
        !           298:                        [ZCMP]  [LO RL],[LO AR]
        !           299:                        [LREL2] [LAB]
        !           300:                [DLAB1]:
        !           301: 
        !           302: ////////
        !           303: /
        !           304: / Floating point, using the numeric data coprocessor (8087).
        !           305: /
        !           306: ////////
        !           307: 
        !           308: #ifdef NDPDEF
        !           309: %      PREL
        !           310:        *               *       FPAC    *       NONE
        !           311:                TREG            FF64
        !           312:                ADR             FS16
        !           313:                        [ZFCOMPI] [AR]
        !           314:                        [CALL] [GID cfcc]
        !           315:                        [REL0] [LAB]
        !           316: 
        !           317: %      PREL|P_SLT
        !           318:        *               *       FPAC    *       NONE
        !           319:                TREG            FF64
        !           320:                ADR             FS32
        !           321:                        [ZFCOMPL] [AR]
        !           322:                        [CALL] [GID cfcc]
        !           323:                        [REL0] [LAB]
        !           324: 
        !           325: %      PREL|P_SLT
        !           326:        *               *       FPAC    *       NONE
        !           327:                TREG            FF64
        !           328:                ADR             FF32
        !           329:                        [ZFCOMPF] [AR]
        !           330:                        [CALL] [GID cfcc]
        !           331:                        [REL0] [LAB]
        !           332: 
        !           333: %      PREL|P_SLT
        !           334:        *               *       FPAC    *       NONE
        !           335:                TREG            FF64
        !           336:                ADR             FF64
        !           337:                        [ZFCOMPD] [AR]
        !           338:                        [CALL] [GID cfcc]
        !           339:                        [REL0] [LAB]
        !           340: #endif

unix.superglobalmegacorp.com

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