Subversion Repositories Kolibri OS

Rev

Rev 293 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
293 serge 1
 
2
3
 
4
mmx128_mix_2:
5
           prefetcht1 [eax+128]
6
           prefetcht1 [ebx+128]
7
8
 
9
           movaps xmm1, [eax+16]
10
           movaps xmm2, [eax+32]
11
           movaps xmm3, [eax+48]
12
           movaps xmm4, [eax+64]
13
           movaps xmm5, [eax+80]
14
           movaps xmm6, [eax+96]
15
           movaps xmm7, [eax+112]
16
17
 
18
           movaps [edi], xmm0
19
           paddsw xmm1,[ebx+16]
20
           movaps [edi+16], xmm1
21
           paddsw xmm2, [ebx+32]
22
           movaps [edi+32], xmm2
23
           paddsw xmm3, [ebx+48]
24
           movaps [edi+48], xmm3
25
           paddsw xmm4, [ebx+64]
26
           movaps [edi+64], xmm4
27
           paddsw xmm5, [ebx+80]
28
           movaps [edi+80], xmm5
29
           paddsw xmm6, [ebx+96]
30
           movaps [edi+96], xmm6
31
           paddsw xmm7, [ebx+112]
32
           movaps [edi+112], xmm7
33
           ret
34
35
 
36
mmx128_mix_3:
37
           prefetcht1 [eax+128]
38
           prefetcht1 [ebx+128]
39
           prefetcht1 [ecx+128]
40
41
 
42
           movaps xmm1, [eax+16]
43
           movaps xmm2, [eax+32]
44
           movaps xmm3, [eax+48]
45
           movaps xmm4, [eax+64]
46
           movaps xmm5, [eax+80]
47
           movaps xmm6, [eax+96]
48
           movaps xmm7, [eax+112]
49
50
 
51
           paddsw xmm1, [ebx+16]
52
           paddsw xmm2, [ebx+32]
53
           paddsw xmm3, [ebx+48]
54
           paddsw xmm4, [ebx+64]
55
           paddsw xmm5, [ebx+80]
56
           paddsw xmm6, [ebx+96]
57
           paddsw xmm7, [ebx+112]
58
59
 
60
           movaps [edi], xmm0
61
           paddsw xmm1, [ecx+16]
62
           movaps [edi+16], xmm1
63
           paddsw xmm2, [ecx+32]
64
           movaps [edi+32], xmm2
65
           paddsw xmm3, [ecx+48]
66
           movaps [edi+48], xmm3
67
           paddsw xmm4, [ecx+64]
68
           movaps [edi+64], xmm4
69
           paddsw xmm5, [ecx+80]
70
           movaps [edi+80], xmm5
71
           paddsw xmm6, [ecx+96]
72
           movaps [edi+96], xmm6
73
           paddsw xmm7, [ecx+112]
74
           movaps [edi+112], xmm7
75
           ret
76
77
 
78
mmx128_mix_4:
79
           prefetcht1 [eax+128]
80
           prefetcht1 [ebx+128]
81
           prefetcht1 [ecx+128]
82
           prefetcht1 [edx+128]
83
84
 
85
           movaps xmm2, [eax+16]
86
           movaps xmm4, [eax+32]
87
           movaps xmm6, [eax+48]
88
           movaps xmm1, [ebx]
89
           movaps xmm3, [ebx+16]
90
           movaps xmm5, [ebx+32]
91
           movaps xmm7, [ebx+48]
92
93
 
94
           paddsw xmm2, [ecx+16]
95
           paddsw xmm4, [ecx+32]
96
           paddsw xmm6, [ecx+48]
97
           paddsw xmm1, [edx]
98
           paddsw xmm3, [edx+16]
99
           paddsw xmm5, [edx+32]
100
           paddsw xmm7, [edx+48]
101
102
 
103
           movaps [edi], xmm0
104
           paddsw xmm2, xmm3
105
           movaps [edi+16], xmm2
106
           paddsw xmm4, xmm5
107
           movaps [edi+32], xmm4
108
           paddsw xmm6, xmm7
109
           movaps [edi+48], xmm6
110
111
 
112
           movaps xmm2, [eax+80]
113
           movaps xmm4, [eax+96]
114
           movaps xmm6, [eax+112]
115
116
 
117
           movaps xmm3, [ebx+80]
118
           movaps xmm5, [ebx+96]
119
           movaps xmm7, [ebx+112]
120
           paddsw xmm0, [ecx+64]
121
           paddsw xmm2, [ecx+80]
122
           paddsw xmm4, [ecx+96]
123
           paddsw xmm6, [ecx+112]
124
125
 
126
           paddsw xmm3, [edx+80]
127
           paddsw xmm5, [edx+96]
128
           paddsw xmm7, [edx+112]
129
           paddsw xmm0, xmm1
130
           movaps [edi+64], xmm0
131
           paddsw xmm2, xmm3
132
           movaps [edi+80], xmm2
133
           paddsw xmm4, xmm5
134
           movaps [edi+96], xmm4
135
           paddsw xmm6, xmm7
136
           movaps [edi+112], xmm6
137
           ret
138
end if
139