Annotation of coherent/b/bin/c/n1/i386/tables/alogic.t, revision 1.1.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.