Change the inline assembler labels in SDL_imageFilter.c to be local labels, so there are no assembler errors even when they are included more then once in the assembler output because of function inlining. I have used the following SPL script to substitute the labels. --snip-- #!/usr/bin/env splrun load "file"; var text = file_read("SDL_imageFilter.c"); foreach[] label_match (text =~ /\.L([0-9]+):/ANg) { var label = label_match[1]; text !~ /\.L$label:/E; var text_part1 = $-, text_part2 = $+; text_part1 =~ s/\.L$label(?![0-9])/${label}f/g; text_part2 =~ s/\.L$label(?![0-9])/${label}b/g; text = "${text_part1}${label}:${text_part2}"; } file_write("SDL_imageFilter.c", text); --snap-- http://www.clifford.at/spl/ --- ./SDL_imageFilter.c 2007-11-22 08:01:19.000000000 +0100 +++ ./SDL_imageFilter.c 2007-11-22 08:46:50.000000000 +0100 @@ -81,13 +81,13 @@ "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L1010: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ + "1010: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ "paddusb (%%ebx), %%mm1 \n\t" /* mm1=Src1+Src2 (add 8 bytes with saturation) */ "movq %%mm1, (%%edi) \n\t" /* store result in Dest */ "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */ "add $8, %%ebx \n\t" /* register pointers by 8 */ "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L1010 \n\t" /* check loop termination, proceed if required */ + "jnz 1010b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src2), /* %1 */ @@ -158,7 +158,7 @@ "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L21011: \n\t" + "21011: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ "movq (%%ebx), %%mm2 \n\t" /* load 8 bytes from Src2 into mm2 */ /* --- Byte shift via Word shift --- */ @@ -174,7 +174,7 @@ "add $8, %%ebx \n\t" /* register pointers by 8 */ "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L21011 \n\t" /* check loop termination, proceed if required */ + "jnz 21011b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src2), /* %1 */ @@ -241,13 +241,13 @@ "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L1012: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ + "1012: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ "psubusb (%%ebx), %%mm1 \n\t" /* mm1=Src1-Src2 (sub 8 bytes with saturation) */ "movq %%mm1, (%%edi) \n\t" /* store result in Dest */ "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */ "add $8, %%ebx \n\t" /* register pointers by 8 */ "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L1012 \n\t" /* check loop termination, proceed if required */ + "jnz 1012b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src2), /* %1 */ @@ -313,7 +313,7 @@ "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L1013: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ + "1013: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ "movq (%%ebx), %%mm2 \n\t" /* load 8 bytes from Src2 into mm2 */ "psubusb (%%ebx), %%mm1 \n\t" /* mm1=Src1-Src2 (sub 8 bytes with saturation) */ "psubusb (%%eax), %%mm2 \n\t" /* mm2=Src2-Src1 (sub 8 bytes with saturation) */ @@ -322,7 +322,7 @@ "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */ "add $8, %%ebx \n\t" /* register pointers by 8 */ "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L1013 \n\t" /* check loop termination, proceed if required */ + "jnz 1013b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src2), /* %1 */ @@ -388,7 +388,7 @@ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ "pxor %%mm0, %%mm0 \n\t" /* zero mm0 register */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L1014: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ + "1014: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ "movq (%%ebx), %%mm3 \n\t" /* load 8 bytes from Src2 into mm3 */ "movq %%mm1, %%mm2 \n\t" /* copy mm1 into mm2 */ "movq %%mm3, %%mm4 \n\t" /* copy mm3 into mm4 */ @@ -412,7 +412,7 @@ "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */ "add $8, %%ebx \n\t" /* register pointers by 8 */ "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L1014 \n\t" /* check loop termination, proceed if required */ + "jnz 1014b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src2), /* %1 */ @@ -481,13 +481,13 @@ "mov %0, %%edi \n\t" /* load Dest address into edi */ "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10141: \n\t" "mov (%%edx), %%al \n\t" /* load a byte from Src1 */ + "10141: \n\t" "mov (%%edx), %%al \n\t" /* load a byte from Src1 */ "mulb (%%esi) \n\t" /* mul with a byte from Src2 */ - ".L10142: \n\t" "mov %%al, (%%edi) \n\t" /* move a byte result to Dest */ + "10142: \n\t" "mov %%al, (%%edi) \n\t" /* move a byte result to Dest */ "inc %%edx \n\t" /* increment Src1, Src2, Dest */ "inc %%esi \n\t" /* pointer registers by one */ "inc %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L10141 \n\t" /* check loop termination, proceed if required */ + "jnz 10141b \n\t" /* check loop termination, proceed if required */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src2), /* %1 */ "m"(Src1), /* %2 */ @@ -557,7 +557,7 @@ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ "pxor %%mm0, %%mm0 \n\t" /* zero mm0 register */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L1015: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ + "1015: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ "movq (%%ebx), %%mm3 \n\t" /* load 8 bytes from Src2 into mm3 */ "movq %%mm1, %%mm2 \n\t" /* copy mm1 into mm2 */ "movq %%mm3, %%mm4 \n\t" /* copy mm3 into mm4 */ @@ -574,7 +574,7 @@ "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */ "add $8, %%ebx \n\t" /* register pointers by 8 */ "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L1015 \n\t" /* check loop termination, proceed if required */ + "jnz 1015b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src2), /* %1 */ @@ -642,7 +642,7 @@ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ "pxor %%mm0, %%mm0 \n\t" /* zero mm0 register */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L1016: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ + "1016: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ "movq (%%ebx), %%mm3 \n\t" /* load 8 bytes from Src2 into mm3 */ "movq %%mm1, %%mm2 \n\t" /* copy mm1 into mm2 */ "movq %%mm3, %%mm4 \n\t" /* copy mm3 into mm4 */ @@ -661,7 +661,7 @@ "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */ "add $8, %%ebx \n\t" /* register pointers by 8 */ "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L1016 \n\t" /* check loop termination, proceed if required */ + "jnz 1016b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src2), /* %1 */ @@ -728,13 +728,13 @@ "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L1017: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ + "1017: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ "pand (%%ebx), %%mm1 \n\t" /* mm1=Src1&Src2 */ "movq %%mm1, (%%edi) \n\t" /* store result in Dest */ "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */ "add $8, %%ebx \n\t" /* register pointers by 8 */ "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L1017 \n\t" /* check loop termination, proceed if required */ + "jnz 1017b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src2), /* %1 */ @@ -800,13 +800,13 @@ "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L91017: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ + "91017: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */ "por (%%ebx), %%mm1 \n\t" /* mm1=Src1|Src2 */ "movq %%mm1, (%%edi) \n\t" /* store result in Dest */ "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */ "add $8, %%ebx \n\t" /* register pointers by 8 */ "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L91017 \n\t" /* check loop termination, proceed if required */ + "jnz 91017b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src2), /* %1 */ @@ -868,17 +868,17 @@ "mov %0, %%edi \n\t" /* load Dest address into edi */ "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10191: \n\t" "mov (%%esi), %%bl \n\t" /* load a byte from Src2 */ + "10191: \n\t" "mov (%%esi), %%bl \n\t" /* load a byte from Src2 */ "cmp $0, %%bl \n\t" /* check if it zero */ - "jnz .L10192 \n\t" "movb $255, (%%edi) \n\t" /* division by zero = 255 !!! */ - "jmp .L10193 \n\t" ".L10192: \n\t" "xor %%ah, %%ah \n\t" /* prepare AX, zero AH register */ + "jnz 10192f \n\t" "movb $255, (%%edi) \n\t" /* division by zero = 255 !!! */ + "jmp 10193f \n\t" "10192: \n\t" "xor %%ah, %%ah \n\t" /* prepare AX, zero AH register */ "mov (%%edx), %%al \n\t" /* load a byte from Src1 into AL */ "div %%bl \n\t" /* divide AL by BL */ "mov %%al, (%%edi) \n\t" /* move a byte result to Dest */ - ".L10193: \n\t" "inc %%edx \n\t" /* increment Src1, Src2, Dest */ + "10193: \n\t" "inc %%edx \n\t" /* increment Src1, Src2, Dest */ "inc %%esi \n\t" /* pointer registers by one */ "inc %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L10191 \n\t" /* check loop termination, proceed if required */ + "jnz 10191b \n\t" /* check loop termination, proceed if required */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src2), /* %1 */ "m"(Src1), /* %2 */ @@ -939,12 +939,12 @@ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L91117: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from Src1 into mm1 */ + "91117: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from Src1 into mm1 */ "pxor %%mm1, %%mm0 \n\t" /* negate mm0 by xoring with mm1 */ "movq %%mm0, (%%edi) \n\t" /* store result in Dest */ "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */ "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L91117 \n\t" /* check loop termination, proceed if required */ + "jnz 91117b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ @@ -1012,14 +1012,14 @@ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L1021: \n\t" + "1021: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from Src1 into MM0 */ "paddusb %%mm1, %%mm0 \n\t" /* MM0=SrcDest+C (add 8 bytes with saturation) */ "movq %%mm0, (%%edi) \n\t" /* store result in Dest */ "add $8, %%eax \n\t" /* increase Dest register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L1021 \n\t" /* check loop termination, proceed if required */ + "jnz 1021b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ @@ -1091,14 +1091,14 @@ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L11023: \n\t" + "11023: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */ "paddusb %%mm1, %%mm0 \n\t" /* MM0=SrcDest+C (add 8 bytes with saturation) */ "movq %%mm0, (%%edi) \n\t" /* store result in SrcDest */ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L11023 \n\t" /* check loop termination, proceed if required */ + "jnz 11023b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ @@ -1186,7 +1186,7 @@ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L1022: \n\t" + "1022: \n\t" "movq (%%eax), %%mm2 \n\t" /* load 8 bytes from Src1 into MM2 */ "psrlw $1, %%mm2 \n\t" /* shift 4 WORDS of MM2 1 bit to the right */ /* "pand %%mm0, %%mm2 \n\t" // apply Mask to 8 BYTES of MM2 */ @@ -1196,7 +1196,7 @@ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L1022 \n\t" /* check loop termination, proceed if required */ + "jnz 1022b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ @@ -1275,13 +1275,13 @@ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L1023: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */ + "1023: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */ "psubusb %%mm1, %%mm0 \n\t" /* MM0=SrcDest-C (sub 8 bytes with saturation) */ "movq %%mm0, (%%edi) \n\t" /* store result in SrcDest */ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L1023 \n\t" /* check loop termination, proceed if required */ + "jnz 1023b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ @@ -1354,13 +1354,13 @@ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L11024: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */ + "11024: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */ "psubusb %%mm1, %%mm0 \n\t" /* MM0=SrcDest-C (sub 8 bytes with saturation) */ "movq %%mm0, (%%edi) \n\t" /* store result in SrcDest */ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L11024 \n\t" /* check loop termination, proceed if required */ + "jnz 11024b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ @@ -1437,19 +1437,19 @@ "mov %3, %%cl \n\t" /* load loop counter (N) into CL */ "movd %%ecx, %%mm3 \n\t" /* copy (N) into MM3 */ "pcmpeqb %%mm1, %%mm1 \n\t" /* generate all 1's in mm1 */ - ".L10240: \n\t" /* ** Prepare proper bit-Mask in MM1 ** */ + "10240: \n\t" /* ** Prepare proper bit-Mask in MM1 ** */ "psrlw $1, %%mm1 \n\t" /* shift 4 WORDS of MM1 1 bit to the right */ /* "pand %%mm0, %%mm1 \n\t" // apply Mask to 8 BYTES of MM1 */ ".byte 0x0f, 0xdb, 0xc8 \n\t" "dec %%cl \n\t" /* decrease loop counter */ - "jnz .L10240 \n\t" /* check loop termination, proceed if required */ + "jnz 10240b \n\t" /* check loop termination, proceed if required */ /* ** Shift all bytes of the image ** */ "mov %1, %%eax \n\t" /* load Src1 address into eax */ "mov %0, %%edi \n\t" /* load Dest address into edi */ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10241: \n\t" + "10241: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */ "psrlw %%mm3, %%mm0 \n\t" /* shift 4 WORDS of MM0 (N) bits to the right */ /* "pand %%mm1, %%mm0 \n\t" // apply proper bit-Mask to 8 BYTES of MM0 */ @@ -1458,7 +1458,7 @@ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L10241 \n\t" /* check loop termination, proceed if required */ + "jnz 10241b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ @@ -1527,13 +1527,13 @@ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L13023: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */ + "13023: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */ "psrld %3, %%mm0 \n\t" "movq %%mm0, (%%edi) \n\t" /* store result in SrcDest */ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L13023 \n\t" /* check loop termination, proceed if required */ + "jnz 13023b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ @@ -1613,8 +1613,8 @@ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ "cmp $128, %%al \n\t" /* if (C <= 128) execute more efficient code */ - "jg .L10251 \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10250: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */ + "jg 10251f \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */ + "10250: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */ "movq %%mm3, %%mm4 \n\t" /* copy MM3 into MM4 */ "punpcklbw %%mm0, %%mm3 \n\t" /* unpack low bytes of SrcDest into words */ "punpckhbw %%mm0, %%mm4 \n\t" /* unpack high bytes of SrcDest into words */ @@ -1625,9 +1625,9 @@ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L10250 \n\t" /* check loop termination, proceed if required */ - "jmp .L10252 \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10251: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */ + "jnz 10250b \n\t" /* check loop termination, proceed if required */ + "jmp 10252f \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */ + "10251: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */ "movq %%mm3, %%mm4 \n\t" /* copy MM3 into MM4 */ "punpcklbw %%mm0, %%mm3 \n\t" /* unpack low bytes of SrcDest into words */ "punpckhbw %%mm0, %%mm4 \n\t" /* unpack high bytes of SrcDest into words */ @@ -1647,8 +1647,8 @@ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L10251 \n\t" /* check loop termination, proceed if required */ - ".L10252: \n\t" "emms \n\t" /* exit MMX state */ + "jnz 10251b \n\t" /* check loop termination, proceed if required */ + "10252: \n\t" "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ "m"(length), /* %2 */ @@ -1728,7 +1728,7 @@ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L1026: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */ + "1026: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */ "movq %%mm3, %%mm4 \n\t" /* copy MM3 into MM4 */ "punpcklbw %%mm0, %%mm3 \n\t" /* unpack low bytes of SrcDest into words */ "punpckhbw %%mm0, %%mm4 \n\t" /* unpack high bytes of SrcDest into words */ @@ -1741,7 +1741,7 @@ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L1026 \n\t" /* check loop termination, proceed if required */ + "jnz 1026b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ @@ -1816,25 +1816,25 @@ "mov %3, %%cl \n\t" /* load loop counter (N) into CL */ "movd %%ecx, %%mm3 \n\t" /* copy (N) into MM3 */ "pcmpeqb %%mm1, %%mm1 \n\t" /* generate all 1's in mm1 */ - ".L10270: \n\t" /* ** Prepare proper bit-Mask in MM1 ** */ + "10270: \n\t" /* ** Prepare proper bit-Mask in MM1 ** */ "psllw $1, %%mm1 \n\t" /* shift 4 WORDS of MM1 1 bit to the left */ /* "pand %%mm0, %%mm1 \n\t" // apply Mask to 8 BYTES of MM1 */ ".byte 0x0f, 0xdb, 0xc8 \n\t" "dec %%cl \n\t" /* decrease loop counter */ - "jnz .L10270 \n\t" /* check loop termination, proceed if required */ + "jnz 10270b \n\t" /* check loop termination, proceed if required */ /* ** Shift all bytes of the image ** */ "mov %1, %%eax \n\t" /* load Src1 address into eax */ "mov %0, %%edi \n\t" /* load SrcDest address into edi */ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10271: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from Src1 into MM0 */ + "10271: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from Src1 into MM0 */ "psllw %%mm3, %%mm0 \n\t" /* shift 4 WORDS of MM0 (N) bits to the left */ /* "pand %%mm1, %%mm0 \n\t" // apply proper bit-Mask to 8 BYTES of MM0 */ ".byte 0x0f, 0xdb, 0xc1 \n\t" "movq %%mm0, (%%edi) \n\t" /* store result in Dest */ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L10271 \n\t" /* check loop termination, proceed if required */ + "jnz 10271b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ @@ -1902,13 +1902,13 @@ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L12023: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */ + "12023: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */ "pslld %3, %%mm0 \n\t" /* MM0=SrcDest+C (add 8 bytes with saturation) */ "movq %%mm0, (%%edi) \n\t" /* store result in SrcDest */ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L12023 \n\t" /* check loop termination, proceed if required */ + "jnz 12023b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ @@ -1981,8 +1981,8 @@ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ "cmp $7, %%al \n\t" /* if (N <= 7) execute more efficient code */ - "jg .L10281 \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10280: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */ + "jg 10281f \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */ + "10280: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */ "movq %%mm3, %%mm4 \n\t" /* copy MM3 into MM4 */ "punpcklbw %%mm0, %%mm3 \n\t" /* unpack low bytes of SrcDest into words */ "punpckhbw %%mm0, %%mm4 \n\t" /* unpack high bytes of SrcDest into words */ @@ -1993,9 +1993,9 @@ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L10280 \n\t" /* check loop termination, proceed if required */ - "jmp .L10282 \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10281: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */ + "jnz 10280b \n\t" /* check loop termination, proceed if required */ + "jmp 10282f \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */ + "10281: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */ "movq %%mm3, %%mm4 \n\t" /* copy MM3 into MM4 */ "punpcklbw %%mm0, %%mm3 \n\t" /* unpack low bytes of SrcDest into words */ "punpckhbw %%mm0, %%mm4 \n\t" /* unpack high bytes of SrcDest into words */ @@ -2015,8 +2015,8 @@ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L10281 \n\t" /* check loop termination, proceed if required */ - ".L10282: \n\t" "emms \n\t" /* exit MMX state */ + "jnz 10281b \n\t" /* check loop termination, proceed if required */ + "10282: \n\t" "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ "m"(length), /* %2 */ @@ -2095,7 +2095,7 @@ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte alignment of the loop entry */ - ".L1029: \n\t" + "1029: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */ "paddusb %%mm2, %%mm0 \n\t" /* MM0=SrcDest+(0xFF-T) (add 8 bytes with saturation) */ "pcmpeqb %%mm1, %%mm0 \n\t" /* binarize 255:0, comparing to 255 */ @@ -2103,7 +2103,7 @@ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L1029 \n\t" /* check loop termination, proceed if required */ + "jnz 1029b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ @@ -2186,7 +2186,7 @@ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L1030: \n\t" + "1030: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from Src1 into MM0 */ "paddusb %%mm1, %%mm0 \n\t" /* MM0=SrcDest+(0xFF-Tmax) */ "psubusb %%mm7, %%mm0 \n\t" /* MM0=MM0-(0xFF-Tmax+Tmin) */ @@ -2195,7 +2195,7 @@ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L1030 \n\t" /* check loop termination, proceed if required */ + "jnz 1030b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ @@ -2263,11 +2263,11 @@ "mov %4, %%bx \n\t" /* load Cmax in BX */ "sub %5, %%ax \n\t" /* AX = Nmax - Nmin */ "sub %3, %%bx \n\t" /* BX = Cmax - Cmin */ - "jz .L10311 \n\t" /* check division by zero */ + "jz 10311f \n\t" /* check division by zero */ "xor %%dx, %%dx \n\t" /* prepare for division, zero DX */ "div %%bx \n\t" /* AX = AX/BX */ - "jmp .L10312 \n\t" ".L10311: \n\t" "mov $255, %%ax \n\t" /* if div by zero, assume result max. byte value */ - ".L10312: \n\t" /* ** Duplicate AX in 4 words of MM0 ** */ + "jmp 10312f \n\t" "10311: \n\t" "mov $255, %%ax \n\t" /* if div by zero, assume result max. byte value */ + "10312: \n\t" /* ** Duplicate AX in 4 words of MM0 ** */ "mov %%ax, %%bx \n\t" /* copy AX into BX */ "shl $16, %%eax \n\t" /* shift 2 bytes of EAX left */ "mov %%bx, %%ax \n\t" /* copy BX into AX */ @@ -2296,7 +2296,7 @@ "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */ "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L1031: \n\t" + "1031: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */ "movq %%mm3, %%mm4 \n\t" /* copy MM3 into MM4 */ "punpcklbw %%mm7, %%mm3 \n\t" /* unpack low bytes of SrcDest into words */ @@ -2321,7 +2321,7 @@ "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */ "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */ "dec %%ecx \n\t" /* decrease loop counter */ - "jnz .L1031 \n\t" /* check loop termination, proceed if required */ + "jnz 1031b \n\t" /* check loop termination, proceed if required */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ :"m"(Src1), /* %1 */ @@ -2415,10 +2415,10 @@ "mov %2, %%edx \n\t" /* initialize ROWS counter */ "sub $2, %%edx \n\t" /* do not use first and last row */ /* --- */ - ".L10320: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */ + "10320: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */ "sub $2, %%ecx \n\t" /* do not use first and last column */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10322: \n\t" + "10322: \n\t" /* --- */ "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the image first row */ "add %%eax, %%esi \n\t" /* move one row below */ @@ -2459,11 +2459,11 @@ "inc %%edi \n\t" /* move Dest pointer to the next pixel */ /* --- */ "dec %%ecx \n\t" /* decrease loop counter COLUMNS */ - "jnz .L10322 \n\t" /* check loop termination, proceed if required */ + "jnz 10322b \n\t" /* check loop termination, proceed if required */ "add $2, %%esi \n\t" /* move to the next row in Src */ "add $2, %%edi \n\t" /* move to the next row in Dest */ "dec %%edx \n\t" /* decrease loop counter ROWS */ - "jnz .L10320 \n\t" /* check loop termination, proceed if required */ + "jnz 10320b \n\t" /* check loop termination, proceed if required */ /* --- */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ @@ -2506,10 +2506,10 @@ "mov %2, %%ebx \n\t" /* initialize ROWS counter */ "sub $4, %%ebx \n\t" /* do not use first 2 and last 2 rows */ /* --- */ - ".L10330: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */ + "10330: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */ "sub $4, %%ecx \n\t" /* do not use first 2 and last 2 columns */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10332: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */ + "10332: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */ "movd %%esi, %%mm6 \n\t" /* save ESI in MM6 */ /* --- 1 */ "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the Src */ @@ -2609,11 +2609,11 @@ "inc %%edi \n\t" /* move Dest pointer to the next pixel */ /* --- */ "dec %%ecx \n\t" /* decrease loop counter COLUMNS */ - "jnz .L10332 \n\t" /* check loop termination, proceed if required */ + "jnz 10332b \n\t" /* check loop termination, proceed if required */ "add $4, %%esi \n\t" /* move to the next row in Src */ "add $4, %%edi \n\t" /* move to the next row in Dest */ "dec %%ebx \n\t" /* decrease loop counter ROWS */ - "jnz .L10330 \n\t" /* check loop termination, proceed if required */ + "jnz 10330b \n\t" /* check loop termination, proceed if required */ /* --- */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ @@ -2654,10 +2654,10 @@ "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "mov %2, %%ebx \n\t" /* initialize ROWS counter */ "sub $6, %%ebx \n\t" /* do not use first 3 and last 3 rows */ /* --- */ - ".L10340: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */ + "10340: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */ "sub $6, %%ecx \n\t" /* do not use first 3 and last 3 columns */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10342: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */ + "10342: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */ "movd %%esi, %%mm6 \n\t" /* save ESI in MM6 */ /* --- 1 */ "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the Src */ @@ -2785,11 +2785,11 @@ "inc %%edi \n\t" /* move Dest pointer to the next pixel */ /* --- */ "dec %%ecx \n\t" /* decrease loop counter COLUMNS */ - "jnz .L10342 \n\t" /* check loop termination, proceed if required */ + "jnz 10342b \n\t" /* check loop termination, proceed if required */ "add $6, %%esi \n\t" /* move to the next row in Src */ "add $6, %%edi \n\t" /* move to the next row in Dest */ "dec %%ebx \n\t" /* decrease loop counter ROWS */ - "jnz .L10340 \n\t" /* check loop termination, proceed if required */ + "jnz 10340b \n\t" /* check loop termination, proceed if required */ /* --- */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ @@ -2830,10 +2830,10 @@ "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "mov %2, %%ebx \n\t" /* initialize ROWS counter */ "sub $8, %%ebx \n\t" /* do not use first 4 and last 4 rows */ /* --- */ - ".L10350: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */ + "10350: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */ "sub $8, %%ecx \n\t" /* do not use first 4 and last 4 columns */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10352: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */ + "10352: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */ "movd %%esi, %%mm6 \n\t" /* save ESI in MM6 */ /* --- 1 */ "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the Src */ @@ -3052,11 +3052,11 @@ "inc %%edi \n\t" /* move Dest pointer to the next pixel */ /* --- */ "dec %%ecx \n\t" /* decrease loop counter COLUMNS */ - "jnz .L10352 \n\t" /* check loop termination, proceed if required */ + "jnz 10352b \n\t" /* check loop termination, proceed if required */ "add $8, %%esi \n\t" /* move to the next row in Src */ "add $8, %%edi \n\t" /* move to the next row in Dest */ "dec %%ebx \n\t" /* decrease loop counter ROWS */ - "jnz .L10350 \n\t" /* check loop termination, proceed if required */ + "jnz 10350b \n\t" /* check loop termination, proceed if required */ /* --- */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ @@ -3103,10 +3103,10 @@ "mov %2, %%edx \n\t" /* initialize ROWS counter */ "sub $2, %%edx \n\t" /* do not use first and last row */ /* --- */ - ".L10360: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */ + "10360: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */ "sub $2, %%ecx \n\t" /* do not use first and last column */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10362: \n\t" + "10362: \n\t" /* --- */ "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the image first row */ "add %%eax, %%esi \n\t" /* move one row below */ @@ -3139,11 +3139,11 @@ "inc %%edi \n\t" /* move Dest pointer to the next pixel */ /* --- */ "dec %%ecx \n\t" /* decrease loop counter COLUMNS */ - "jnz .L10362 \n\t" /* check loop termination, proceed if required */ + "jnz 10362b \n\t" /* check loop termination, proceed if required */ "add $2, %%esi \n\t" /* move to the next row in Src */ "add $2, %%edi \n\t" /* move to the next row in Dest */ "dec %%edx \n\t" /* decrease loop counter ROWS */ - "jnz .L10360 \n\t" /* check loop termination, proceed if required */ + "jnz 10360b \n\t" /* check loop termination, proceed if required */ /* --- */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ @@ -3186,10 +3186,10 @@ "mov %2, %%ebx \n\t" /* initialize ROWS counter */ "sub $4, %%ebx \n\t" /* do not use first 2 and last 2 rows */ /* --- */ - ".L10370: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */ + "10370: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */ "sub $4, %%ecx \n\t" /* do not use first 2 and last 2 columns */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10372: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */ + "10372: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */ "movd %%esi, %%mm6 \n\t" /* save ESI in MM6 */ /* --- 1 */ "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the Src */ @@ -3288,11 +3288,11 @@ "inc %%edi \n\t" /* move Dest pointer to the next pixel */ /* --- */ "dec %%ecx \n\t" /* decrease loop counter COLUMNS */ - "jnz .L10372 \n\t" /* check loop termination, proceed if required */ + "jnz 10372b \n\t" /* check loop termination, proceed if required */ "add $4, %%esi \n\t" /* move to the next row in Src */ "add $4, %%edi \n\t" /* move to the next row in Dest */ "dec %%ebx \n\t" /* decrease loop counter ROWS */ - "jnz .L10370 \n\t" /* check loop termination, proceed if required */ + "jnz 10370b \n\t" /* check loop termination, proceed if required */ /* --- */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ @@ -3333,10 +3333,10 @@ "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "mov %2, %%ebx \n\t" /* initialize ROWS counter */ "sub $6, %%ebx \n\t" /* do not use first 3 and last 3 rows */ /* --- */ - ".L10380: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */ + "10380: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */ "sub $6, %%ecx \n\t" /* do not use first 3 and last 3 columns */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10382: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */ + "10382: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */ "movd %%esi, %%mm6 \n\t" /* save ESI in MM6 */ /* --- 1 */ "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the Src */ @@ -3467,11 +3467,11 @@ "inc %%edi \n\t" /* move Dest pointer to the next pixel */ /* --- */ "dec %%ecx \n\t" /* decrease loop counter COLUMNS */ - "jnz .L10382 \n\t" /* check loop termination, proceed if required */ + "jnz 10382b \n\t" /* check loop termination, proceed if required */ "add $6, %%esi \n\t" /* move to the next row in Src */ "add $6, %%edi \n\t" /* move to the next row in Dest */ "dec %%ebx \n\t" /* decrease loop counter ROWS */ - "jnz .L10380 \n\t" /* check loop termination, proceed if required */ + "jnz 10380b \n\t" /* check loop termination, proceed if required */ /* --- */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ @@ -3512,10 +3512,10 @@ "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "mov %2, %%ebx \n\t" /* initialize ROWS counter */ "sub $8, %%ebx \n\t" /* do not use first 4 and last 4 rows */ /* --- */ - ".L10390: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */ + "10390: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */ "sub $8, %%ecx \n\t" /* do not use first 4 and last 4 columns */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10392: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */ + "10392: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */ "movd %%esi, %%mm6 \n\t" /* save ESI in MM6 */ /* --- 1 */ "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the Src */ @@ -3750,11 +3750,11 @@ "inc %%edi \n\t" /* move Dest pointer to the next pixel */ /* --- */ "dec %%ecx \n\t" /* decrease loop counter COLUMNS */ - "jnz .L10392 \n\t" /* check loop termination, proceed if required */ + "jnz 10392b \n\t" /* check loop termination, proceed if required */ "add $8, %%esi \n\t" /* move to the next row in Src */ "add $8, %%edi \n\t" /* move to the next row in Dest */ "dec %%ebx \n\t" /* decrease loop counter ROWS */ - "jnz .L10390 \n\t" /* check loop termination, proceed if required */ + "jnz 10390b \n\t" /* check loop termination, proceed if required */ /* --- */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ @@ -3793,12 +3793,12 @@ "mov %2, %%edx \n\t" /* initialize ROWS counter */ "sub $2, %%edx \n\t" /* do not use first and last rows */ /* --- */ - ".L10400: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */ + "10400: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */ "shr $3, %%ecx \n\t" /* EBX/8 (MMX loads 8 bytes at a time) */ "mov %%esi, %%ebx \n\t" /* save ESI in EBX */ "movd %%edi, %%mm1 \n\t" /* save EDI in MM1 */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10402: \n\t" + "10402: \n\t" /* --- */ "movq (%%esi), %%mm4 \n\t" /* load 8 bytes from Src */ "movq %%mm4, %%mm5 \n\t" /* save MM4 in MM5 */ @@ -3876,13 +3876,13 @@ "add $8, %%edi \n\t" /* move Dest pointer to the next 8 pixels */ /* --- */ "dec %%ecx \n\t" /* decrease loop counter COLUMNS */ - "jnz .L10402 \n\t" /* check loop termination, proceed if required */ + "jnz 10402b \n\t" /* check loop termination, proceed if required */ "mov %%ebx, %%esi \n\t" /* restore most left current row Src address */ "movd %%mm1, %%edi \n\t" /* restore most left current row Dest address */ "add %%eax, %%esi \n\t" /* move to the next row in Src */ "add %%eax, %%edi \n\t" /* move to the next row in Dest */ "dec %%edx \n\t" /* decrease loop counter ROWS */ - "jnz .L10400 \n\t" /* check loop termination, proceed if required */ + "jnz 10400b \n\t" /* check loop termination, proceed if required */ /* --- */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */ @@ -3921,12 +3921,12 @@ /* initialize ROWS counter */ "subl $2, %2 \n\t" /* do not use first and last rows */ /* --- */ - ".L10410: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */ + "10410: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */ "shr $3, %%ecx \n\t" /* EBX/8 (MMX loads 8 bytes at a time) */ "mov %%esi, %%ebx \n\t" /* save ESI in EBX */ "mov %%edi, %%edx \n\t" /* save EDI in EDX */ ".align 16 \n\t" /* 16 byte allignment of the loop entry */ - ".L10412: \n\t" + "10412: \n\t" /* --- */ "movq (%%esi), %%mm4 \n\t" /* load 8 bytes from Src */ "movq %%mm4, %%mm5 \n\t" /* save MM4 in MM5 */ @@ -4016,13 +4016,13 @@ "add $8, %%edi \n\t" /* move Dest pointer to the next 8 pixels */ /* --- */ "dec %%ecx \n\t" /* decrease loop counter COLUMNS */ - "jnz .L10412 \n\t" /* check loop termination, proceed if required */ + "jnz 10412b \n\t" /* check loop termination, proceed if required */ "mov %%ebx, %%esi \n\t" /* restore most left current row Src address */ "mov %%edx, %%edi \n\t" /* restore most left current row Dest address */ "add %%eax, %%esi \n\t" /* move to the next row in Src */ "add %%eax, %%edi \n\t" /* move to the next row in Dest */ "decl %2 \n\t" /* decrease loop counter ROWS */ - "jnz .L10410 \n\t" /* check loop termination, proceed if required */ + "jnz 10410b \n\t" /* check loop termination, proceed if required */ /* --- */ "emms \n\t" /* exit MMX state */ "popa \n\t":"=m" (Dest) /* %0 */