mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

849 lines
54 KiB

  1. Change the inline assembler labels in SDL_imageFilter.c to be local labels, so
  2. there are no assembler errors even when they are included more then once in the
  3. assembler output because of function inlining.
  4. I have used the following SPL script to substitute the labels.
  5. --snip--
  6. #!/usr/bin/env splrun
  7. load "file";
  8. var text = file_read("SDL_imageFilter.c");
  9. foreach[] label_match (text =~ /\.L([0-9]+):/ANg)
  10. {
  11. var label = label_match[1];
  12. text !~ /\.L$label:/E;
  13. var text_part1 = $-, text_part2 = $+;
  14. text_part1 =~ s/\.L$label(?![0-9])/${label}f/g;
  15. text_part2 =~ s/\.L$label(?![0-9])/${label}b/g;
  16. text = "${text_part1}${label}:${text_part2}";
  17. }
  18. file_write("SDL_imageFilter.c", text);
  19. --snap--
  20. http://www.clifford.at/spl/
  21. --- ./SDL_imageFilter.c 2007-11-22 08:01:19.000000000 +0100
  22. +++ ./SDL_imageFilter.c 2007-11-22 08:46:50.000000000 +0100
  23. @@ -81,13 +81,13 @@
  24. "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  25. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  26. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  27. - ".L1010: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  28. + "1010: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  29. "paddusb (%%ebx), %%mm1 \n\t" /* mm1=Src1+Src2 (add 8 bytes with saturation) */
  30. "movq %%mm1, (%%edi) \n\t" /* store result in Dest */
  31. "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */
  32. "add $8, %%ebx \n\t" /* register pointers by 8 */
  33. "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */
  34. - "jnz .L1010 \n\t" /* check loop termination, proceed if required */
  35. + "jnz 1010b \n\t" /* check loop termination, proceed if required */
  36. "emms \n\t" /* exit MMX state */
  37. "popa \n\t":"=m" (Dest) /* %0 */
  38. :"m"(Src2), /* %1 */
  39. @@ -158,7 +158,7 @@
  40. "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  41. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  42. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  43. - ".L21011: \n\t"
  44. + "21011: \n\t"
  45. "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  46. "movq (%%ebx), %%mm2 \n\t" /* load 8 bytes from Src2 into mm2 */
  47. /* --- Byte shift via Word shift --- */
  48. @@ -174,7 +174,7 @@
  49. "add $8, %%ebx \n\t" /* register pointers by 8 */
  50. "add $8, %%edi \n\t"
  51. "dec %%ecx \n\t" /* decrease loop counter */
  52. - "jnz .L21011 \n\t" /* check loop termination, proceed if required */
  53. + "jnz 21011b \n\t" /* check loop termination, proceed if required */
  54. "emms \n\t" /* exit MMX state */
  55. "popa \n\t":"=m" (Dest) /* %0 */
  56. :"m"(Src2), /* %1 */
  57. @@ -241,13 +241,13 @@
  58. "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  59. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  60. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  61. - ".L1012: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  62. + "1012: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  63. "psubusb (%%ebx), %%mm1 \n\t" /* mm1=Src1-Src2 (sub 8 bytes with saturation) */
  64. "movq %%mm1, (%%edi) \n\t" /* store result in Dest */
  65. "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */
  66. "add $8, %%ebx \n\t" /* register pointers by 8 */
  67. "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */
  68. - "jnz .L1012 \n\t" /* check loop termination, proceed if required */
  69. + "jnz 1012b \n\t" /* check loop termination, proceed if required */
  70. "emms \n\t" /* exit MMX state */
  71. "popa \n\t":"=m" (Dest) /* %0 */
  72. :"m"(Src2), /* %1 */
  73. @@ -313,7 +313,7 @@
  74. "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  75. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  76. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  77. - ".L1013: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  78. + "1013: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  79. "movq (%%ebx), %%mm2 \n\t" /* load 8 bytes from Src2 into mm2 */
  80. "psubusb (%%ebx), %%mm1 \n\t" /* mm1=Src1-Src2 (sub 8 bytes with saturation) */
  81. "psubusb (%%eax), %%mm2 \n\t" /* mm2=Src2-Src1 (sub 8 bytes with saturation) */
  82. @@ -322,7 +322,7 @@
  83. "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */
  84. "add $8, %%ebx \n\t" /* register pointers by 8 */
  85. "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */
  86. - "jnz .L1013 \n\t" /* check loop termination, proceed if required */
  87. + "jnz 1013b \n\t" /* check loop termination, proceed if required */
  88. "emms \n\t" /* exit MMX state */
  89. "popa \n\t":"=m" (Dest) /* %0 */
  90. :"m"(Src2), /* %1 */
  91. @@ -388,7 +388,7 @@
  92. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  93. "pxor %%mm0, %%mm0 \n\t" /* zero mm0 register */
  94. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  95. - ".L1014: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  96. + "1014: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  97. "movq (%%ebx), %%mm3 \n\t" /* load 8 bytes from Src2 into mm3 */
  98. "movq %%mm1, %%mm2 \n\t" /* copy mm1 into mm2 */
  99. "movq %%mm3, %%mm4 \n\t" /* copy mm3 into mm4 */
  100. @@ -412,7 +412,7 @@
  101. "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */
  102. "add $8, %%ebx \n\t" /* register pointers by 8 */
  103. "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */
  104. - "jnz .L1014 \n\t" /* check loop termination, proceed if required */
  105. + "jnz 1014b \n\t" /* check loop termination, proceed if required */
  106. "emms \n\t" /* exit MMX state */
  107. "popa \n\t":"=m" (Dest) /* %0 */
  108. :"m"(Src2), /* %1 */
  109. @@ -481,13 +481,13 @@
  110. "mov %0, %%edi \n\t" /* load Dest address into edi */
  111. "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  112. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  113. - ".L10141: \n\t" "mov (%%edx), %%al \n\t" /* load a byte from Src1 */
  114. + "10141: \n\t" "mov (%%edx), %%al \n\t" /* load a byte from Src1 */
  115. "mulb (%%esi) \n\t" /* mul with a byte from Src2 */
  116. - ".L10142: \n\t" "mov %%al, (%%edi) \n\t" /* move a byte result to Dest */
  117. + "10142: \n\t" "mov %%al, (%%edi) \n\t" /* move a byte result to Dest */
  118. "inc %%edx \n\t" /* increment Src1, Src2, Dest */
  119. "inc %%esi \n\t" /* pointer registers by one */
  120. "inc %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */
  121. - "jnz .L10141 \n\t" /* check loop termination, proceed if required */
  122. + "jnz 10141b \n\t" /* check loop termination, proceed if required */
  123. "popa \n\t":"=m" (Dest) /* %0 */
  124. :"m"(Src2), /* %1 */
  125. "m"(Src1), /* %2 */
  126. @@ -557,7 +557,7 @@
  127. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  128. "pxor %%mm0, %%mm0 \n\t" /* zero mm0 register */
  129. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  130. - ".L1015: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  131. + "1015: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  132. "movq (%%ebx), %%mm3 \n\t" /* load 8 bytes from Src2 into mm3 */
  133. "movq %%mm1, %%mm2 \n\t" /* copy mm1 into mm2 */
  134. "movq %%mm3, %%mm4 \n\t" /* copy mm3 into mm4 */
  135. @@ -574,7 +574,7 @@
  136. "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */
  137. "add $8, %%ebx \n\t" /* register pointers by 8 */
  138. "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */
  139. - "jnz .L1015 \n\t" /* check loop termination, proceed if required */
  140. + "jnz 1015b \n\t" /* check loop termination, proceed if required */
  141. "emms \n\t" /* exit MMX state */
  142. "popa \n\t":"=m" (Dest) /* %0 */
  143. :"m"(Src2), /* %1 */
  144. @@ -642,7 +642,7 @@
  145. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  146. "pxor %%mm0, %%mm0 \n\t" /* zero mm0 register */
  147. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  148. - ".L1016: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  149. + "1016: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  150. "movq (%%ebx), %%mm3 \n\t" /* load 8 bytes from Src2 into mm3 */
  151. "movq %%mm1, %%mm2 \n\t" /* copy mm1 into mm2 */
  152. "movq %%mm3, %%mm4 \n\t" /* copy mm3 into mm4 */
  153. @@ -661,7 +661,7 @@
  154. "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */
  155. "add $8, %%ebx \n\t" /* register pointers by 8 */
  156. "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */
  157. - "jnz .L1016 \n\t" /* check loop termination, proceed if required */
  158. + "jnz 1016b \n\t" /* check loop termination, proceed if required */
  159. "emms \n\t" /* exit MMX state */
  160. "popa \n\t":"=m" (Dest) /* %0 */
  161. :"m"(Src2), /* %1 */
  162. @@ -728,13 +728,13 @@
  163. "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  164. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  165. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  166. - ".L1017: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  167. + "1017: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  168. "pand (%%ebx), %%mm1 \n\t" /* mm1=Src1&Src2 */
  169. "movq %%mm1, (%%edi) \n\t" /* store result in Dest */
  170. "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */
  171. "add $8, %%ebx \n\t" /* register pointers by 8 */
  172. "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */
  173. - "jnz .L1017 \n\t" /* check loop termination, proceed if required */
  174. + "jnz 1017b \n\t" /* check loop termination, proceed if required */
  175. "emms \n\t" /* exit MMX state */
  176. "popa \n\t":"=m" (Dest) /* %0 */
  177. :"m"(Src2), /* %1 */
  178. @@ -800,13 +800,13 @@
  179. "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  180. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  181. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  182. - ".L91017: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  183. + "91017: \n\t" "movq (%%eax), %%mm1 \n\t" /* load 8 bytes from Src1 into mm1 */
  184. "por (%%ebx), %%mm1 \n\t" /* mm1=Src1|Src2 */
  185. "movq %%mm1, (%%edi) \n\t" /* store result in Dest */
  186. "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */
  187. "add $8, %%ebx \n\t" /* register pointers by 8 */
  188. "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */
  189. - "jnz .L91017 \n\t" /* check loop termination, proceed if required */
  190. + "jnz 91017b \n\t" /* check loop termination, proceed if required */
  191. "emms \n\t" /* exit MMX state */
  192. "popa \n\t":"=m" (Dest) /* %0 */
  193. :"m"(Src2), /* %1 */
  194. @@ -868,17 +868,17 @@
  195. "mov %0, %%edi \n\t" /* load Dest address into edi */
  196. "mov %3, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  197. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  198. - ".L10191: \n\t" "mov (%%esi), %%bl \n\t" /* load a byte from Src2 */
  199. + "10191: \n\t" "mov (%%esi), %%bl \n\t" /* load a byte from Src2 */
  200. "cmp $0, %%bl \n\t" /* check if it zero */
  201. - "jnz .L10192 \n\t" "movb $255, (%%edi) \n\t" /* division by zero = 255 !!! */
  202. - "jmp .L10193 \n\t" ".L10192: \n\t" "xor %%ah, %%ah \n\t" /* prepare AX, zero AH register */
  203. + "jnz 10192f \n\t" "movb $255, (%%edi) \n\t" /* division by zero = 255 !!! */
  204. + "jmp 10193f \n\t" "10192: \n\t" "xor %%ah, %%ah \n\t" /* prepare AX, zero AH register */
  205. "mov (%%edx), %%al \n\t" /* load a byte from Src1 into AL */
  206. "div %%bl \n\t" /* divide AL by BL */
  207. "mov %%al, (%%edi) \n\t" /* move a byte result to Dest */
  208. - ".L10193: \n\t" "inc %%edx \n\t" /* increment Src1, Src2, Dest */
  209. + "10193: \n\t" "inc %%edx \n\t" /* increment Src1, Src2, Dest */
  210. "inc %%esi \n\t" /* pointer registers by one */
  211. "inc %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */
  212. - "jnz .L10191 \n\t" /* check loop termination, proceed if required */
  213. + "jnz 10191b \n\t" /* check loop termination, proceed if required */
  214. "popa \n\t":"=m" (Dest) /* %0 */
  215. :"m"(Src2), /* %1 */
  216. "m"(Src1), /* %2 */
  217. @@ -939,12 +939,12 @@
  218. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  219. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  220. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  221. - ".L91117: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from Src1 into mm1 */
  222. + "91117: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from Src1 into mm1 */
  223. "pxor %%mm1, %%mm0 \n\t" /* negate mm0 by xoring with mm1 */
  224. "movq %%mm0, (%%edi) \n\t" /* store result in Dest */
  225. "add $8, %%eax \n\t" /* increase Src1, Src2 and Dest */
  226. "add $8, %%edi \n\t" "dec %%ecx \n\t" /* decrease loop counter */
  227. - "jnz .L91117 \n\t" /* check loop termination, proceed if required */
  228. + "jnz 91117b \n\t" /* check loop termination, proceed if required */
  229. "emms \n\t" /* exit MMX state */
  230. "popa \n\t":"=m" (Dest) /* %0 */
  231. :"m"(Src1), /* %1 */
  232. @@ -1012,14 +1012,14 @@
  233. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  234. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  235. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  236. - ".L1021: \n\t"
  237. + "1021: \n\t"
  238. "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from Src1 into MM0 */
  239. "paddusb %%mm1, %%mm0 \n\t" /* MM0=SrcDest+C (add 8 bytes with saturation) */
  240. "movq %%mm0, (%%edi) \n\t" /* store result in Dest */
  241. "add $8, %%eax \n\t" /* increase Dest register pointer by 8 */
  242. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  243. "dec %%ecx \n\t" /* decrease loop counter */
  244. - "jnz .L1021 \n\t" /* check loop termination, proceed if required */
  245. + "jnz 1021b \n\t" /* check loop termination, proceed if required */
  246. "emms \n\t" /* exit MMX state */
  247. "popa \n\t":"=m" (Dest) /* %0 */
  248. :"m"(Src1), /* %1 */
  249. @@ -1091,14 +1091,14 @@
  250. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  251. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  252. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  253. - ".L11023: \n\t"
  254. + "11023: \n\t"
  255. "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */
  256. "paddusb %%mm1, %%mm0 \n\t" /* MM0=SrcDest+C (add 8 bytes with saturation) */
  257. "movq %%mm0, (%%edi) \n\t" /* store result in SrcDest */
  258. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  259. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  260. "dec %%ecx \n\t" /* decrease loop counter */
  261. - "jnz .L11023 \n\t" /* check loop termination, proceed if required */
  262. + "jnz 11023b \n\t" /* check loop termination, proceed if required */
  263. "emms \n\t" /* exit MMX state */
  264. "popa \n\t":"=m" (Dest) /* %0 */
  265. :"m"(Src1), /* %1 */
  266. @@ -1186,7 +1186,7 @@
  267. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  268. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  269. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  270. - ".L1022: \n\t"
  271. + "1022: \n\t"
  272. "movq (%%eax), %%mm2 \n\t" /* load 8 bytes from Src1 into MM2 */
  273. "psrlw $1, %%mm2 \n\t" /* shift 4 WORDS of MM2 1 bit to the right */
  274. /* "pand %%mm0, %%mm2 \n\t" // apply Mask to 8 BYTES of MM2 */
  275. @@ -1196,7 +1196,7 @@
  276. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  277. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  278. "dec %%ecx \n\t" /* decrease loop counter */
  279. - "jnz .L1022 \n\t" /* check loop termination, proceed if required */
  280. + "jnz 1022b \n\t" /* check loop termination, proceed if required */
  281. "emms \n\t" /* exit MMX state */
  282. "popa \n\t":"=m" (Dest) /* %0 */
  283. :"m"(Src1), /* %1 */
  284. @@ -1275,13 +1275,13 @@
  285. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  286. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  287. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  288. - ".L1023: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */
  289. + "1023: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */
  290. "psubusb %%mm1, %%mm0 \n\t" /* MM0=SrcDest-C (sub 8 bytes with saturation) */
  291. "movq %%mm0, (%%edi) \n\t" /* store result in SrcDest */
  292. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  293. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  294. "dec %%ecx \n\t" /* decrease loop counter */
  295. - "jnz .L1023 \n\t" /* check loop termination, proceed if required */
  296. + "jnz 1023b \n\t" /* check loop termination, proceed if required */
  297. "emms \n\t" /* exit MMX state */
  298. "popa \n\t":"=m" (Dest) /* %0 */
  299. :"m"(Src1), /* %1 */
  300. @@ -1354,13 +1354,13 @@
  301. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  302. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  303. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  304. - ".L11024: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */
  305. + "11024: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */
  306. "psubusb %%mm1, %%mm0 \n\t" /* MM0=SrcDest-C (sub 8 bytes with saturation) */
  307. "movq %%mm0, (%%edi) \n\t" /* store result in SrcDest */
  308. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  309. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  310. "dec %%ecx \n\t" /* decrease loop counter */
  311. - "jnz .L11024 \n\t" /* check loop termination, proceed if required */
  312. + "jnz 11024b \n\t" /* check loop termination, proceed if required */
  313. "emms \n\t" /* exit MMX state */
  314. "popa \n\t":"=m" (Dest) /* %0 */
  315. :"m"(Src1), /* %1 */
  316. @@ -1437,19 +1437,19 @@
  317. "mov %3, %%cl \n\t" /* load loop counter (N) into CL */
  318. "movd %%ecx, %%mm3 \n\t" /* copy (N) into MM3 */
  319. "pcmpeqb %%mm1, %%mm1 \n\t" /* generate all 1's in mm1 */
  320. - ".L10240: \n\t" /* ** Prepare proper bit-Mask in MM1 ** */
  321. + "10240: \n\t" /* ** Prepare proper bit-Mask in MM1 ** */
  322. "psrlw $1, %%mm1 \n\t" /* shift 4 WORDS of MM1 1 bit to the right */
  323. /* "pand %%mm0, %%mm1 \n\t" // apply Mask to 8 BYTES of MM1 */
  324. ".byte 0x0f, 0xdb, 0xc8 \n\t"
  325. "dec %%cl \n\t" /* decrease loop counter */
  326. - "jnz .L10240 \n\t" /* check loop termination, proceed if required */
  327. + "jnz 10240b \n\t" /* check loop termination, proceed if required */
  328. /* ** Shift all bytes of the image ** */
  329. "mov %1, %%eax \n\t" /* load Src1 address into eax */
  330. "mov %0, %%edi \n\t" /* load Dest address into edi */
  331. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  332. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  333. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  334. - ".L10241: \n\t"
  335. + "10241: \n\t"
  336. "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */
  337. "psrlw %%mm3, %%mm0 \n\t" /* shift 4 WORDS of MM0 (N) bits to the right */
  338. /* "pand %%mm1, %%mm0 \n\t" // apply proper bit-Mask to 8 BYTES of MM0 */
  339. @@ -1458,7 +1458,7 @@
  340. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  341. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  342. "dec %%ecx \n\t" /* decrease loop counter */
  343. - "jnz .L10241 \n\t" /* check loop termination, proceed if required */
  344. + "jnz 10241b \n\t" /* check loop termination, proceed if required */
  345. "emms \n\t" /* exit MMX state */
  346. "popa \n\t":"=m" (Dest) /* %0 */
  347. :"m"(Src1), /* %1 */
  348. @@ -1527,13 +1527,13 @@
  349. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  350. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  351. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  352. - ".L13023: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */
  353. + "13023: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */
  354. "psrld %3, %%mm0 \n\t"
  355. "movq %%mm0, (%%edi) \n\t" /* store result in SrcDest */
  356. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  357. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  358. "dec %%ecx \n\t" /* decrease loop counter */
  359. - "jnz .L13023 \n\t" /* check loop termination, proceed if required */
  360. + "jnz 13023b \n\t" /* check loop termination, proceed if required */
  361. "emms \n\t" /* exit MMX state */
  362. "popa \n\t":"=m" (Dest) /* %0 */
  363. :"m"(Src1), /* %1 */
  364. @@ -1613,8 +1613,8 @@
  365. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  366. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  367. "cmp $128, %%al \n\t" /* if (C <= 128) execute more efficient code */
  368. - "jg .L10251 \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  369. - ".L10250: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */
  370. + "jg 10251f \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  371. + "10250: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */
  372. "movq %%mm3, %%mm4 \n\t" /* copy MM3 into MM4 */
  373. "punpcklbw %%mm0, %%mm3 \n\t" /* unpack low bytes of SrcDest into words */
  374. "punpckhbw %%mm0, %%mm4 \n\t" /* unpack high bytes of SrcDest into words */
  375. @@ -1625,9 +1625,9 @@
  376. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  377. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  378. "dec %%ecx \n\t" /* decrease loop counter */
  379. - "jnz .L10250 \n\t" /* check loop termination, proceed if required */
  380. - "jmp .L10252 \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  381. - ".L10251: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */
  382. + "jnz 10250b \n\t" /* check loop termination, proceed if required */
  383. + "jmp 10252f \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  384. + "10251: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */
  385. "movq %%mm3, %%mm4 \n\t" /* copy MM3 into MM4 */
  386. "punpcklbw %%mm0, %%mm3 \n\t" /* unpack low bytes of SrcDest into words */
  387. "punpckhbw %%mm0, %%mm4 \n\t" /* unpack high bytes of SrcDest into words */
  388. @@ -1647,8 +1647,8 @@
  389. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  390. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  391. "dec %%ecx \n\t" /* decrease loop counter */
  392. - "jnz .L10251 \n\t" /* check loop termination, proceed if required */
  393. - ".L10252: \n\t" "emms \n\t" /* exit MMX state */
  394. + "jnz 10251b \n\t" /* check loop termination, proceed if required */
  395. + "10252: \n\t" "emms \n\t" /* exit MMX state */
  396. "popa \n\t":"=m" (Dest) /* %0 */
  397. :"m"(Src1), /* %1 */
  398. "m"(length), /* %2 */
  399. @@ -1728,7 +1728,7 @@
  400. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  401. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  402. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  403. - ".L1026: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */
  404. + "1026: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */
  405. "movq %%mm3, %%mm4 \n\t" /* copy MM3 into MM4 */
  406. "punpcklbw %%mm0, %%mm3 \n\t" /* unpack low bytes of SrcDest into words */
  407. "punpckhbw %%mm0, %%mm4 \n\t" /* unpack high bytes of SrcDest into words */
  408. @@ -1741,7 +1741,7 @@
  409. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  410. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  411. "dec %%ecx \n\t" /* decrease loop counter */
  412. - "jnz .L1026 \n\t" /* check loop termination, proceed if required */
  413. + "jnz 1026b \n\t" /* check loop termination, proceed if required */
  414. "emms \n\t" /* exit MMX state */
  415. "popa \n\t":"=m" (Dest) /* %0 */
  416. :"m"(Src1), /* %1 */
  417. @@ -1816,25 +1816,25 @@
  418. "mov %3, %%cl \n\t" /* load loop counter (N) into CL */
  419. "movd %%ecx, %%mm3 \n\t" /* copy (N) into MM3 */
  420. "pcmpeqb %%mm1, %%mm1 \n\t" /* generate all 1's in mm1 */
  421. - ".L10270: \n\t" /* ** Prepare proper bit-Mask in MM1 ** */
  422. + "10270: \n\t" /* ** Prepare proper bit-Mask in MM1 ** */
  423. "psllw $1, %%mm1 \n\t" /* shift 4 WORDS of MM1 1 bit to the left */
  424. /* "pand %%mm0, %%mm1 \n\t" // apply Mask to 8 BYTES of MM1 */
  425. ".byte 0x0f, 0xdb, 0xc8 \n\t" "dec %%cl \n\t" /* decrease loop counter */
  426. - "jnz .L10270 \n\t" /* check loop termination, proceed if required */
  427. + "jnz 10270b \n\t" /* check loop termination, proceed if required */
  428. /* ** Shift all bytes of the image ** */
  429. "mov %1, %%eax \n\t" /* load Src1 address into eax */
  430. "mov %0, %%edi \n\t" /* load SrcDest address into edi */
  431. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  432. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  433. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  434. - ".L10271: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from Src1 into MM0 */
  435. + "10271: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from Src1 into MM0 */
  436. "psllw %%mm3, %%mm0 \n\t" /* shift 4 WORDS of MM0 (N) bits to the left */
  437. /* "pand %%mm1, %%mm0 \n\t" // apply proper bit-Mask to 8 BYTES of MM0 */
  438. ".byte 0x0f, 0xdb, 0xc1 \n\t" "movq %%mm0, (%%edi) \n\t" /* store result in Dest */
  439. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  440. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  441. "dec %%ecx \n\t" /* decrease loop counter */
  442. - "jnz .L10271 \n\t" /* check loop termination, proceed if required */
  443. + "jnz 10271b \n\t" /* check loop termination, proceed if required */
  444. "emms \n\t" /* exit MMX state */
  445. "popa \n\t":"=m" (Dest) /* %0 */
  446. :"m"(Src1), /* %1 */
  447. @@ -1902,13 +1902,13 @@
  448. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  449. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  450. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  451. - ".L12023: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */
  452. + "12023: \n\t" "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */
  453. "pslld %3, %%mm0 \n\t" /* MM0=SrcDest+C (add 8 bytes with saturation) */
  454. "movq %%mm0, (%%edi) \n\t" /* store result in SrcDest */
  455. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  456. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  457. "dec %%ecx \n\t" /* decrease loop counter */
  458. - "jnz .L12023 \n\t" /* check loop termination, proceed if required */
  459. + "jnz 12023b \n\t" /* check loop termination, proceed if required */
  460. "emms \n\t" /* exit MMX state */
  461. "popa \n\t":"=m" (Dest) /* %0 */
  462. :"m"(Src1), /* %1 */
  463. @@ -1981,8 +1981,8 @@
  464. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  465. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  466. "cmp $7, %%al \n\t" /* if (N <= 7) execute more efficient code */
  467. - "jg .L10281 \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  468. - ".L10280: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */
  469. + "jg 10281f \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  470. + "10280: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */
  471. "movq %%mm3, %%mm4 \n\t" /* copy MM3 into MM4 */
  472. "punpcklbw %%mm0, %%mm3 \n\t" /* unpack low bytes of SrcDest into words */
  473. "punpckhbw %%mm0, %%mm4 \n\t" /* unpack high bytes of SrcDest into words */
  474. @@ -1993,9 +1993,9 @@
  475. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  476. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  477. "dec %%ecx \n\t" /* decrease loop counter */
  478. - "jnz .L10280 \n\t" /* check loop termination, proceed if required */
  479. - "jmp .L10282 \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  480. - ".L10281: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */
  481. + "jnz 10280b \n\t" /* check loop termination, proceed if required */
  482. + "jmp 10282f \n\t" ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  483. + "10281: \n\t" "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */
  484. "movq %%mm3, %%mm4 \n\t" /* copy MM3 into MM4 */
  485. "punpcklbw %%mm0, %%mm3 \n\t" /* unpack low bytes of SrcDest into words */
  486. "punpckhbw %%mm0, %%mm4 \n\t" /* unpack high bytes of SrcDest into words */
  487. @@ -2015,8 +2015,8 @@
  488. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  489. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  490. "dec %%ecx \n\t" /* decrease loop counter */
  491. - "jnz .L10281 \n\t" /* check loop termination, proceed if required */
  492. - ".L10282: \n\t" "emms \n\t" /* exit MMX state */
  493. + "jnz 10281b \n\t" /* check loop termination, proceed if required */
  494. + "10282: \n\t" "emms \n\t" /* exit MMX state */
  495. "popa \n\t":"=m" (Dest) /* %0 */
  496. :"m"(Src1), /* %1 */
  497. "m"(length), /* %2 */
  498. @@ -2095,7 +2095,7 @@
  499. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  500. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  501. ".align 16 \n\t" /* 16 byte alignment of the loop entry */
  502. - ".L1029: \n\t"
  503. + "1029: \n\t"
  504. "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from SrcDest into MM0 */
  505. "paddusb %%mm2, %%mm0 \n\t" /* MM0=SrcDest+(0xFF-T) (add 8 bytes with saturation) */
  506. "pcmpeqb %%mm1, %%mm0 \n\t" /* binarize 255:0, comparing to 255 */
  507. @@ -2103,7 +2103,7 @@
  508. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  509. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  510. "dec %%ecx \n\t" /* decrease loop counter */
  511. - "jnz .L1029 \n\t" /* check loop termination, proceed if required */
  512. + "jnz 1029b \n\t" /* check loop termination, proceed if required */
  513. "emms \n\t" /* exit MMX state */
  514. "popa \n\t":"=m" (Dest) /* %0 */
  515. :"m"(Src1), /* %1 */
  516. @@ -2186,7 +2186,7 @@
  517. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  518. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  519. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  520. - ".L1030: \n\t"
  521. + "1030: \n\t"
  522. "movq (%%eax), %%mm0 \n\t" /* load 8 bytes from Src1 into MM0 */
  523. "paddusb %%mm1, %%mm0 \n\t" /* MM0=SrcDest+(0xFF-Tmax) */
  524. "psubusb %%mm7, %%mm0 \n\t" /* MM0=MM0-(0xFF-Tmax+Tmin) */
  525. @@ -2195,7 +2195,7 @@
  526. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  527. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  528. "dec %%ecx \n\t" /* decrease loop counter */
  529. - "jnz .L1030 \n\t" /* check loop termination, proceed if required */
  530. + "jnz 1030b \n\t" /* check loop termination, proceed if required */
  531. "emms \n\t" /* exit MMX state */
  532. "popa \n\t":"=m" (Dest) /* %0 */
  533. :"m"(Src1), /* %1 */
  534. @@ -2263,11 +2263,11 @@
  535. "mov %4, %%bx \n\t" /* load Cmax in BX */
  536. "sub %5, %%ax \n\t" /* AX = Nmax - Nmin */
  537. "sub %3, %%bx \n\t" /* BX = Cmax - Cmin */
  538. - "jz .L10311 \n\t" /* check division by zero */
  539. + "jz 10311f \n\t" /* check division by zero */
  540. "xor %%dx, %%dx \n\t" /* prepare for division, zero DX */
  541. "div %%bx \n\t" /* AX = AX/BX */
  542. - "jmp .L10312 \n\t" ".L10311: \n\t" "mov $255, %%ax \n\t" /* if div by zero, assume result max. byte value */
  543. - ".L10312: \n\t" /* ** Duplicate AX in 4 words of MM0 ** */
  544. + "jmp 10312f \n\t" "10311: \n\t" "mov $255, %%ax \n\t" /* if div by zero, assume result max. byte value */
  545. + "10312: \n\t" /* ** Duplicate AX in 4 words of MM0 ** */
  546. "mov %%ax, %%bx \n\t" /* copy AX into BX */
  547. "shl $16, %%eax \n\t" /* shift 2 bytes of EAX left */
  548. "mov %%bx, %%ax \n\t" /* copy BX into AX */
  549. @@ -2296,7 +2296,7 @@
  550. "mov %2, %%ecx \n\t" /* load loop counter (SIZE) into ecx */
  551. "shr $3, %%ecx \n\t" /* counter/8 (MMX loads 8 bytes at a time) */
  552. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  553. - ".L1031: \n\t"
  554. + "1031: \n\t"
  555. "movq (%%eax), %%mm3 \n\t" /* load 8 bytes from Src1 into MM3 */
  556. "movq %%mm3, %%mm4 \n\t" /* copy MM3 into MM4 */
  557. "punpcklbw %%mm7, %%mm3 \n\t" /* unpack low bytes of SrcDest into words */
  558. @@ -2321,7 +2321,7 @@
  559. "add $8, %%eax \n\t" /* increase Src1 register pointer by 8 */
  560. "add $8, %%edi \n\t" /* increase Dest register pointer by 8 */
  561. "dec %%ecx \n\t" /* decrease loop counter */
  562. - "jnz .L1031 \n\t" /* check loop termination, proceed if required */
  563. + "jnz 1031b \n\t" /* check loop termination, proceed if required */
  564. "emms \n\t" /* exit MMX state */
  565. "popa \n\t":"=m" (Dest) /* %0 */
  566. :"m"(Src1), /* %1 */
  567. @@ -2415,10 +2415,10 @@
  568. "mov %2, %%edx \n\t" /* initialize ROWS counter */
  569. "sub $2, %%edx \n\t" /* do not use first and last row */
  570. /* --- */
  571. - ".L10320: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */
  572. + "10320: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */
  573. "sub $2, %%ecx \n\t" /* do not use first and last column */
  574. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  575. - ".L10322: \n\t"
  576. + "10322: \n\t"
  577. /* --- */
  578. "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the image first row */
  579. "add %%eax, %%esi \n\t" /* move one row below */
  580. @@ -2459,11 +2459,11 @@
  581. "inc %%edi \n\t" /* move Dest pointer to the next pixel */
  582. /* --- */
  583. "dec %%ecx \n\t" /* decrease loop counter COLUMNS */
  584. - "jnz .L10322 \n\t" /* check loop termination, proceed if required */
  585. + "jnz 10322b \n\t" /* check loop termination, proceed if required */
  586. "add $2, %%esi \n\t" /* move to the next row in Src */
  587. "add $2, %%edi \n\t" /* move to the next row in Dest */
  588. "dec %%edx \n\t" /* decrease loop counter ROWS */
  589. - "jnz .L10320 \n\t" /* check loop termination, proceed if required */
  590. + "jnz 10320b \n\t" /* check loop termination, proceed if required */
  591. /* --- */
  592. "emms \n\t" /* exit MMX state */
  593. "popa \n\t":"=m" (Dest) /* %0 */
  594. @@ -2506,10 +2506,10 @@
  595. "mov %2, %%ebx \n\t" /* initialize ROWS counter */
  596. "sub $4, %%ebx \n\t" /* do not use first 2 and last 2 rows */
  597. /* --- */
  598. - ".L10330: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */
  599. + "10330: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */
  600. "sub $4, %%ecx \n\t" /* do not use first 2 and last 2 columns */
  601. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  602. - ".L10332: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */
  603. + "10332: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */
  604. "movd %%esi, %%mm6 \n\t" /* save ESI in MM6 */
  605. /* --- 1 */
  606. "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the Src */
  607. @@ -2609,11 +2609,11 @@
  608. "inc %%edi \n\t" /* move Dest pointer to the next pixel */
  609. /* --- */
  610. "dec %%ecx \n\t" /* decrease loop counter COLUMNS */
  611. - "jnz .L10332 \n\t" /* check loop termination, proceed if required */
  612. + "jnz 10332b \n\t" /* check loop termination, proceed if required */
  613. "add $4, %%esi \n\t" /* move to the next row in Src */
  614. "add $4, %%edi \n\t" /* move to the next row in Dest */
  615. "dec %%ebx \n\t" /* decrease loop counter ROWS */
  616. - "jnz .L10330 \n\t" /* check loop termination, proceed if required */
  617. + "jnz 10330b \n\t" /* check loop termination, proceed if required */
  618. /* --- */
  619. "emms \n\t" /* exit MMX state */
  620. "popa \n\t":"=m" (Dest) /* %0 */
  621. @@ -2654,10 +2654,10 @@
  622. "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "mov %2, %%ebx \n\t" /* initialize ROWS counter */
  623. "sub $6, %%ebx \n\t" /* do not use first 3 and last 3 rows */
  624. /* --- */
  625. - ".L10340: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */
  626. + "10340: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */
  627. "sub $6, %%ecx \n\t" /* do not use first 3 and last 3 columns */
  628. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  629. - ".L10342: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */
  630. + "10342: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */
  631. "movd %%esi, %%mm6 \n\t" /* save ESI in MM6 */
  632. /* --- 1 */
  633. "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the Src */
  634. @@ -2785,11 +2785,11 @@
  635. "inc %%edi \n\t" /* move Dest pointer to the next pixel */
  636. /* --- */
  637. "dec %%ecx \n\t" /* decrease loop counter COLUMNS */
  638. - "jnz .L10342 \n\t" /* check loop termination, proceed if required */
  639. + "jnz 10342b \n\t" /* check loop termination, proceed if required */
  640. "add $6, %%esi \n\t" /* move to the next row in Src */
  641. "add $6, %%edi \n\t" /* move to the next row in Dest */
  642. "dec %%ebx \n\t" /* decrease loop counter ROWS */
  643. - "jnz .L10340 \n\t" /* check loop termination, proceed if required */
  644. + "jnz 10340b \n\t" /* check loop termination, proceed if required */
  645. /* --- */
  646. "emms \n\t" /* exit MMX state */
  647. "popa \n\t":"=m" (Dest) /* %0 */
  648. @@ -2830,10 +2830,10 @@
  649. "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "mov %2, %%ebx \n\t" /* initialize ROWS counter */
  650. "sub $8, %%ebx \n\t" /* do not use first 4 and last 4 rows */
  651. /* --- */
  652. - ".L10350: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */
  653. + "10350: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */
  654. "sub $8, %%ecx \n\t" /* do not use first 4 and last 4 columns */
  655. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  656. - ".L10352: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */
  657. + "10352: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */
  658. "movd %%esi, %%mm6 \n\t" /* save ESI in MM6 */
  659. /* --- 1 */
  660. "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the Src */
  661. @@ -3052,11 +3052,11 @@
  662. "inc %%edi \n\t" /* move Dest pointer to the next pixel */
  663. /* --- */
  664. "dec %%ecx \n\t" /* decrease loop counter COLUMNS */
  665. - "jnz .L10352 \n\t" /* check loop termination, proceed if required */
  666. + "jnz 10352b \n\t" /* check loop termination, proceed if required */
  667. "add $8, %%esi \n\t" /* move to the next row in Src */
  668. "add $8, %%edi \n\t" /* move to the next row in Dest */
  669. "dec %%ebx \n\t" /* decrease loop counter ROWS */
  670. - "jnz .L10350 \n\t" /* check loop termination, proceed if required */
  671. + "jnz 10350b \n\t" /* check loop termination, proceed if required */
  672. /* --- */
  673. "emms \n\t" /* exit MMX state */
  674. "popa \n\t":"=m" (Dest) /* %0 */
  675. @@ -3103,10 +3103,10 @@
  676. "mov %2, %%edx \n\t" /* initialize ROWS counter */
  677. "sub $2, %%edx \n\t" /* do not use first and last row */
  678. /* --- */
  679. - ".L10360: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */
  680. + "10360: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */
  681. "sub $2, %%ecx \n\t" /* do not use first and last column */
  682. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  683. - ".L10362: \n\t"
  684. + "10362: \n\t"
  685. /* --- */
  686. "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the image first row */
  687. "add %%eax, %%esi \n\t" /* move one row below */
  688. @@ -3139,11 +3139,11 @@
  689. "inc %%edi \n\t" /* move Dest pointer to the next pixel */
  690. /* --- */
  691. "dec %%ecx \n\t" /* decrease loop counter COLUMNS */
  692. - "jnz .L10362 \n\t" /* check loop termination, proceed if required */
  693. + "jnz 10362b \n\t" /* check loop termination, proceed if required */
  694. "add $2, %%esi \n\t" /* move to the next row in Src */
  695. "add $2, %%edi \n\t" /* move to the next row in Dest */
  696. "dec %%edx \n\t" /* decrease loop counter ROWS */
  697. - "jnz .L10360 \n\t" /* check loop termination, proceed if required */
  698. + "jnz 10360b \n\t" /* check loop termination, proceed if required */
  699. /* --- */
  700. "emms \n\t" /* exit MMX state */
  701. "popa \n\t":"=m" (Dest) /* %0 */
  702. @@ -3186,10 +3186,10 @@
  703. "mov %2, %%ebx \n\t" /* initialize ROWS counter */
  704. "sub $4, %%ebx \n\t" /* do not use first 2 and last 2 rows */
  705. /* --- */
  706. - ".L10370: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */
  707. + "10370: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */
  708. "sub $4, %%ecx \n\t" /* do not use first 2 and last 2 columns */
  709. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  710. - ".L10372: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */
  711. + "10372: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */
  712. "movd %%esi, %%mm6 \n\t" /* save ESI in MM6 */
  713. /* --- 1 */
  714. "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the Src */
  715. @@ -3288,11 +3288,11 @@
  716. "inc %%edi \n\t" /* move Dest pointer to the next pixel */
  717. /* --- */
  718. "dec %%ecx \n\t" /* decrease loop counter COLUMNS */
  719. - "jnz .L10372 \n\t" /* check loop termination, proceed if required */
  720. + "jnz 10372b \n\t" /* check loop termination, proceed if required */
  721. "add $4, %%esi \n\t" /* move to the next row in Src */
  722. "add $4, %%edi \n\t" /* move to the next row in Dest */
  723. "dec %%ebx \n\t" /* decrease loop counter ROWS */
  724. - "jnz .L10370 \n\t" /* check loop termination, proceed if required */
  725. + "jnz 10370b \n\t" /* check loop termination, proceed if required */
  726. /* --- */
  727. "emms \n\t" /* exit MMX state */
  728. "popa \n\t":"=m" (Dest) /* %0 */
  729. @@ -3333,10 +3333,10 @@
  730. "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "mov %2, %%ebx \n\t" /* initialize ROWS counter */
  731. "sub $6, %%ebx \n\t" /* do not use first 3 and last 3 rows */
  732. /* --- */
  733. - ".L10380: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */
  734. + "10380: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */
  735. "sub $6, %%ecx \n\t" /* do not use first 3 and last 3 columns */
  736. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  737. - ".L10382: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */
  738. + "10382: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */
  739. "movd %%esi, %%mm6 \n\t" /* save ESI in MM6 */
  740. /* --- 1 */
  741. "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the Src */
  742. @@ -3467,11 +3467,11 @@
  743. "inc %%edi \n\t" /* move Dest pointer to the next pixel */
  744. /* --- */
  745. "dec %%ecx \n\t" /* decrease loop counter COLUMNS */
  746. - "jnz .L10382 \n\t" /* check loop termination, proceed if required */
  747. + "jnz 10382b \n\t" /* check loop termination, proceed if required */
  748. "add $6, %%esi \n\t" /* move to the next row in Src */
  749. "add $6, %%edi \n\t" /* move to the next row in Dest */
  750. "dec %%ebx \n\t" /* decrease loop counter ROWS */
  751. - "jnz .L10380 \n\t" /* check loop termination, proceed if required */
  752. + "jnz 10380b \n\t" /* check loop termination, proceed if required */
  753. /* --- */
  754. "emms \n\t" /* exit MMX state */
  755. "popa \n\t":"=m" (Dest) /* %0 */
  756. @@ -3512,10 +3512,10 @@
  757. "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "add %%eax, %%edi \n\t" "mov %2, %%ebx \n\t" /* initialize ROWS counter */
  758. "sub $8, %%ebx \n\t" /* do not use first 4 and last 4 rows */
  759. /* --- */
  760. - ".L10390: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */
  761. + "10390: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMNS counter */
  762. "sub $8, %%ecx \n\t" /* do not use first 4 and last 4 columns */
  763. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  764. - ".L10392: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */
  765. + "10392: \n\t" "pxor %%mm7, %%mm7 \n\t" /* zero MM7 (accumulator) */
  766. "movd %%esi, %%mm6 \n\t" /* save ESI in MM6 */
  767. /* --- 1 */
  768. "movq (%%esi), %%mm1 \n\t" /* load 8 bytes of the Src */
  769. @@ -3750,11 +3750,11 @@
  770. "inc %%edi \n\t" /* move Dest pointer to the next pixel */
  771. /* --- */
  772. "dec %%ecx \n\t" /* decrease loop counter COLUMNS */
  773. - "jnz .L10392 \n\t" /* check loop termination, proceed if required */
  774. + "jnz 10392b \n\t" /* check loop termination, proceed if required */
  775. "add $8, %%esi \n\t" /* move to the next row in Src */
  776. "add $8, %%edi \n\t" /* move to the next row in Dest */
  777. "dec %%ebx \n\t" /* decrease loop counter ROWS */
  778. - "jnz .L10390 \n\t" /* check loop termination, proceed if required */
  779. + "jnz 10390b \n\t" /* check loop termination, proceed if required */
  780. /* --- */
  781. "emms \n\t" /* exit MMX state */
  782. "popa \n\t":"=m" (Dest) /* %0 */
  783. @@ -3793,12 +3793,12 @@
  784. "mov %2, %%edx \n\t" /* initialize ROWS counter */
  785. "sub $2, %%edx \n\t" /* do not use first and last rows */
  786. /* --- */
  787. - ".L10400: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */
  788. + "10400: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */
  789. "shr $3, %%ecx \n\t" /* EBX/8 (MMX loads 8 bytes at a time) */
  790. "mov %%esi, %%ebx \n\t" /* save ESI in EBX */
  791. "movd %%edi, %%mm1 \n\t" /* save EDI in MM1 */
  792. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  793. - ".L10402: \n\t"
  794. + "10402: \n\t"
  795. /* --- */
  796. "movq (%%esi), %%mm4 \n\t" /* load 8 bytes from Src */
  797. "movq %%mm4, %%mm5 \n\t" /* save MM4 in MM5 */
  798. @@ -3876,13 +3876,13 @@
  799. "add $8, %%edi \n\t" /* move Dest pointer to the next 8 pixels */
  800. /* --- */
  801. "dec %%ecx \n\t" /* decrease loop counter COLUMNS */
  802. - "jnz .L10402 \n\t" /* check loop termination, proceed if required */
  803. + "jnz 10402b \n\t" /* check loop termination, proceed if required */
  804. "mov %%ebx, %%esi \n\t" /* restore most left current row Src address */
  805. "movd %%mm1, %%edi \n\t" /* restore most left current row Dest address */
  806. "add %%eax, %%esi \n\t" /* move to the next row in Src */
  807. "add %%eax, %%edi \n\t" /* move to the next row in Dest */
  808. "dec %%edx \n\t" /* decrease loop counter ROWS */
  809. - "jnz .L10400 \n\t" /* check loop termination, proceed if required */
  810. + "jnz 10400b \n\t" /* check loop termination, proceed if required */
  811. /* --- */
  812. "emms \n\t" /* exit MMX state */
  813. "popa \n\t":"=m" (Dest) /* %0 */
  814. @@ -3921,12 +3921,12 @@
  815. /* initialize ROWS counter */
  816. "subl $2, %2 \n\t" /* do not use first and last rows */
  817. /* --- */
  818. - ".L10410: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */
  819. + "10410: \n\t" "mov %%eax, %%ecx \n\t" /* initialize COLUMS counter */
  820. "shr $3, %%ecx \n\t" /* EBX/8 (MMX loads 8 bytes at a time) */
  821. "mov %%esi, %%ebx \n\t" /* save ESI in EBX */
  822. "mov %%edi, %%edx \n\t" /* save EDI in EDX */
  823. ".align 16 \n\t" /* 16 byte allignment of the loop entry */
  824. - ".L10412: \n\t"
  825. + "10412: \n\t"
  826. /* --- */
  827. "movq (%%esi), %%mm4 \n\t" /* load 8 bytes from Src */
  828. "movq %%mm4, %%mm5 \n\t" /* save MM4 in MM5 */
  829. @@ -4016,13 +4016,13 @@
  830. "add $8, %%edi \n\t" /* move Dest pointer to the next 8 pixels */
  831. /* --- */
  832. "dec %%ecx \n\t" /* decrease loop counter COLUMNS */
  833. - "jnz .L10412 \n\t" /* check loop termination, proceed if required */
  834. + "jnz 10412b \n\t" /* check loop termination, proceed if required */
  835. "mov %%ebx, %%esi \n\t" /* restore most left current row Src address */
  836. "mov %%edx, %%edi \n\t" /* restore most left current row Dest address */
  837. "add %%eax, %%esi \n\t" /* move to the next row in Src */
  838. "add %%eax, %%edi \n\t" /* move to the next row in Dest */
  839. "decl %2 \n\t" /* decrease loop counter ROWS */
  840. - "jnz .L10410 \n\t" /* check loop termination, proceed if required */
  841. + "jnz 10410b \n\t" /* check loop termination, proceed if required */
  842. /* --- */
  843. "emms \n\t" /* exit MMX state */
  844. "popa \n\t":"=m" (Dest) /* %0 */