Annotation of quake2/linux/r_aclipa.s, revision 1.1

1.1     ! root        1: //
        !             2: // r_aliasa.s
        !             3: // x86 assembly-language Alias model transform and project code.
        !             4: //
        !             5: 
        !             6: #include "qasm.h"
        !             7: #include "d_ifacea.h"
        !             8: 
        !             9: #if id386
        !            10: 
        !            11:        .data
        !            12: Ltemp0:        .long   0
        !            13: Ltemp1:        .long   0
        !            14: 
        !            15:        .text
        !            16: 
        !            17: #define pfv0           8+4
        !            18: #define pfv1           8+8
        !            19: #define out                    8+12
        !            20: 
        !            21: .globl C(R_Alias_clip_bottom)
        !            22: C(R_Alias_clip_bottom):
        !            23:        pushl   %esi
        !            24:        pushl   %edi
        !            25: 
        !            26:        movl    pfv0(%esp),%esi
        !            27:        movl    pfv1(%esp),%edi
        !            28: 
        !            29:        movl    C(r_refdef)+rd_aliasvrectbottom,%eax
        !            30: 
        !            31: LDoForwardOrBackward:
        !            32: 
        !            33:        movl    fv_v+4(%esi),%edx
        !            34:        movl    fv_v+4(%edi),%ecx
        !            35: 
        !            36:        cmpl    %ecx,%edx
        !            37:        jl              LDoForward
        !            38: 
        !            39:        movl    fv_v+4(%esi),%ecx
        !            40:        movl    fv_v+4(%edi),%edx
        !            41:        movl    pfv0(%esp),%edi
        !            42:        movl    pfv1(%esp),%esi
        !            43: 
        !            44: LDoForward:
        !            45: 
        !            46:        subl    %edx,%ecx
        !            47:        subl    %edx,%eax
        !            48:        movl    %ecx,Ltemp1
        !            49:        movl    %eax,Ltemp0
        !            50:        fildl   Ltemp1
        !            51:        fildl   Ltemp0
        !            52:        movl    out(%esp),%edx
        !            53:        movl    $2,%eax
        !            54: 
        !            55:        fdivp   %st(0),%st(1)                                   // scale
        !            56: 
        !            57: LDo3Forward:
        !            58:        fildl   fv_v+0(%esi)    // fv0v0 | scale
        !            59:        fildl   fv_v+0(%edi)    // fv1v0 | fv0v0 | scale
        !            60:        fildl   fv_v+4(%esi)    // fv0v1 | fv1v0 | fv0v0 | scale
        !            61:        fildl   fv_v+4(%edi)    // fv1v1 | fv0v1 | fv1v0 | fv0v0 | scale
        !            62:        fildl   fv_v+8(%esi)    // fv0v2 | fv1v1 | fv0v1 | fv1v0 | fv0v0 | scale
        !            63:        fildl   fv_v+8(%edi)    // fv1v2 | fv0v2 | fv1v1 | fv0v1 | fv1v0 | fv0v0 |
        !            64:                                                        //  scale
        !            65:        fxch    %st(5)                  // fv0v0 | fv0v2 | fv1v1 | fv0v1 | fv1v0 | fv1v2 |
        !            66:                                                        //  scale
        !            67:        fsubr   %st(0),%st(4)   // fv0v0 | fv0v2 | fv1v1 | fv0v1 | fv1v0-fv0v0 |
        !            68:                                                        //  fv1v2 | scale
        !            69:        fxch    %st(3)                  // fv0v1 | fv0v2 | fv1v1 | fv0v0 | fv1v0-fv0v0 |
        !            70:                                                        //  fv1v2 | scale
        !            71:        fsubr   %st(0),%st(2)   // fv0v1 | fv0v2 | fv1v1-fv0v1 | fv0v0 |
        !            72:                                                        //  fv1v0-fv0v0 | fv1v2 | scale
        !            73:        fxch    %st(1)                  // fv0v2 | fv0v1 | fv1v1-fv0v1 | fv0v0 |
        !            74:                                                        //  fv1v0-fv0v0 | fv1v2 | scale
        !            75:        fsubr   %st(0),%st(5)   // fv0v2 | fv0v1 | fv1v1-fv0v1 | fv0v0 |
        !            76:                                                        //  fv1v0-fv0v0 | fv1v2-fv0v2 | scale
        !            77:        fxch    %st(6)                  // scale | fv0v1 | fv1v1-fv0v1 | fv0v0 |
        !            78:                                                        //  fv1v0-fv0v0 | fv1v2-fv0v2 | fv0v2
        !            79:        fmul    %st(0),%st(4)   // scale | fv0v1 | fv1v1-fv0v1 | fv0v0 |
        !            80:                                                        //  (fv1v0-fv0v0)*scale | fv1v2-fv0v2 | fv0v2
        !            81:        addl    $12,%edi
        !            82:        fmul    %st(0),%st(2)   // scale | fv0v1 | (fv1v1-fv0v1)*scale | fv0v0 |
        !            83:                                                        //  (fv1v0-fv0v0)*scale | fv1v2-fv0v2 | fv0v2
        !            84:        addl    $12,%esi
        !            85:        addl    $12,%edx
        !            86:        fmul    %st(0),%st(5)   // scale | fv0v1 | (fv1v1-fv0v1)*scale | fv0v0 |
        !            87:                                                        //  (fv1v0-fv0v0)*scale | (fv1v2-fv0v2)*scale |
        !            88:                                                        //  fv0v2
        !            89:        fxch    %st(3)                  // fv0v0 | fv0v1 | (fv1v1-fv0v1)*scale | scale |
        !            90:                                                        //  (fv1v0-fv0v0)*scale | (fv1v2-fv0v2)*scale |
        !            91:                                                        //  fv0v2
        !            92:        faddp   %st(0),%st(4)   // fv0v1 | (fv1v1-fv0v1)*scale | scale |
        !            93:                                                        //  fv0v0+(fv1v0-fv0v0)*scale |
        !            94:                                                        //  (fv1v2-fv0v2)*scale | fv0v2
        !            95:        faddp   %st(0),%st(1)   // fv0v1+(fv1v1-fv0v1)*scale | scale |
        !            96:                                                        //  fv0v0+(fv1v0-fv0v0)*scale |
        !            97:                                                        //  (fv1v2-fv0v2)*scale | fv0v2
        !            98:        fxch    %st(4)                  // fv0v2 | scale | fv0v0+(fv1v0-fv0v0)*scale |
        !            99:                                                        //  (fv1v2-fv0v2)*scale | fv0v1+(fv1v1-fv0v1)*scale
        !           100:        faddp   %st(0),%st(3)   // scale | fv0v0+(fv1v0-fv0v0)*scale |
        !           101:                                                        //  fv0v2+(fv1v2-fv0v2)*scale |
        !           102:                                                        //  fv0v1+(fv1v1-fv0v1)*scale
        !           103:        fxch    %st(1)                  // fv0v0+(fv1v0-fv0v0)*scale | scale | 
        !           104:                                                        //  fv0v2+(fv1v2-fv0v2)*scale |
        !           105:                                                        //  fv0v1+(fv1v1-fv0v1)*scale
        !           106:        fadds   float_point5
        !           107:        fxch    %st(3)                  // fv0v1+(fv1v1-fv0v1)*scale | scale | 
        !           108:                                                        //  fv0v2+(fv1v2-fv0v2)*scale |
        !           109:                                                        //  fv0v0+(fv1v0-fv0v0)*scale
        !           110:        fadds   float_point5
        !           111:        fxch    %st(2)                  // fv0v2+(fv1v2-fv0v2)*scale | scale | 
        !           112:                                                        //  fv0v1+(fv1v1-fv0v1)*scale |
        !           113:                                                        //  fv0v0+(fv1v0-fv0v0)*scale
        !           114:        fadds   float_point5
        !           115:        fxch    %st(3)                  // fv0v0+(fv1v0-fv0v0)*scale | scale | 
        !           116:                                                        //  fv0v1+(fv1v1-fv0v1)*scale |
        !           117:                                                        //  fv0v2+(fv1v2-fv0v2)*scale
        !           118:        fistpl  fv_v+0-12(%edx) // scale | fv0v1+(fv1v1-fv0v1)*scale |
        !           119:                                                        //  fv0v2+(fv1v2-fv0v2)*scale
        !           120:        fxch    %st(1)                  // fv0v1+(fv1v1-fv0v1)*scale | scale |
        !           121:                                                        //  fv0v2+(fv1v2-fv0v2)*scale | scale
        !           122:        fistpl  fv_v+4-12(%edx) // scale | fv0v2+(fv1v2-fv0v2)*scale
        !           123:        fxch    %st(1)                  // fv0v2+(fv1v2-fv0v2)*sc | scale
        !           124:        fistpl  fv_v+8-12(%edx) // scale
        !           125: 
        !           126:        decl    %eax
        !           127:        jnz             LDo3Forward
        !           128: 
        !           129:        fstp    %st(0)
        !           130: 
        !           131:        popl    %edi
        !           132:        popl    %esi
        !           133: 
        !           134:        ret
        !           135: 
        !           136: 
        !           137: .globl C(R_Alias_clip_top)
        !           138: C(R_Alias_clip_top):
        !           139:        pushl   %esi
        !           140:        pushl   %edi
        !           141: 
        !           142:        movl    pfv0(%esp),%esi
        !           143:        movl    pfv1(%esp),%edi
        !           144: 
        !           145:        movl    C(r_refdef)+rd_aliasvrect+4,%eax
        !           146:        jmp             LDoForwardOrBackward
        !           147: 
        !           148: 
        !           149: 
        !           150: .globl C(R_Alias_clip_right)
        !           151: C(R_Alias_clip_right):
        !           152:        pushl   %esi
        !           153:        pushl   %edi
        !           154: 
        !           155:        movl    pfv0(%esp),%esi
        !           156:        movl    pfv1(%esp),%edi
        !           157: 
        !           158:        movl    C(r_refdef)+rd_aliasvrectright,%eax
        !           159: 
        !           160: LRightLeftEntry:
        !           161: 
        !           162: 
        !           163:        movl    fv_v+4(%esi),%edx
        !           164:        movl    fv_v+4(%edi),%ecx
        !           165: 
        !           166:        cmpl    %ecx,%edx
        !           167:        movl    fv_v+0(%esi),%edx
        !           168: 
        !           169:        movl    fv_v+0(%edi),%ecx
        !           170:        jl              LDoForward2
        !           171: 
        !           172:        movl    fv_v+0(%esi),%ecx
        !           173:        movl    fv_v+0(%edi),%edx
        !           174:        movl    pfv0(%esp),%edi
        !           175:        movl    pfv1(%esp),%esi
        !           176: 
        !           177: LDoForward2:
        !           178: 
        !           179:        jmp             LDoForward
        !           180: 
        !           181: 
        !           182: .globl C(R_Alias_clip_left)
        !           183: C(R_Alias_clip_left):
        !           184:        pushl   %esi
        !           185:        pushl   %edi
        !           186: 
        !           187:        movl    pfv0(%esp),%esi
        !           188:        movl    pfv1(%esp),%edi
        !           189: 
        !           190:        movl    C(r_refdef)+rd_aliasvrect+0,%eax
        !           191:        jmp             LRightLeftEntry
        !           192: 
        !           193: 
        !           194: #endif // id386
        !           195: 

unix.superglobalmegacorp.com

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