Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 67980 Details for
Bug 104966
ffmpeg/xine-lib-1.1.0-r3 dies during compile on x86 w/ GCC 4 due to PIC
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
simplified version of pic+fp mmx asm fix
xine-lib-1.1.0-pic+fp-asm-fix.diff (text/plain), 2.04 KB, created by
Christophe Saout
on 2005-09-08 17:12:00 UTC
(
hide
)
Description:
simplified version of pic+fp mmx asm fix
Filename:
MIME Type:
Creator:
Christophe Saout
Created:
2005-09-08 17:12:00 UTC
Size:
2.04 KB
patch
obsolete
>diff -ur xine-lib-1.1.0-orig/src/libffmpeg/libavcodec/i386/dsputil_mmx.c xine-lib-1.1.0/src/libffmpeg/libavcodec/i386/dsputil_mmx.c >--- xine-lib-1.1.0-orig/src/libffmpeg/libavcodec/i386/dsputil_mmx.c 2005-09-07 16:55:46.000000000 -0400 >+++ xine-lib-1.1.0/src/libffmpeg/libavcodec/i386/dsputil_mmx.c 2005-09-07 16:56:31.000000000 -0400@@ -615,31 +615,32 @@ > } > > static inline void transpose4x4(uint8_t *dst, uint8_t *src, int dst_stride, int src_stride){ >+ void *dst_reg = dst, *src_reg = src; >+ > asm volatile( //FIXME could save 1 instruction if done as 8x4 ... >- "movd %4, %%mm0 \n\t" >- "movd %5, %%mm1 \n\t" >- "movd %6, %%mm2 \n\t" >- "movd %7, %%mm3 \n\t" >+ "movd (%1), %%mm0 \n\t" >+ "movd (%1,%3), %%mm1 \n\t" >+ "lea (%1, %3, 2), %1 \n\t" >+ "movd (%1), %%mm2 \n\t" >+ "movd (%1,%3), %%mm3 \n\t" > "punpcklbw %%mm1, %%mm0 \n\t" > "punpcklbw %%mm3, %%mm2 \n\t" > "movq %%mm0, %%mm1 \n\t" > "punpcklwd %%mm2, %%mm0 \n\t" > "punpckhwd %%mm2, %%mm1 \n\t" >- "movd %%mm0, %0 \n\t" >+ "movd %%mm0, (%0) \n\t" > "punpckhdq %%mm0, %%mm0 \n\t" >- "movd %%mm0, %1 \n\t" >- "movd %%mm1, %2 \n\t" >+ "movd %%mm0, (%0,%2) \n\t" >+ "lea (%0, %2, 2), %0 \n\t" >+ "movd %%mm1, (%0) \n\t" > "punpckhdq %%mm1, %%mm1 \n\t" >- "movd %%mm1, %3 \n\t" >- >- : "=m" (*(uint32_t*)(dst + 0*dst_stride)), >- "=m" (*(uint32_t*)(dst + 1*dst_stride)), >- "=m" (*(uint32_t*)(dst + 2*dst_stride)), >- "=m" (*(uint32_t*)(dst + 3*dst_stride)) >- : "m" (*(uint32_t*)(src + 0*src_stride)), >- "m" (*(uint32_t*)(src + 1*src_stride)), >- "m" (*(uint32_t*)(src + 2*src_stride)), >- "m" (*(uint32_t*)(src + 3*src_stride)) >+ "movd %%mm1, (%0,%2) \n\t" >+ : "=&r" (dst_reg), >+ "=&r" (src_reg) >+ : "0" (dst_reg), >+ "1" (src_reg), >+ "r" (dst_stride), >+ "r" (src_stride) > ); > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 104966
:
67837
|
67947
|
67980
|
67981
|
76927
|
77067
|
77071