Subversion Repositories Kolibri OS

Rev

Rev 425 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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