Commit 1492f508 authored by michael's avatar michael

using fewer registers (fixes compilation bug hopefully)


git-svn-id: file:///var/local/repositories/mplayer/trunk/postproc@7953 b3059339-0415-0410-9bf9-f77b7e298cf2
parent f2940dde
...@@ -1896,7 +1896,6 @@ static inline void RENAME(transpose1)(uint8_t *dst1, uint8_t *dst2, uint8_t *src ...@@ -1896,7 +1896,6 @@ static inline void RENAME(transpose1)(uint8_t *dst1, uint8_t *dst2, uint8_t *src
{ {
asm( asm(
"leal (%0, %1), %%eax \n\t" "leal (%0, %1), %%eax \n\t"
"leal (%%eax, %1, 4), %%edx \n\t"
// 0 1 2 3 4 5 6 7 8 9 // 0 1 2 3 4 5 6 7 8 9
// %0 eax eax+%1 eax+2%1 %0+4%1 edx edx+%1 edx+2%1 %0+8%1 edx+4%1 // %0 eax eax+%1 eax+2%1 %0+4%1 edx edx+%1 edx+2%1 %0+8%1 edx+4%1
"movq (%0), %%mm0 \n\t" // 12345678 "movq (%0), %%mm0 \n\t" // 12345678
...@@ -1933,14 +1932,16 @@ static inline void RENAME(transpose1)(uint8_t *dst1, uint8_t *dst2, uint8_t *src ...@@ -1933,14 +1932,16 @@ static inline void RENAME(transpose1)(uint8_t *dst1, uint8_t *dst2, uint8_t *src
"psrlq $32, %%mm1 \n\t" "psrlq $32, %%mm1 \n\t"
"movd %%mm1, 112(%3) \n\t" "movd %%mm1, 112(%3) \n\t"
"leal (%%eax, %1, 4), %%eax \n\t"
"movq (%0, %1, 4), %%mm0 \n\t" // 12345678 "movq (%0, %1, 4), %%mm0 \n\t" // 12345678
"movq (%%edx), %%mm1 \n\t" // abcdefgh "movq (%%eax), %%mm1 \n\t" // abcdefgh
"movq %%mm0, %%mm2 \n\t" // 12345678 "movq %%mm0, %%mm2 \n\t" // 12345678
"punpcklbw %%mm1, %%mm0 \n\t" // 1a2b3c4d "punpcklbw %%mm1, %%mm0 \n\t" // 1a2b3c4d
"punpckhbw %%mm1, %%mm2 \n\t" // 5e6f7g8h "punpckhbw %%mm1, %%mm2 \n\t" // 5e6f7g8h
"movq (%%edx, %1), %%mm1 \n\t" "movq (%%eax, %1), %%mm1 \n\t"
"movq (%%edx, %1, 2), %%mm3 \n\t" "movq (%%eax, %1, 2), %%mm3 \n\t"
"movq %%mm1, %%mm4 \n\t" "movq %%mm1, %%mm4 \n\t"
"punpcklbw %%mm3, %%mm1 \n\t" "punpcklbw %%mm3, %%mm1 \n\t"
"punpckhbw %%mm3, %%mm4 \n\t" "punpckhbw %%mm3, %%mm4 \n\t"
...@@ -1969,7 +1970,7 @@ static inline void RENAME(transpose1)(uint8_t *dst1, uint8_t *dst2, uint8_t *src ...@@ -1969,7 +1970,7 @@ static inline void RENAME(transpose1)(uint8_t *dst1, uint8_t *dst2, uint8_t *src
:: "r" (src), "r" (srcStride), "r" (dst1), "r" (dst2) :: "r" (src), "r" (srcStride), "r" (dst1), "r" (dst2)
: "%eax", "%edx" : "%eax"
); );
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment