mirror of
https://code.videolan.org/videolan/vlc
synced 2024-09-12 13:44:56 +02:00
* ./include/mmx.h, ./plugins/imdct/*: gcc-3.1 compilation fixes courtesy
of Yves Duret and other Mandrakesoft guys I don't know.
This commit is contained in:
parent
f1baee062f
commit
b3c38ec9db
@ -41,16 +41,16 @@ typedef union {
|
||||
#define mmx_i2r(op,imm,reg) \
|
||||
__asm__ __volatile__ (#op " %0, %%" #reg \
|
||||
: /* nothing */ \
|
||||
: "X" (imm) )
|
||||
: "i" (imm) )
|
||||
|
||||
#define mmx_m2r(op,mem,reg) \
|
||||
__asm__ __volatile__ (#op " %0, %%" #reg \
|
||||
: /* nothing */ \
|
||||
: "X" (mem))
|
||||
: "m" (mem))
|
||||
|
||||
#define mmx_r2m(op,reg,mem) \
|
||||
__asm__ __volatile__ (#op " %%" #reg ", %0" \
|
||||
: "=X" (mem) \
|
||||
: "=m" (mem) \
|
||||
: /* nothing */ )
|
||||
|
||||
#define mmx_r2r(op,regs,regd) \
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ac3_imdct_3dn.c: accelerated 3D Now! ac3 DCT
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1999, 2000 VideoLAN
|
||||
* $Id: ac3_imdct_3dn.c,v 1.9 2001/12/30 07:09:55 sam Exp $
|
||||
* $Id: ac3_imdct_3dn.c,v 1.10 2002/05/14 18:11:15 sam Exp $
|
||||
*
|
||||
* Authors: Renaud Dartus <reno@videolan.org>
|
||||
*
|
||||
@ -88,7 +88,7 @@ static void imdct512_pre_ifft_twiddle_3dn (const int *pmt, complex_t *buf, float
|
||||
"movl $128, %%ebx\n" /* loop counter */
|
||||
|
||||
".align 16\n"
|
||||
".loop:\n"
|
||||
"0:\n"
|
||||
"movl (%%eax), %%esi\n"
|
||||
"movd (%%ecx, %%esi, 8), %%mm1\n" /* 2j */
|
||||
"punpckldq %%mm1, %%mm1\n" /* 2j | 2j */
|
||||
@ -111,7 +111,7 @@ static void imdct512_pre_ifft_twiddle_3dn (const int *pmt, complex_t *buf, float
|
||||
|
||||
"movq %%mm0, -8(%%edi)\n"
|
||||
"decl %%ebx\n"
|
||||
"jnz .loop\n"
|
||||
"jnz 0b\n"
|
||||
|
||||
"popl %%esi\n"
|
||||
"popl %%ebx\n"
|
||||
@ -129,7 +129,7 @@ static void imdct512_post_ifft_twiddle_3dn (complex_t *buf, float *xcos_sin_sse)
|
||||
"movl $64, %%ebx\n" /* loop counter */
|
||||
|
||||
".align 16\n"
|
||||
".loop1:\n"
|
||||
"0:\n"
|
||||
"movq (%%eax), %%mm0\n" /* im0 | re0 */
|
||||
"movq %%mm0, %%mm1\n" /* im0 | re0 */
|
||||
"punpckldq %%mm0, %%mm0\n" /* re0 | re0 */
|
||||
@ -168,7 +168,7 @@ static void imdct512_post_ifft_twiddle_3dn (complex_t *buf, float *xcos_sin_sse)
|
||||
"addl $32, %%ecx\n"
|
||||
"addl $16, %%eax\n"
|
||||
"decl %%ebx\n"
|
||||
"jnz .loop1\n"
|
||||
"jnz 0b\n"
|
||||
|
||||
"popl %%ebx\n"
|
||||
"femms\n"
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ac3_imdct_sse.c: accelerated SSE ac3 DCT
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1999, 2000 VideoLAN
|
||||
* $Id: ac3_imdct_sse.c,v 1.10 2001/12/30 07:09:55 sam Exp $
|
||||
* $Id: ac3_imdct_sse.c,v 1.11 2002/05/14 18:11:15 sam Exp $
|
||||
*
|
||||
* Authors: Renaud Dartus <reno@videolan.org>
|
||||
* Aaron Holtzman <aholtzma@engr.uvic.ca>
|
||||
@ -103,7 +103,7 @@ static void imdct512_pre_ifft_twiddle_sse (const int *pmt, complex_t *buf, float
|
||||
"movl $64, -4(%%ebp)\n"
|
||||
|
||||
".align 16\n"
|
||||
".loop:\n"
|
||||
"0:\n"
|
||||
"movl (%%eax), %%esi\n"
|
||||
"movl 4(%%eax), %%edi\n"
|
||||
"movss (%%ecx, %%esi, 8), %%xmm1\n" /* 2j */
|
||||
@ -135,7 +135,7 @@ static void imdct512_pre_ifft_twiddle_sse (const int *pmt, complex_t *buf, float
|
||||
|
||||
"movaps %%xmm0, -16(%%ebx)\n"
|
||||
"decl -4(%%ebp)\n"
|
||||
"jnz .loop\n"
|
||||
"jnz 0b\n"
|
||||
|
||||
"popl %%esi\n"
|
||||
"popl %%edi\n"
|
||||
@ -159,7 +159,7 @@ static void imdct512_post_ifft_twiddle_sse (complex_t *buf, float *xcos_sin_sse)
|
||||
"movl $32, %%ebx\n" /* loop counter */
|
||||
|
||||
".align 16\n"
|
||||
".loop1:\n"
|
||||
"0:\n"
|
||||
"movaps (%%eax), %%xmm0\n" /* im1 | re1 | im0 | re0 */
|
||||
|
||||
"movaps (%%ecx), %%xmm2\n" /* -c | -s | -s | c */
|
||||
@ -210,7 +210,7 @@ static void imdct512_post_ifft_twiddle_sse (complex_t *buf, float *xcos_sin_sse)
|
||||
"addl $64, %%ecx\n"
|
||||
"addl $32, %%eax\n"
|
||||
"decl %%ebx\n"
|
||||
"jnz .loop1\n"
|
||||
"jnz 0b\n"
|
||||
|
||||
"popl %%ebx\n"
|
||||
: "=a" (buf)
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ac3_srfft_sse.c: accelerated SSE ac3 fft functions
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1999-2001 VideoLAN
|
||||
* $Id: ac3_srfft_sse.c,v 1.11 2001/12/30 07:09:55 sam Exp $
|
||||
* $Id: ac3_srfft_sse.c,v 1.12 2002/05/14 18:11:15 sam Exp $
|
||||
*
|
||||
* Authors: Renaud Dartus <reno@videolan.org>
|
||||
* Aaron Holtzman <aholtzma@engr.uvic.ca>
|
||||
@ -274,7 +274,7 @@ static void fft_asmb_sse (ck_sse_t * ck, int k, complex_t *x, complex_t *wTB,
|
||||
"decl -8(%%ebp)\n"
|
||||
|
||||
".align 16\n"
|
||||
".loop:\n"
|
||||
"0:\n"
|
||||
"movaps (%%edi), %%xmm0\n" /* wT[1] | wT[0] */
|
||||
"movaps (%%edx), %%xmm1\n" /* d[1] | d[0] */
|
||||
|
||||
@ -341,10 +341,10 @@ static void fft_asmb_sse (ck_sse_t * ck, int k, complex_t *x, complex_t *wTB,
|
||||
|
||||
"addl $16, %%eax\n"
|
||||
"decl -8(%%ebp)\n"
|
||||
"jnz .loop\n"
|
||||
"jnz 0b\n"
|
||||
|
||||
".align 16\n"
|
||||
".end:\n"
|
||||
"1:\n"
|
||||
"popl %%edi\n"
|
||||
"popl %%esi\n"
|
||||
"popl %%edx\n"
|
||||
|
Loading…
Reference in New Issue
Block a user