]> git.pld-linux.org Git - packages/SDL_gfx.git/blob - SDL_gfx-local-labels.patch
- updated to 2.0.11
[packages/SDL_gfx.git] / SDL_gfx-local-labels.patch
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
This page took 4.08411 seconds and 3 git commands to generate.