$NetBSD: patch-ac,v 1.2 2005/11/03 21:38:04 rillig Exp $ --- src/ddrawsdl.cpp.orig 2002-03-26 16:02:25.000000000 +0100 +++ src/ddrawsdl.cpp @@ -174,66 +174,66 @@ void UpdateFrame_h() { switch(fBlitterMode) { case 1: - __asm__ __volatile__(".align 32 - cld - rep + __asm__ __volatile__(".align 32\n\ + cld\n\ + rep\n\ movsw" : :"S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"((g_pDDSPrimary->h * g_pDDSPrimary->pitch)>>1)); break; case 2: - __asm__ __volatile__("pusha - xorl %%eax, %%eax - movl $448, %%ebx - emms - sum: - movq (%0, %%eax, 1), %%mm0 - movq %%mm0, %%mm1 - punpcklwd %%mm0, %%mm0 - addl $8, %%eax - punpckhwd %%mm1,%%mm1 - movq %%mm0, -16(%1, %%eax, 2) - cmpl %%ebx, %%eax - - movq %%mm1, -8(%1, %%eax, 2) - jnz sum - xorl %%eax, %%eax - - addl %2, %0 - decl %%edx - - leal (%1, %2, 4), %1 - jnz sum - emms + __asm__ __volatile__("pusha\n\ + xorl %%eax, %%eax\n\ + movl $448, %%ebx \n\ + emms\n\ + sum:\n\ + movq (%0, %%eax, 1), %%mm0\n\ + movq %%mm0, %%mm1\n\ + punpcklwd %%mm0, %%mm0\n\ + addl $8, %%eax\n\ + punpckhwd %%mm1,%%mm1\n\ + movq %%mm0, -16(%1, %%eax, 2)\n\ + cmpl %%ebx, %%eax\n\ + \n\ + movq %%mm1, -8(%1, %%eax, 2)\n\ + jnz sum\n\ + xorl %%eax, %%eax\n\ + \n\ + addl %2, %0\n\ + decl %%edx\n\ + \n\ + leal (%1, %2, 4), %1\n\ + jnz sum\n\ + emms\n\ popa" : : "S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"(g_pDDSPrimary->pitch>>1), "d"(144)); break; case 3: - __asm__ __volatile__("pusha - xorl %%eax, %%eax - movl $896, %%ebx - emms - sum3: - movq (%0, %%eax, 1), %%mm0 - movq %%mm0, %%mm1 - punpcklwd %%mm0, %%mm0 - addl $8, %%eax - punpckhwd %%mm1,%%mm1 - movq %%mm0, -16(%1, %%eax, 2) - cmpl %%ebx, %%eax - - movq %%mm1, -8(%1, %%eax, 2) - jnz sum3 - xorl %%eax, %%eax - - addl %2, %0 - decl %%edx - - leal (%1, %2, 4), %1 - jnz sum3 - emms + __asm__ __volatile__("pusha\n\ + xorl %%eax, %%eax\n\ + movl $896, %%ebx \n\ + emms\n\ + sum3:\n\ + movq (%0, %%eax, 1), %%mm0\n\ + movq %%mm0, %%mm1\n\ + punpcklwd %%mm0, %%mm0\n\ + addl $8, %%eax\n\ + punpckhwd %%mm1,%%mm1\n\ + movq %%mm0, -16(%1, %%eax, 2)\n\ + cmpl %%ebx, %%eax\n\ + \n\ + movq %%mm1, -8(%1, %%eax, 2)\n\ + jnz sum3\n\ + xorl %%eax, %%eax\n\ + \n\ + addl %2, %0\n\ + decl %%edx\n\ + \n\ + leal (%1, %2, 4), %1\n\ + jnz sum3\n\ + emms\n\ popa" : : "S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"(g_pDDSPrimary->pitch>>1), "d"(144)); @@ -418,65 +418,65 @@ void UpdateFrame_v() { switch(fBlitterMode) { case 1: - __asm__ __volatile__(".align 32 - cld - rep + __asm__ __volatile__(".align 32\n\ + cld\n\ + rep\n\ movsw" : :"S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"((g_pDDSPrimary->h * g_pDDSPrimary->pitch)>>1)); break; case 2: // double scanlines - __asm__ __volatile__("pusha - xorl %%eax, %%eax - movl $288, %%ebx - emms - sumb: - movq (%0, %%eax, 1), %%mm0 - movq %%mm0, %%mm1 - punpcklwd %%mm0, %%mm0 - addl $8, %%eax - punpckhwd %%mm1,%%mm1 - movq %%mm0, -16(%1, %%eax, 2) - cmpl %%ebx, %%eax - - movq %%mm1, -8(%1, %%eax, 2) - jnz sumb - xorl %%eax, %%eax - - addl %2, %0 - decl %%edx - - leal (%1, %2, 4), %1 - jnz sumb - emms + __asm__ __volatile__("pusha\n\ + xorl %%eax, %%eax\n\ + movl $288, %%ebx \n\ + emms\n\ + sumb:\n\ + movq (%0, %%eax, 1), %%mm0\n\ + movq %%mm0, %%mm1\n\ + punpcklwd %%mm0, %%mm0\n\ + addl $8, %%eax\n\ + punpckhwd %%mm1,%%mm1\n\ + movq %%mm0, -16(%1, %%eax, 2)\n\ + cmpl %%ebx, %%eax\n\ + \n\ + movq %%mm1, -8(%1, %%eax, 2)\n\ + jnz sumb\n\ + xorl %%eax, %%eax\n\ + \n\ + addl %2, %0\n\ + decl %%edx\n\ + \n\ + leal (%1, %2, 4), %1\n\ + jnz sumb\n\ + emms\n\ popa" : : "S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"(g_pDDSPrimary->pitch>>1), "d"(224)); break; case 3: // double stretch mode - __asm__ __volatile__("pusha - xorl %%eax, %%eax - movl $576, %%ebx - emms - sumc: - movq (%0, %%eax, 1), %%mm0 - movq %%mm0, %%mm1 - punpcklwd %%mm0, %%mm0 - addl $8, %%eax - punpckhwd %%mm1,%%mm1 - movq %%mm0, -16(%1, %%eax, 2) - cmpl %%ebx, %%eax - - movq %%mm1, -8(%1, %%eax, 2) - jnz sumc - xorl %%eax, %%eax - - addl %2, %0 - decl %%edx - - leal (%1, %2, 4), %1 - jnz sumc - emms + __asm__ __volatile__("pusha\n\ + xorl %%eax, %%eax\n\ + movl $576, %%ebx \n\ + emms\n\ + sumc:\n\ + movq (%0, %%eax, 1), %%mm0\n\ + movq %%mm0, %%mm1\n\ + punpcklwd %%mm0, %%mm0\n\ + addl $8, %%eax\n\ + punpckhwd %%mm1,%%mm1\n\ + movq %%mm0, -16(%1, %%eax, 2)\n\ + cmpl %%ebx, %%eax\n\ + \n\ + movq %%mm1, -8(%1, %%eax, 2)\n\ + jnz sumc\n\ + xorl %%eax, %%eax\n\ + \n\ + addl %2, %0\n\ + decl %%edx\n\ + \n\ + leal (%1, %2, 4), %1\n\ + jnz sumc\n\ + emms\n\ popa" : : "S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"(g_pDDSPrimary->pitch>>1), "d"(224));