Annotation of coherent/b/bin/c/n1/i386/tables/alogic.t, revision 1.1

1.1     ! root        1: //////////
        !             2: / n1/i386/tables/alogic.t
        !             3: //////////
        !             4: 
        !             5: /////////
        !             6: /
        !             7: / Assigned AND (&=), assigned OR (|=), assigned XOR (^=).
        !             8: / [OP0] is ZAND, ZOR or ZXOR.
        !             9: / The [TL OP0] macro maps e.g. ZOR into ZORB or ZORW; see n1/i386/outmch.c.
        !            10: /
        !            11: /////////
        !            12: 
        !            13: AAND:
        !            14: AOR:
        !            15: AXOR:
        !            16: 
        !            17: //////////
        !            18: / Longs.
        !            19: //////////
        !            20: 
        !            21: / Long register op= easy.
        !            22: %      PEFFECT|PVALUE|PREL
        !            23:        LONG            ANYR    *       *       TEMP
        !            24:                REG|MMX         LONG
        !            25:                EASY|MMX        LONG
        !            26: / Integer op= immediate.
        !            27: %      PEFFECT|PVALUE|PREL
        !            28:        LONG            ANYR    *       *       TEMP
        !            29:                ADR|LV          SINT|UINT
        !            30:                IMM|MMX         LONG
        !            31:                        [TL OP0]        [AL],[TL AR]
        !            32:                [IFV]   [TL ZMOVSX]     [R],[AL]
        !            33:                [IFR]   [REL0]          [LAB]
        !            34: 
        !            35: / Integer op= long.
        !            36: %      PEFFECT|PVALUE|PREL|P_SRT|PBYTE
        !            37:        LONG            ANYR    *       ANYR    TEMP
        !            38:                ADR|LV          SINT|UINT
        !            39:                TREG            LONG
        !            40:                        [TL OP0]        [AL],[TL R]
        !            41:                [IFV]   [TL ZMOVSX]     [R],[AL]
        !            42:                [IFR]   [REL0]          [LAB]
        !            43: 
        !            44: /////////
        !            45: /
        !            46: / Fields.
        !            47: / The modifier masks and shifts the right subtree appropriately.
        !            48: / The right therefore may be simply OPed into the left.
        !            49: / Distinguish between signed and unsigned fields.
        !            50: / If the value is needed, unsigned result must be masked;
        !            51: / the sign extend shifts make the mask unnecessary, so it gets optimized out.
        !            52: /
        !            53: /////////
        !            54: 
        !            55: / Signed field op= immediate.
        !            56: %      PEFFECT|PVALUE
        !            57:        FS32            ANYR    *       *       TEMP
        !            58:                ADR|LV          FLD
        !            59:                IMM|MMX         LONG
        !            60:                        [TL OP0]        [AL],[TL AR]
        !            61:                [IFV]   [TL ZMOVZX]     [R],[AL]
        !            62: 
        !            63: / Signed field op= long.
        !            64: %      PEFFECT|PVALUE|P_SRT|PBYTE
        !            65:        FS32            ANYR    *       ANYR    TEMP
        !            66:                ADR|LV          FLD
        !            67:                TREG            LONG
        !            68:                        [TL OP0]        [AL],[TL R]
        !            69:                [IFV]   [TL ZMOVZX]     [R],[AL]
        !            70: 
        !            71: / Unsigned field op= immediate.
        !            72: %      PEFFECT|PVALUE
        !            73:        FU32            ANYR    *       *       TEMP
        !            74:                ADR|LV          FLD
        !            75:                IMM|MMX         LONG
        !            76:                        [TL OP0]        [AL],[TL AR]
        !            77:                [IFV]   [TL ZMOVZX]     [R],[AL]
        !            78:                [IFV]   [ZAND]          [R],[EMASK]
        !            79: 
        !            80: / Unsigned long field op= long.
        !            81: %      PEFFECT|PVALUE|P_SRT|PBYTE
        !            82:        FU32            ANYR    *       ANYR    TEMP
        !            83:                ADR|LV          FLD
        !            84:                TREG            LONG
        !            85:                        [TL OP0]        [AL],[TL R]
        !            86:                [IFV]   [TL ZMOVZX]     [R],[AL]
        !            87:                [IFV]   [ZAND]          [R],[EMASK]
        !            88: 
        !            89: //////////
        !            90: / end of n1/i386/tables/alogic.t
        !            91: //////////

unix.superglobalmegacorp.com

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