Annotation of coherent/b/bin/c/n1/i386/tables/shift.t, revision 1.1.1.1

1.1       root        1: //////////
                      2: / n1/i386/tables/shift.t
                      3: //////////
                      4: 
                      5: /////////
                      6: /
                      7: / Shift left (<<) and shift right (>>).
                      8: / Short shifts are done inline.
                      9: / Longer shifts use 'shift by CL'.
                     10: / [OP0] is ZSAL or ZSAR.
                     11: / [TL OP0] maps to a signed or unsigned shift of the appropriate length.
                     12: / The result of a shift by more than 32 bits is undefined behavior.
                     13: / This table simply generates a shift by the arg,
                     14: / and the i386 uses the shift counts modulo 32.
                     15: /
                     16: /////////
                     17: 
                     18: SHL:
                     19: SHR:
                     20: 
                     21: / Long op immediate.
                     22: %      PEFFECT|PVALUE|PREL|P_SLT
                     23:        DWORD           ANYR    ANYR    *       TEMP
                     24:                TREG            DWORD
                     25:                SHCNT|MMX       LONG
                     26:                        [TL OP0]        [R],[AR]
                     27:                [IFR]   [REL0]          [LAB]
                     28: 
                     29: / Long op long.
                     30: / This uses node temp EAX rather than ANYR to avoid using ECX.
                     31: %      PEFFECT|PVALUE|P_SLT
                     32:        DWORD           EAX     EAX     ECX     EAX
                     33:                TREG            DWORD
                     34:                ADR             LONG
                     35:                        [ZMOV]          [REGNO ECX],[AR]
                     36:                        [TL OP0]        [R],[REGNO CL]
                     37: 
                     38: //////////
                     39: / end of n1/i386/tables/shift.t
                     40: //////////

unix.superglobalmegacorp.com

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