]>
Commit | Line | Data |
---|---|---|
48a8a37d JB |
1 | --- SDL_gfx-2.0.8/SDL_imageFilter.c.orig 2002-02-10 03:51:21.000000000 +0100 |
2 | +++ SDL_gfx-2.0.8/SDL_imageFilter.c 2003-08-05 21:56:40.000000000 +0200 | |
3 | @@ -79,13 +79,13 @@ | |
4 | "mov %3, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
5 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
6 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
7 | - ".L1010: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
8 | + "1: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
9 | "paddusb (%%ebx), %%mm1 \n\t" // mm1=Src1+Src2 (add 8 bytes with saturation) | |
10 | "movq %%mm1, (%%edi) \n\t" // store result in Dest | |
11 | "add $8, %%eax \n\t" // increase Src1, Src2 and Dest | |
12 | "add $8, %%ebx \n\t" // register pointers by 8 | |
13 | "add $8, %%edi \n\t" "dec %%ecx \n\t" // decrease loop counter | |
14 | - "jnz .L1010 \n\t" // check loop termination, proceed if required | |
15 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
16 | "emms \n\t" // exit MMX state | |
17 | "popa \n\t":"=m" (Dest) // %0 | |
18 | :"m"(Src2), // %1 | |
19 | @@ -156,7 +156,7 @@ | |
20 | "mov %3, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
21 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
22 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
23 | - ".L21011: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
24 | + "1: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
25 | "movq (%%ebx), %%mm2 \n\t" // load 8 bytes from Src2 into mm2 | |
26 | // --- Byte shift via Word shift --- | |
27 | "psrlw $1, %%mm1 \n\t" // shift 4 WORDS of mm1 1 bit to the right | |
28 | @@ -169,7 +169,7 @@ | |
29 | "add $8, %%eax \n\t" // increase Src1, Src2 and Dest | |
30 | "add $8, %%ebx \n\t" // register pointers by 8 | |
31 | "add $8, %%edi \n\t" "dec %%ecx \n\t" // decrease loop counter | |
32 | - "jnz .L21011 \n\t" // check loop termination, proceed if required | |
33 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
34 | "emms \n\t" // exit MMX state | |
35 | "popa \n\t":"=m" (Dest) // %0 | |
36 | :"m"(Src2), // %1 | |
37 | @@ -236,13 +236,13 @@ | |
38 | "mov %3, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
39 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
40 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
41 | - ".L1012: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
42 | + "1: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
43 | "psubusb (%%ebx), %%mm1 \n\t" // mm1=Src1-Src2 (sub 8 bytes with saturation) | |
44 | "movq %%mm1, (%%edi) \n\t" // store result in Dest | |
45 | "add $8, %%eax \n\t" // increase Src1, Src2 and Dest | |
46 | "add $8, %%ebx \n\t" // register pointers by 8 | |
47 | "add $8, %%edi \n\t" "dec %%ecx \n\t" // decrease loop counter | |
48 | - "jnz .L1012 \n\t" // check loop termination, proceed if required | |
49 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
50 | "emms \n\t" // exit MMX state | |
51 | "popa \n\t":"=m" (Dest) // %0 | |
52 | :"m"(Src2), // %1 | |
53 | @@ -308,7 +308,7 @@ | |
54 | "mov %3, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
55 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
56 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
57 | - ".L1013: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
58 | + "1: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
59 | "movq (%%ebx), %%mm2 \n\t" // load 8 bytes from Src2 into mm2 | |
60 | "psubusb (%%ebx), %%mm1 \n\t" // mm1=Src1-Src2 (sub 8 bytes with saturation) | |
61 | "psubusb (%%eax), %%mm2 \n\t" // mm2=Src2-Src1 (sub 8 bytes with saturation) | |
62 | @@ -317,7 +317,7 @@ | |
63 | "add $8, %%eax \n\t" // increase Src1, Src2 and Dest | |
64 | "add $8, %%ebx \n\t" // register pointers by 8 | |
65 | "add $8, %%edi \n\t" "dec %%ecx \n\t" // decrease loop counter | |
66 | - "jnz .L1013 \n\t" // check loop termination, proceed if required | |
67 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
68 | "emms \n\t" // exit MMX state | |
69 | "popa \n\t":"=m" (Dest) // %0 | |
70 | :"m"(Src2), // %1 | |
71 | @@ -383,7 +383,7 @@ | |
72 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
73 | "pxor %%mm0, %%mm0 \n\t" // zero mm0 register | |
74 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
75 | - ".L1014: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
76 | + "1: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
77 | "movq (%%ebx), %%mm3 \n\t" // load 8 bytes from Src2 into mm3 | |
78 | "movq %%mm1, %%mm2 \n\t" // copy mm1 into mm2 | |
79 | "movq %%mm3, %%mm4 \n\t" // copy mm3 into mm4 | |
80 | @@ -407,7 +407,7 @@ | |
81 | "add $8, %%eax \n\t" // increase Src1, Src2 and Dest | |
82 | "add $8, %%ebx \n\t" // register pointers by 8 | |
83 | "add $8, %%edi \n\t" "dec %%ecx \n\t" // decrease loop counter | |
84 | - "jnz .L1014 \n\t" // check loop termination, proceed if required | |
85 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
86 | "emms \n\t" // exit MMX state | |
87 | "popa \n\t":"=m" (Dest) // %0 | |
88 | :"m"(Src2), // %1 | |
89 | @@ -476,13 +476,13 @@ | |
90 | "mov %0, %%edi \n\t" // load Dest address into edi | |
91 | "mov %3, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
92 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
93 | - ".L10141: \n\t" "mov (%%edx), %%al \n\t" // load a byte from Src1 | |
94 | + "1: \n\t" "mov (%%edx), %%al \n\t" // load a byte from Src1 | |
95 | "mulb (%%esi) \n\t" // mul with a byte from Src2 | |
96 | - ".L10142: \n\t" "mov %%al, (%%edi) \n\t" // move a byte result to Dest | |
97 | + "mov %%al, (%%edi) \n\t" // move a byte result to Dest | |
98 | "inc %%edx \n\t" // increment Src1, Src2, Dest | |
99 | "inc %%esi \n\t" // pointer registers by one | |
100 | "inc %%edi \n\t" "dec %%ecx \n\t" // decrease loop counter | |
101 | - "jnz .L10141 \n\t" // check loop termination, proceed if required | |
102 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
103 | "popa \n\t":"=m" (Dest) // %0 | |
104 | :"m"(Src2), // %1 | |
105 | "m"(Src1), // %2 | |
106 | @@ -544,7 +544,7 @@ | |
107 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
108 | "pxor %%mm0, %%mm0 \n\t" // zero mm0 register | |
109 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
110 | - ".L1015: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
111 | + "1: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
112 | "movq (%%ebx), %%mm3 \n\t" // load 8 bytes from Src2 into mm3 | |
113 | "movq %%mm1, %%mm2 \n\t" // copy mm1 into mm2 | |
114 | "movq %%mm3, %%mm4 \n\t" // copy mm3 into mm4 | |
115 | @@ -561,7 +561,7 @@ | |
116 | "add $8, %%eax \n\t" // increase Src1, Src2 and Dest | |
117 | "add $8, %%ebx \n\t" // register pointers by 8 | |
118 | "add $8, %%edi \n\t" "dec %%ecx \n\t" // decrease loop counter | |
119 | - "jnz .L1015 \n\t" // check loop termination, proceed if required | |
120 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
121 | "emms \n\t" // exit MMX state | |
122 | "popa \n\t":"=m" (Dest) // %0 | |
123 | :"m"(Src2), // %1 | |
124 | @@ -629,7 +629,7 @@ | |
125 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
126 | "pxor %%mm0, %%mm0 \n\t" // zero mm0 register | |
127 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
128 | - ".L1016: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
129 | + "1: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
130 | "movq (%%ebx), %%mm3 \n\t" // load 8 bytes from Src2 into mm3 | |
131 | "movq %%mm1, %%mm2 \n\t" // copy mm1 into mm2 | |
132 | "movq %%mm3, %%mm4 \n\t" // copy mm3 into mm4 | |
133 | @@ -648,7 +648,7 @@ | |
134 | "add $8, %%eax \n\t" // increase Src1, Src2 and Dest | |
135 | "add $8, %%ebx \n\t" // register pointers by 8 | |
136 | "add $8, %%edi \n\t" "dec %%ecx \n\t" // decrease loop counter | |
137 | - "jnz .L1016 \n\t" // check loop termination, proceed if required | |
138 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
139 | "emms \n\t" // exit MMX state | |
140 | "popa \n\t":"=m" (Dest) // %0 | |
141 | :"m"(Src2), // %1 | |
142 | @@ -715,13 +715,13 @@ | |
143 | "mov %3, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
144 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
145 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
146 | - ".L1017: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
147 | + "1: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
148 | "pand (%%ebx), %%mm1 \n\t" // mm1=Src1&Src2 | |
149 | "movq %%mm1, (%%edi) \n\t" // store result in Dest | |
150 | "add $8, %%eax \n\t" // increase Src1, Src2 and Dest | |
151 | "add $8, %%ebx \n\t" // register pointers by 8 | |
152 | "add $8, %%edi \n\t" "dec %%ecx \n\t" // decrease loop counter | |
153 | - "jnz .L1017 \n\t" // check loop termination, proceed if required | |
154 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
155 | "emms \n\t" // exit MMX state | |
156 | "popa \n\t":"=m" (Dest) // %0 | |
157 | :"m"(Src2), // %1 | |
158 | @@ -787,13 +787,13 @@ | |
159 | "mov %3, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
160 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
161 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
162 | - ".L91017: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
163 | + "1: \n\t" "movq (%%eax), %%mm1 \n\t" // load 8 bytes from Src1 into mm1 | |
164 | "por (%%ebx), %%mm1 \n\t" // mm1=Src1|Src2 | |
165 | "movq %%mm1, (%%edi) \n\t" // store result in Dest | |
166 | "add $8, %%eax \n\t" // increase Src1, Src2 and Dest | |
167 | "add $8, %%ebx \n\t" // register pointers by 8 | |
168 | "add $8, %%edi \n\t" "dec %%ecx \n\t" // decrease loop counter | |
169 | - "jnz .L91017 \n\t" // check loop termination, proceed if required | |
170 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
171 | "emms \n\t" // exit MMX state | |
172 | "popa \n\t":"=m" (Dest) // %0 | |
173 | :"m"(Src2), // %1 | |
174 | @@ -855,17 +855,17 @@ | |
175 | "mov %0, %%edi \n\t" // load Dest address into edi | |
176 | "mov %3, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
177 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
178 | - ".L10191: \n\t" "mov (%%esi), %%bl \n\t" // load a byte from Src2 | |
179 | + "1: \n\t" "mov (%%esi), %%bl \n\t" // load a byte from Src2 | |
180 | "cmp $0, %%bl \n\t" // check if it zero | |
181 | - "jnz .L10192 \n\t" "movb $255, (%%edi) \n\t" // division by zero = 255 !!! | |
182 | - "jmp .L10193 \n\t" ".L10192: \n\t" "xor %%ah, %%ah \n\t" // prepare AX, zero AH register | |
183 | + "jnz 2f \n\t" "movb $255, (%%edi) \n\t" // division by zero = 255 !!! | |
184 | + "jmp 3f \n\t" "2: \n\t" "xor %%ah, %%ah \n\t" // prepare AX, zero AH register | |
185 | "mov (%%edx), %%al \n\t" // load a byte from Src1 into AL | |
186 | "div %%bl \n\t" // divide AL by BL | |
187 | "mov %%al, (%%edi) \n\t" // move a byte result to Dest | |
188 | - ".L10193: \n\t" "inc %%edx \n\t" // increment Src1, Src2, Dest | |
189 | + "3: \n\t" "inc %%edx \n\t" // increment Src1, Src2, Dest | |
190 | "inc %%esi \n\t" // pointer registers by one | |
191 | "inc %%edi \n\t" "dec %%ecx \n\t" // decrease loop counter | |
192 | - "jnz .L10191 \n\t" // check loop termination, proceed if required | |
193 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
194 | "popa \n\t":"=m" (Dest) // %0 | |
195 | :"m"(Src2), // %1 | |
196 | "m"(Src1), // %2 | |
197 | @@ -902,12 +902,12 @@ | |
198 | "mov %2, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
199 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
200 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
201 | - ".L91117: \n\t" "movq (%%eax), %%mm0 \n\t" // load 8 bytes from Src1 into mm1 | |
202 | + "1: \n\t" "movq (%%eax), %%mm0 \n\t" // load 8 bytes from Src1 into mm1 | |
203 | "pxor %%mm1, %%mm0 \n\t" // negate mm0 by xoring with mm1 | |
204 | "movq %%mm0, (%%edi) \n\t" // store result in Dest | |
205 | "add $8, %%eax \n\t" // increase Src1, Src2 and Dest | |
206 | "add $8, %%edi \n\t" "dec %%ecx \n\t" // decrease loop counter | |
207 | - "jnz .L91117 \n\t" // check loop termination, proceed if required | |
208 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
209 | "emms \n\t" // exit MMX state | |
210 | "popa \n\t":"=m" (Dest) // %0 | |
211 | :"m"(Src1), // %1 | |
212 | @@ -975,13 +975,13 @@ | |
213 | "mov %2, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
214 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
215 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
216 | - ".L1021: \n\t" "movq (%%eax), %%mm0 \n\t" // load 8 bytes from Src1 into MM0 | |
217 | + "1: \n\t" "movq (%%eax), %%mm0 \n\t" // load 8 bytes from Src1 into MM0 | |
218 | "paddusb %%mm1, %%mm0 \n\t" // MM0=SrcDest+C (add 8 bytes with saturation) | |
219 | "movq %%mm0, (%%edi) \n\t" // store result in Dest | |
220 | "add $8, %%eax \n\t" // increase Dest register pointer by 8 | |
221 | "add $8, %%edi \n\t" // increase Dest register pointer by 8 | |
222 | "dec %%ecx \n\t" // decrease loop counter | |
223 | - "jnz .L1021 \n\t" // check loop termination, proceed if required | |
224 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
225 | "emms \n\t" // exit MMX state | |
226 | "popa \n\t":"=m" (Dest) // %0 | |
227 | :"m"(Src1), // %1 | |
228 | @@ -1059,7 +1059,7 @@ | |
229 | "mov %2, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
230 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
231 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
232 | - ".L1022: \n\t" "movq (%%eax), %%mm2 \n\t" // load 8 bytes from Src1 into MM2 | |
233 | + "1: \n\t" "movq (%%eax), %%mm2 \n\t" // load 8 bytes from Src1 into MM2 | |
234 | "psrlw $1, %%mm2 \n\t" // shift 4 WORDS of MM2 1 bit to the right | |
235 | // "pand %%mm0, %%mm2 \n\t" // apply Mask to 8 BYTES of MM2 | |
236 | ".byte 0x0f, 0xdb, 0xd0 \n\t" "paddusb %%mm1, %%mm2 \n\t" // MM2=SrcDest+C (add 8 bytes with saturation) | |
237 | @@ -1067,7 +1067,7 @@ | |
238 | "add $8, %%eax \n\t" // increase Src1 register pointer by 8 | |
239 | "add $8, %%edi \n\t" // increase Dest register pointer by 8 | |
240 | "dec %%ecx \n\t" // decrease loop counter | |
241 | - "jnz .L1022 \n\t" // check loop termination, proceed if required | |
242 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
243 | "emms \n\t" // exit MMX state | |
244 | "popa \n\t":"=m" (Dest) // %0 | |
245 | :"m"(Src1), // %1 | |
246 | @@ -1146,13 +1146,13 @@ | |
247 | "mov %2, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
248 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
249 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
250 | - ".L1023: \n\t" "movq (%%eax), %%mm0 \n\t" // load 8 bytes from SrcDest into MM0 | |
251 | + "1: \n\t" "movq (%%eax), %%mm0 \n\t" // load 8 bytes from SrcDest into MM0 | |
252 | "psubusb %%mm1, %%mm0 \n\t" // MM0=SrcDest+C (add 8 bytes with saturation) | |
253 | "movq %%mm0, (%%edi) \n\t" // store result in SrcDest | |
254 | "add $8, %%eax \n\t" // increase Src1 register pointer by 8 | |
255 | "add $8, %%edi \n\t" // increase Dest register pointer by 8 | |
256 | "dec %%ecx \n\t" // decrease loop counter | |
257 | - "jnz .L1023 \n\t" // check loop termination, proceed if required | |
258 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
259 | "emms \n\t" // exit MMX state | |
260 | "popa \n\t":"=m" (Dest) // %0 | |
261 | :"m"(Src1), // %1 | |
262 | @@ -1221,25 +1221,25 @@ | |
263 | "mov %3, %%cl \n\t" // load loop counter (N) into CL | |
264 | "movd %%ecx, %%mm3 \n\t" // copy (N) into MM3 | |
265 | "pcmpeqb %%mm1, %%mm1 \n\t" // generate all 1's in mm1 | |
266 | - ".L10240: \n\t" // ** Prepare proper bit-Mask in MM1 ** | |
267 | + "1: \n\t" // ** Prepare proper bit-Mask in MM1 ** | |
268 | "psrlw $1, %%mm1 \n\t" // shift 4 WORDS of MM1 1 bit to the right | |
269 | // "pand %%mm0, %%mm1 \n\t" // apply Mask to 8 BYTES of MM1 | |
270 | ".byte 0x0f, 0xdb, 0xc8 \n\t" "dec %%cl \n\t" // decrease loop counter | |
271 | - "jnz .L10240 \n\t" // check loop termination, proceed if required | |
272 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
273 | // ** Shift all bytes of the image ** | |
274 | "mov %1, %%eax \n\t" // load Src1 address into eax | |
275 | "mov %0, %%edi \n\t" // load Dest address into edi | |
276 | "mov %2, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
277 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
278 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
279 | - ".L10241: \n\t" "movq (%%eax), %%mm0 \n\t" // load 8 bytes from SrcDest into MM0 | |
280 | + "2: \n\t" "movq (%%eax), %%mm0 \n\t" // load 8 bytes from SrcDest into MM0 | |
281 | "psrlw %%mm3, %%mm0 \n\t" // shift 4 WORDS of MM0 (N) bits to the right | |
282 | // "pand %%mm1, %%mm0 \n\t" // apply proper bit-Mask to 8 BYTES of MM0 | |
283 | ".byte 0x0f, 0xdb, 0xc1 \n\t" "movq %%mm0, (%%edi) \n\t" // store result in SrcDest | |
284 | "add $8, %%eax \n\t" // increase Src1 register pointer by 8 | |
285 | "add $8, %%edi \n\t" // increase Dest register pointer by 8 | |
286 | "dec %%ecx \n\t" // decrease loop counter | |
287 | - "jnz .L10241 \n\t" // check loop termination, proceed if required | |
288 | + "jnz 2b \n\t" // check loop termination, proceed if required | |
289 | "emms \n\t" // exit MMX state | |
290 | "popa \n\t":"=m" (Dest) // %0 | |
291 | :"m"(Src1), // %1 | |
292 | @@ -1318,8 +1318,8 @@ | |
293 | "mov %2, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
294 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
295 | "cmp $128, %%al \n\t" // if (C <= 128) execute more efficient code | |
296 | - "jg .L10251 \n\t" ".align 16 \n\t" // 16 byte allignment of the loop entry | |
297 | - ".L10250: \n\t" "movq (%%eax), %%mm3 \n\t" // load 8 bytes from Src1 into MM3 | |
298 | + "jg 1f \n\t" ".align 16 \n\t" // 16 byte allignment of the loop entry | |
299 | + "2: \n\t" "movq (%%eax), %%mm3 \n\t" // load 8 bytes from Src1 into MM3 | |
300 | "movq %%mm3, %%mm4 \n\t" // copy MM3 into MM4 | |
301 | "punpcklbw %%mm0, %%mm3 \n\t" // unpack low bytes of SrcDest into words | |
302 | "punpckhbw %%mm0, %%mm4 \n\t" // unpack high bytes of SrcDest into words | |
303 | @@ -1330,9 +1330,9 @@ | |
304 | "add $8, %%eax \n\t" // increase Src1 register pointer by 8 | |
305 | "add $8, %%edi \n\t" // increase Dest register pointer by 8 | |
306 | "dec %%ecx \n\t" // decrease loop counter | |
307 | - "jnz .L10250 \n\t" // check loop termination, proceed if required | |
308 | - "jmp .L10252 \n\t" ".align 16 \n\t" // 16 byte allignment of the loop entry | |
309 | - ".L10251: \n\t" "movq (%%eax), %%mm3 \n\t" // load 8 bytes from Src1 into MM3 | |
310 | + "jnz 2b \n\t" // check loop termination, proceed if required | |
311 | + "jmp 3f \n\t" ".align 16 \n\t" // 16 byte allignment of the loop entry | |
312 | + "1: \n\t" "movq (%%eax), %%mm3 \n\t" // load 8 bytes from Src1 into MM3 | |
313 | "movq %%mm3, %%mm4 \n\t" // copy MM3 into MM4 | |
314 | "punpcklbw %%mm0, %%mm3 \n\t" // unpack low bytes of SrcDest into words | |
315 | "punpckhbw %%mm0, %%mm4 \n\t" // unpack high bytes of SrcDest into words | |
316 | @@ -1352,8 +1352,8 @@ | |
317 | "add $8, %%eax \n\t" // increase Src1 register pointer by 8 | |
318 | "add $8, %%edi \n\t" // increase Dest register pointer by 8 | |
319 | "dec %%ecx \n\t" // decrease loop counter | |
320 | - "jnz .L10251 \n\t" // check loop termination, proceed if required | |
321 | - ".L10252: \n\t" "emms \n\t" // exit MMX state | |
322 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
323 | + "3: \n\t" "emms \n\t" // exit MMX state | |
324 | "popa \n\t":"=m" (Dest) // %0 | |
325 | :"m"(Src1), // %1 | |
326 | "m"(length), // %2 | |
327 | @@ -1433,7 +1433,7 @@ | |
328 | "mov %2, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
329 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
330 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
331 | - ".L1026: \n\t" "movq (%%eax), %%mm3 \n\t" // load 8 bytes from Src1 into MM3 | |
332 | + "1: \n\t" "movq (%%eax), %%mm3 \n\t" // load 8 bytes from Src1 into MM3 | |
333 | "movq %%mm3, %%mm4 \n\t" // copy MM3 into MM4 | |
334 | "punpcklbw %%mm0, %%mm3 \n\t" // unpack low bytes of SrcDest into words | |
335 | "punpckhbw %%mm0, %%mm4 \n\t" // unpack high bytes of SrcDest into words | |
336 | @@ -1446,7 +1446,7 @@ | |
337 | "add $8, %%eax \n\t" // increase Src1 register pointer by 8 | |
338 | "add $8, %%edi \n\t" // increase Dest register pointer by 8 | |
339 | "dec %%ecx \n\t" // decrease loop counter | |
340 | - "jnz .L1026 \n\t" // check loop termination, proceed if required | |
341 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
342 | "emms \n\t" // exit MMX state | |
343 | "popa \n\t":"=m" (Dest) // %0 | |
344 | :"m"(Src1), // %1 | |
345 | @@ -1521,25 +1521,25 @@ | |
346 | "mov %3, %%cl \n\t" // load loop counter (N) into CL | |
347 | "movd %%ecx, %%mm3 \n\t" // copy (N) into MM3 | |
348 | "pcmpeqb %%mm1, %%mm1 \n\t" // generate all 1's in mm1 | |
349 | - ".L10270: \n\t" // ** Prepare proper bit-Mask in MM1 ** | |
350 | + "1: \n\t" // ** Prepare proper bit-Mask in MM1 ** | |
351 | "psllw $1, %%mm1 \n\t" // shift 4 WORDS of MM1 1 bit to the left | |
352 | // "pand %%mm0, %%mm1 \n\t" // apply Mask to 8 BYTES of MM1 | |
353 | ".byte 0x0f, 0xdb, 0xc8 \n\t" "dec %%cl \n\t" // decrease loop counter | |
354 | - "jnz .L10270 \n\t" // check loop termination, proceed if required | |
355 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
356 | // ** Shift all bytes of the image ** | |
357 | "mov %1, %%eax \n\t" // load Src1 address into eax | |
358 | "mov %0, %%edi \n\t" // load SrcDest address into edi | |
359 | "mov %2, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
360 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
361 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
362 | - ".L10271: \n\t" "movq (%%eax), %%mm0 \n\t" // load 8 bytes from Src1 into MM0 | |
363 | + "2: \n\t" "movq (%%eax), %%mm0 \n\t" // load 8 bytes from Src1 into MM0 | |
364 | "psllw %%mm3, %%mm0 \n\t" // shift 4 WORDS of MM0 (N) bits to the left | |
365 | // "pand %%mm1, %%mm0 \n\t" // apply proper bit-Mask to 8 BYTES of MM0 | |
366 | ".byte 0x0f, 0xdb, 0xc1 \n\t" "movq %%mm0, (%%edi) \n\t" // store result in Dest | |
367 | "add $8, %%eax \n\t" // increase Src1 register pointer by 8 | |
368 | "add $8, %%edi \n\t" // increase Dest register pointer by 8 | |
369 | "dec %%ecx \n\t" // decrease loop counter | |
370 | - "jnz .L10271 \n\t" // check loop termination, proceed if required | |
371 | + "jnz 2b \n\t" // check loop termination, proceed if required | |
372 | "emms \n\t" // exit MMX state | |
373 | "popa \n\t":"=m" (Dest) // %0 | |
374 | :"m"(Src1), // %1 | |
375 | @@ -1610,8 +1610,8 @@ | |
376 | "mov %2, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
377 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
378 | "cmp $7, %%al \n\t" // if (N <= 7) execute more efficient code | |
379 | - "jg .L10281 \n\t" ".align 16 \n\t" // 16 byte allignment of the loop entry | |
380 | - ".L10280: \n\t" "movq (%%eax), %%mm3 \n\t" // load 8 bytes from Src1 into MM3 | |
381 | + "jg 1f \n\t" ".align 16 \n\t" // 16 byte allignment of the loop entry | |
382 | + "2: \n\t" "movq (%%eax), %%mm3 \n\t" // load 8 bytes from Src1 into MM3 | |
383 | "movq %%mm3, %%mm4 \n\t" // copy MM3 into MM4 | |
384 | "punpcklbw %%mm0, %%mm3 \n\t" // unpack low bytes of SrcDest into words | |
385 | "punpckhbw %%mm0, %%mm4 \n\t" // unpack high bytes of SrcDest into words | |
386 | @@ -1622,9 +1622,9 @@ | |
387 | "add $8, %%eax \n\t" // increase Src1 register pointer by 8 | |
388 | "add $8, %%edi \n\t" // increase Dest register pointer by 8 | |
389 | "dec %%ecx \n\t" // decrease loop counter | |
390 | - "jnz .L10280 \n\t" // check loop termination, proceed if required | |
391 | - "jmp .L10282 \n\t" ".align 16 \n\t" // 16 byte allignment of the loop entry | |
392 | - ".L10281: \n\t" "movq (%%eax), %%mm3 \n\t" // load 8 bytes from Src1 into MM3 | |
393 | + "jnz 2b \n\t" // check loop termination, proceed if required | |
394 | + "jmp 3f \n\t" ".align 16 \n\t" // 16 byte allignment of the loop entry | |
395 | + "1: \n\t" "movq (%%eax), %%mm3 \n\t" // load 8 bytes from Src1 into MM3 | |
396 | "movq %%mm3, %%mm4 \n\t" // copy MM3 into MM4 | |
397 | "punpcklbw %%mm0, %%mm3 \n\t" // unpack low bytes of SrcDest into words | |
398 | "punpckhbw %%mm0, %%mm4 \n\t" // unpack high bytes of SrcDest into words | |
399 | @@ -1644,8 +1644,8 @@ | |
400 | "add $8, %%eax \n\t" // increase Src1 register pointer by 8 | |
401 | "add $8, %%edi \n\t" // increase Dest register pointer by 8 | |
402 | "dec %%ecx \n\t" // decrease loop counter | |
403 | - "jnz .L10281 \n\t" // check loop termination, proceed if required | |
404 | - ".L10282: \n\t" "emms \n\t" // exit MMX state | |
405 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
406 | + "3: \n\t" "emms \n\t" // exit MMX state | |
407 | "popa \n\t":"=m" (Dest) // %0 | |
408 | :"m"(Src1), // %1 | |
409 | "m"(length), // %2 | |
410 | @@ -1724,14 +1724,14 @@ | |
411 | "mov %2, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
412 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
413 | ".align 16 \n\t" // 16 byte alignment of the loop entry | |
414 | - ".L1029: \n\t" "movq (%%eax), %%mm0 \n\t" // load 8 bytes from SrcDest into MM0 | |
415 | + "1: \n\t" "movq (%%eax), %%mm0 \n\t" // load 8 bytes from SrcDest into MM0 | |
416 | "paddusb %%mm2, %%mm0 \n\t" // MM0=SrcDest+(0xFF-T) (add 8 bytes with saturation) | |
417 | "pcmpeqb %%mm1, %%mm0 \n\t" // binarize 255:0, comparing to 255 | |
418 | "movq %%mm0, (%%edi) \n\t" // store result in SrcDest | |
419 | "add $8, %%eax \n\t" // increase Src1 register pointer by 8 | |
420 | "add $8, %%edi \n\t" // increase Dest register pointer by 8 | |
421 | "dec %%ecx \n\t" // decrease loop counter | |
422 | - "jnz .L1029 \n\t" // check loop termination, proceed if required | |
423 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
424 | "emms \n\t" // exit MMX state | |
425 | "popa \n\t":"=m" (Dest) // %0 | |
426 | :"m"(Src1), // %1 | |
427 | @@ -1814,7 +1814,7 @@ | |
428 | "mov %2, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
429 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
430 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
431 | - ".L1030: \n\t" "movq (%%eax), %%mm0 \n\t" // load 8 bytes from Src1 into MM0 | |
432 | + "1: \n\t" "movq (%%eax), %%mm0 \n\t" // load 8 bytes from Src1 into MM0 | |
433 | "paddusb %%mm1, %%mm0 \n\t" // MM0=SrcDest+(0xFF-Tmax) | |
434 | "psubusb %%mm7, %%mm0 \n\t" // MM0=MM0-(0xFF-Tmax+Tmin) | |
435 | "paddusb %%mm5, %%mm0 \n\t" // MM0=MM0+Tmin | |
436 | @@ -1822,7 +1822,7 @@ | |
437 | "add $8, %%eax \n\t" // increase Src1 register pointer by 8 | |
438 | "add $8, %%edi \n\t" // increase Dest register pointer by 8 | |
439 | "dec %%ecx \n\t" // decrease loop counter | |
440 | - "jnz .L1030 \n\t" // check loop termination, proceed if required | |
441 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
442 | "emms \n\t" // exit MMX state | |
443 | "popa \n\t":"=m" (Dest) // %0 | |
444 | :"m"(Src1), // %1 | |
445 | @@ -1890,11 +1890,11 @@ | |
446 | "mov %4, %%bx \n\t" // load Cmax in BX | |
447 | "sub %5, %%ax \n\t" // AX = Nmax - Nmin | |
448 | "sub %3, %%bx \n\t" // BX = Cmax - Cmin | |
449 | - "jz .L10311 \n\t" // check division by zero | |
450 | + "jz 1f \n\t" // check division by zero | |
451 | "xor %%dx, %%dx \n\t" // prepare for division, zero DX | |
452 | "div %%bx \n\t" // AX = AX/BX | |
453 | - "jmp .L10312 \n\t" ".L10311: \n\t" "mov $255, %%ax \n\t" // if div by zero, assume result max. byte value | |
454 | - ".L10312: \n\t" // ** Duplicate AX in 4 words of MM0 ** | |
455 | + "jmp 2f \n\t" "1: \n\t" "mov $255, %%ax \n\t" // if div by zero, assume result max. byte value | |
456 | + "2: \n\t" // ** Duplicate AX in 4 words of MM0 ** | |
457 | "mov %%ax, %%bx \n\t" // copy AX into BX | |
458 | "shl $16, %%eax \n\t" // shift 2 bytes of EAX left | |
459 | "mov %%bx, %%ax \n\t" // copy BX into AX | |
460 | @@ -1923,7 +1923,7 @@ | |
461 | "mov %2, %%ecx \n\t" // load loop counter (SIZE) into ecx | |
462 | "shr $3, %%ecx \n\t" // counter/8 (MMX loads 8 bytes at a time) | |
463 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
464 | - ".L1031: \n\t" "movq (%%eax), %%mm3 \n\t" // load 8 bytes from Src1 into MM3 | |
465 | + "3: \n\t" "movq (%%eax), %%mm3 \n\t" // load 8 bytes from Src1 into MM3 | |
466 | "movq %%mm3, %%mm4 \n\t" // copy MM3 into MM4 | |
467 | "punpcklbw %%mm7, %%mm3 \n\t" // unpack low bytes of SrcDest into words | |
468 | "punpckhbw %%mm7, %%mm4 \n\t" // unpack high bytes of SrcDest into words | |
469 | @@ -1947,7 +1947,7 @@ | |
470 | "add $8, %%eax \n\t" // increase Src1 register pointer by 8 | |
471 | "add $8, %%edi \n\t" // increase Dest register pointer by 8 | |
472 | "dec %%ecx \n\t" // decrease loop counter | |
473 | - "jnz .L1031 \n\t" // check loop termination, proceed if required | |
474 | + "jnz 3b \n\t" // check loop termination, proceed if required | |
475 | "emms \n\t" // exit MMX state | |
476 | "popa \n\t":"=m" (Dest) // %0 | |
477 | :"m"(Src1), // %1 | |
478 | @@ -2041,10 +2041,10 @@ | |
479 | "mov %2, %%edx \n\t" // initialize ROWS counter | |
480 | "sub $2, %%edx \n\t" // do not use first and last row | |
481 | // --- | |
482 | - ".L10320: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMS counter | |
483 | + "1: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMS counter | |
484 | "sub $2, %%ecx \n\t" // do not use first and last column | |
485 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
486 | - ".L10322: \n\t" | |
487 | + "2: \n\t" | |
488 | // --- | |
489 | "movq (%%esi), %%mm1 \n\t" // load 8 bytes of the image first row | |
490 | "add %%eax, %%esi \n\t" // move one row below | |
491 | @@ -2085,11 +2085,11 @@ | |
492 | "inc %%edi \n\t" // move Dest pointer to the next pixel | |
493 | // --- | |
494 | "dec %%ecx \n\t" // decrease loop counter COLUMNS | |
495 | - "jnz .L10322 \n\t" // check loop termination, proceed if required | |
496 | + "jnz 2b \n\t" // check loop termination, proceed if required | |
497 | "add $2, %%esi \n\t" // move to the next row in Src | |
498 | "add $2, %%edi \n\t" // move to the next row in Dest | |
499 | "dec %%edx \n\t" // decrease loop counter ROWS | |
500 | - "jnz .L10320 \n\t" // check loop termination, proceed if required | |
501 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
502 | // --- | |
503 | "emms \n\t" // exit MMX state | |
504 | "popa \n\t":"=m" (Dest) // %0 | |
505 | @@ -2132,10 +2132,10 @@ | |
506 | "mov %2, %%ebx \n\t" // initialize ROWS counter | |
507 | "sub $4, %%ebx \n\t" // do not use first 2 and last 2 rows | |
508 | // --- | |
509 | - ".L10330: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMNS counter | |
510 | + "1: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMNS counter | |
511 | "sub $4, %%ecx \n\t" // do not use first 2 and last 2 columns | |
512 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
513 | - ".L10332: \n\t" "pxor %%mm7, %%mm7 \n\t" // zero MM7 (accumulator) | |
514 | + "2: \n\t" "pxor %%mm7, %%mm7 \n\t" // zero MM7 (accumulator) | |
515 | "movd %%esi, %%mm6 \n\t" // save ESI in MM6 | |
516 | // --- 1 | |
517 | "movq (%%esi), %%mm1 \n\t" // load 8 bytes of the Src | |
518 | @@ -2235,11 +2235,11 @@ | |
519 | "inc %%edi \n\t" // move Dest pointer to the next pixel | |
520 | // --- | |
521 | "dec %%ecx \n\t" // decrease loop counter COLUMNS | |
522 | - "jnz .L10332 \n\t" // check loop termination, proceed if required | |
523 | + "jnz 2b \n\t" // check loop termination, proceed if required | |
524 | "add $4, %%esi \n\t" // move to the next row in Src | |
525 | "add $4, %%edi \n\t" // move to the next row in Dest | |
526 | "dec %%ebx \n\t" // decrease loop counter ROWS | |
527 | - "jnz .L10330 \n\t" // check loop termination, proceed if required | |
528 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
529 | // --- | |
530 | "emms \n\t" // exit MMX state | |
531 | "popa \n\t":"=m" (Dest) // %0 | |
532 | @@ -2280,10 +2280,10 @@ | |
533 | "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "mov %2, %%ebx \n\t" // initialize ROWS counter | |
534 | "sub $6, %%ebx \n\t" // do not use first 3 and last 3 rows | |
535 | // --- | |
536 | - ".L10340: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMNS counter | |
537 | + "1: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMNS counter | |
538 | "sub $6, %%ecx \n\t" // do not use first 3 and last 3 columns | |
539 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
540 | - ".L10342: \n\t" "pxor %%mm7, %%mm7 \n\t" // zero MM7 (accumulator) | |
541 | + "2: \n\t" "pxor %%mm7, %%mm7 \n\t" // zero MM7 (accumulator) | |
542 | "movd %%esi, %%mm6 \n\t" // save ESI in MM6 | |
543 | // --- 1 | |
544 | "movq (%%esi), %%mm1 \n\t" // load 8 bytes of the Src | |
545 | @@ -2411,11 +2411,11 @@ | |
546 | "inc %%edi \n\t" // move Dest pointer to the next pixel | |
547 | // --- | |
548 | "dec %%ecx \n\t" // decrease loop counter COLUMNS | |
549 | - "jnz .L10342 \n\t" // check loop termination, proceed if required | |
550 | + "jnz 2b \n\t" // check loop termination, proceed if required | |
551 | "add $6, %%esi \n\t" // move to the next row in Src | |
552 | "add $6, %%edi \n\t" // move to the next row in Dest | |
553 | "dec %%ebx \n\t" // decrease loop counter ROWS | |
554 | - "jnz .L10340 \n\t" // check loop termination, proceed if required | |
555 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
556 | // --- | |
557 | "emms \n\t" // exit MMX state | |
558 | "popa \n\t":"=m" (Dest) // %0 | |
559 | @@ -2456,10 +2456,10 @@ | |
560 | "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "mov %2, %%ebx \n\t" // initialize ROWS counter | |
561 | "sub $8, %%ebx \n\t" // do not use first 4 and last 4 rows | |
562 | // --- | |
563 | - ".L10350: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMNS counter | |
564 | + "1: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMNS counter | |
565 | "sub $8, %%ecx \n\t" // do not use first 4 and last 4 columns | |
566 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
567 | - ".L10352: \n\t" "pxor %%mm7, %%mm7 \n\t" // zero MM7 (accumulator) | |
568 | + "2: \n\t" "pxor %%mm7, %%mm7 \n\t" // zero MM7 (accumulator) | |
569 | "movd %%esi, %%mm6 \n\t" // save ESI in MM6 | |
570 | // --- 1 | |
571 | "movq (%%esi), %%mm1 \n\t" // load 8 bytes of the Src | |
572 | @@ -2678,11 +2678,11 @@ | |
573 | "inc %%edi \n\t" // move Dest pointer to the next pixel | |
574 | // --- | |
575 | "dec %%ecx \n\t" // decrease loop counter COLUMNS | |
576 | - "jnz .L10352 \n\t" // check loop termination, proceed if required | |
577 | + "jnz 2b \n\t" // check loop termination, proceed if required | |
578 | "add $8, %%esi \n\t" // move to the next row in Src | |
579 | "add $8, %%edi \n\t" // move to the next row in Dest | |
580 | "dec %%ebx \n\t" // decrease loop counter ROWS | |
581 | - "jnz .L10350 \n\t" // check loop termination, proceed if required | |
582 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
583 | // --- | |
584 | "emms \n\t" // exit MMX state | |
585 | "popa \n\t":"=m" (Dest) // %0 | |
586 | @@ -2729,10 +2729,10 @@ | |
587 | "mov %2, %%edx \n\t" // initialize ROWS counter | |
588 | "sub $2, %%edx \n\t" // do not use first and last row | |
589 | // --- | |
590 | - ".L10360: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMS counter | |
591 | + "1: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMS counter | |
592 | "sub $2, %%ecx \n\t" // do not use first and last column | |
593 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
594 | - ".L10362: \n\t" | |
595 | + "2: \n\t" | |
596 | // --- | |
597 | "movq (%%esi), %%mm1 \n\t" // load 8 bytes of the image first row | |
598 | "add %%eax, %%esi \n\t" // move one row below | |
599 | @@ -2765,11 +2765,11 @@ | |
600 | "inc %%edi \n\t" // move Dest pointer to the next pixel | |
601 | // --- | |
602 | "dec %%ecx \n\t" // decrease loop counter COLUMNS | |
603 | - "jnz .L10362 \n\t" // check loop termination, proceed if required | |
604 | + "jnz 2b \n\t" // check loop termination, proceed if required | |
605 | "add $2, %%esi \n\t" // move to the next row in Src | |
606 | "add $2, %%edi \n\t" // move to the next row in Dest | |
607 | "dec %%edx \n\t" // decrease loop counter ROWS | |
608 | - "jnz .L10360 \n\t" // check loop termination, proceed if required | |
609 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
610 | // --- | |
611 | "emms \n\t" // exit MMX state | |
612 | "popa \n\t":"=m" (Dest) // %0 | |
613 | @@ -2812,10 +2812,10 @@ | |
614 | "mov %2, %%ebx \n\t" // initialize ROWS counter | |
615 | "sub $4, %%ebx \n\t" // do not use first 2 and last 2 rows | |
616 | // --- | |
617 | - ".L10370: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMNS counter | |
618 | + "1: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMNS counter | |
619 | "sub $4, %%ecx \n\t" // do not use first 2 and last 2 columns | |
620 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
621 | - ".L10372: \n\t" "pxor %%mm7, %%mm7 \n\t" // zero MM7 (accumulator) | |
622 | + "2: \n\t" "pxor %%mm7, %%mm7 \n\t" // zero MM7 (accumulator) | |
623 | "movd %%esi, %%mm6 \n\t" // save ESI in MM6 | |
624 | // --- 1 | |
625 | "movq (%%esi), %%mm1 \n\t" // load 8 bytes of the Src | |
626 | @@ -2914,11 +2914,11 @@ | |
627 | "inc %%edi \n\t" // move Dest pointer to the next pixel | |
628 | // --- | |
629 | "dec %%ecx \n\t" // decrease loop counter COLUMNS | |
630 | - "jnz .L10372 \n\t" // check loop termination, proceed if required | |
631 | + "jnz 2b \n\t" // check loop termination, proceed if required | |
632 | "add $4, %%esi \n\t" // move to the next row in Src | |
633 | "add $4, %%edi \n\t" // move to the next row in Dest | |
634 | "dec %%ebx \n\t" // decrease loop counter ROWS | |
635 | - "jnz .L10370 \n\t" // check loop termination, proceed if required | |
636 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
637 | // --- | |
638 | "emms \n\t" // exit MMX state | |
639 | "popa \n\t":"=m" (Dest) // %0 | |
640 | @@ -2959,10 +2959,10 @@ | |
641 | "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "mov %2, %%ebx \n\t" // initialize ROWS counter | |
642 | "sub $6, %%ebx \n\t" // do not use first 3 and last 3 rows | |
643 | // --- | |
644 | - ".L10380: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMNS counter | |
645 | + "1: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMNS counter | |
646 | "sub $6, %%ecx \n\t" // do not use first 3 and last 3 columns | |
647 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
648 | - ".L10382: \n\t" "pxor %%mm7, %%mm7 \n\t" // zero MM7 (accumulator) | |
649 | + "2: \n\t" "pxor %%mm7, %%mm7 \n\t" // zero MM7 (accumulator) | |
650 | "movd %%esi, %%mm6 \n\t" // save ESI in MM6 | |
651 | // --- 1 | |
652 | "movq (%%esi), %%mm1 \n\t" // load 8 bytes of the Src | |
653 | @@ -3093,11 +3093,11 @@ | |
654 | "inc %%edi \n\t" // move Dest pointer to the next pixel | |
655 | // --- | |
656 | "dec %%ecx \n\t" // decrease loop counter COLUMNS | |
657 | - "jnz .L10382 \n\t" // check loop termination, proceed if required | |
658 | + "jnz 2b \n\t" // check loop termination, proceed if required | |
659 | "add $6, %%esi \n\t" // move to the next row in Src | |
660 | "add $6, %%edi \n\t" // move to the next row in Dest | |
661 | "dec %%ebx \n\t" // decrease loop counter ROWS | |
662 | - "jnz .L10380 \n\t" // check loop termination, proceed if required | |
663 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
664 | // --- | |
665 | "emms \n\t" // exit MMX state | |
666 | "popa \n\t":"=m" (Dest) // %0 | |
667 | @@ -3138,10 +3138,10 @@ | |
668 | "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "mov %2, %%ebx \n\t" // initialize ROWS counter | |
669 | "sub $8, %%ebx \n\t" // do not use first 4 and last 4 rows | |
670 | // --- | |
671 | - ".L10390: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMNS counter | |
672 | + "1: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMNS counter | |
673 | "sub $8, %%ecx \n\t" // do not use first 4 and last 4 columns | |
674 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
675 | - ".L10392: \n\t" "pxor %%mm7, %%mm7 \n\t" // zero MM7 (accumulator) | |
676 | + "2: \n\t" "pxor %%mm7, %%mm7 \n\t" // zero MM7 (accumulator) | |
677 | "movd %%esi, %%mm6 \n\t" // save ESI in MM6 | |
678 | // --- 1 | |
679 | "movq (%%esi), %%mm1 \n\t" // load 8 bytes of the Src | |
680 | @@ -3376,11 +3376,11 @@ | |
681 | "inc %%edi \n\t" // move Dest pointer to the next pixel | |
682 | // --- | |
683 | "dec %%ecx \n\t" // decrease loop counter COLUMNS | |
684 | - "jnz .L10392 \n\t" // check loop termination, proceed if required | |
685 | + "jnz 2b \n\t" // check loop termination, proceed if required | |
686 | "add $8, %%esi \n\t" // move to the next row in Src | |
687 | "add $8, %%edi \n\t" // move to the next row in Dest | |
688 | "dec %%ebx \n\t" // decrease loop counter ROWS | |
689 | - "jnz .L10390 \n\t" // check loop termination, proceed if required | |
690 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
691 | // --- | |
692 | "emms \n\t" // exit MMX state | |
693 | "popa \n\t":"=m" (Dest) // %0 | |
694 | @@ -3419,12 +3419,12 @@ | |
695 | "mov %2, %%edx \n\t" // initialize ROWS counter | |
696 | "sub $2, %%edx \n\t" // do not use first and last rows | |
697 | // --- | |
698 | - ".L10400: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMS counter | |
699 | + "1: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMS counter | |
700 | "shr $3, %%ecx \n\t" // EBX/8 (MMX loads 8 bytes at a time) | |
701 | "mov %%esi, %%ebx \n\t" // save ESI in EBX | |
702 | "movd %%edi, %%mm1 \n\t" // save EDI in MM1 | |
703 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
704 | - ".L10402: \n\t" | |
705 | + "2: \n\t" | |
706 | // --- | |
707 | "movq (%%esi), %%mm4 \n\t" // load 8 bytes from Src | |
708 | "movq %%mm4, %%mm5 \n\t" // save MM4 in MM5 | |
709 | @@ -3502,13 +3502,13 @@ | |
710 | "add $8, %%edi \n\t" // move Dest pointer to the next 8 pixels | |
711 | // --- | |
712 | "dec %%ecx \n\t" // decrease loop counter COLUMNS | |
713 | - "jnz .L10402 \n\t" // check loop termination, proceed if required | |
714 | + "jnz 2b \n\t" // check loop termination, proceed if required | |
715 | "mov %%ebx, %%esi \n\t" // restore most left current row Src address | |
716 | "movd %%mm1, %%edi \n\t" // restore most left current row Dest address | |
717 | "add %%eax, %%esi \n\t" // move to the next row in Src | |
718 | "add %%eax, %%edi \n\t" // move to the next row in Dest | |
719 | "dec %%edx \n\t" // decrease loop counter ROWS | |
720 | - "jnz .L10400 \n\t" // check loop termination, proceed if required | |
721 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
722 | // --- | |
723 | "emms \n\t" // exit MMX state | |
724 | "popa \n\t":"=m" (Dest) // %0 | |
725 | @@ -3547,12 +3547,12 @@ | |
726 | // initialize ROWS counter | |
727 | "subl $2, %2 \n\t" // do not use first and last rows | |
728 | // --- | |
729 | - ".L10410: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMS counter | |
730 | + "1: \n\t" "mov %%eax, %%ecx \n\t" // initialize COLUMS counter | |
731 | "shr $3, %%ecx \n\t" // EBX/8 (MMX loads 8 bytes at a time) | |
732 | "mov %%esi, %%ebx \n\t" // save ESI in EBX | |
733 | "mov %%edi, %%edx \n\t" // save EDI in EDX | |
734 | ".align 16 \n\t" // 16 byte allignment of the loop entry | |
735 | - ".L10412: \n\t" | |
736 | + "2: \n\t" | |
737 | // --- | |
738 | "movq (%%esi), %%mm4 \n\t" // load 8 bytes from Src | |
739 | "movq %%mm4, %%mm5 \n\t" // save MM4 in MM5 | |
740 | @@ -3642,13 +3642,13 @@ | |
741 | "add $8, %%edi \n\t" // move Dest pointer to the next 8 pixels | |
742 | // --- | |
743 | "dec %%ecx \n\t" // decrease loop counter COLUMNS | |
744 | - "jnz .L10412 \n\t" // check loop termination, proceed if required | |
745 | + "jnz 2b \n\t" // check loop termination, proceed if required | |
746 | "mov %%ebx, %%esi \n\t" // restore most left current row Src address | |
747 | "mov %%edx, %%edi \n\t" // restore most left current row Dest address | |
748 | "add %%eax, %%esi \n\t" // move to the next row in Src | |
749 | "add %%eax, %%edi \n\t" // move to the next row in Dest | |
750 | "decl %2 \n\t" // decrease loop counter ROWS | |
751 | - "jnz .L10410 \n\t" // check loop termination, proceed if required | |
752 | + "jnz 1b \n\t" // check loop termination, proceed if required | |
753 | // --- | |
754 | "emms \n\t" // exit MMX state | |
755 | "popa \n\t":"=m" (Dest) // %0 |