Annotation of quake2/linux/r_aclipa.s, revision 1.1.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.