From a6c7690c2f2d9564ad819d7ecaa854acacaf8647 Mon Sep 17 00:00:00 2001 From: espie Date: Sun, 22 Dec 2002 14:19:47 +0000 Subject: [PATCH] Update to 0.90rc1. From maintainer, Bjorn. PP fix from niklas@ --- x11/mplayer/Makefile | 12 +- x11/mplayer/distinfo | 6 +- x11/mplayer/patches/patch-configure | 10 +- x11/mplayer/patches/patch-loader_stubs_S | 40 ++ x11/mplayer/patches/patch-loader_wrapper_S | 89 +++ x11/mplayer/patches/patch-mangle_h | 14 + x11/mplayer/patches/patch-mp3lib_Makefile | 4 +- .../patches/patch-mp3lib_dct36_3dnow_S | 505 +++++++++++++++++ x11/mplayer/patches/patch-mp3lib_dct36_k7_S | 515 ++++++++++++++++++ x11/mplayer/patches/patch-mp3lib_dct64_MMX_c | 21 + 10 files changed, 1202 insertions(+), 14 deletions(-) create mode 100644 x11/mplayer/patches/patch-loader_stubs_S create mode 100644 x11/mplayer/patches/patch-loader_wrapper_S create mode 100644 x11/mplayer/patches/patch-mangle_h create mode 100644 x11/mplayer/patches/patch-mp3lib_dct36_3dnow_S create mode 100644 x11/mplayer/patches/patch-mp3lib_dct36_k7_S create mode 100644 x11/mplayer/patches/patch-mp3lib_dct64_MMX_c diff --git a/x11/mplayer/Makefile b/x11/mplayer/Makefile index 129bdbb7569..c6ea89503fe 100644 --- a/x11/mplayer/Makefile +++ b/x11/mplayer/Makefile @@ -1,10 +1,10 @@ -# $OpenBSD: Makefile,v 1.39 2002/11/13 17:54:35 espie Exp $ +# $OpenBSD: Makefile,v 1.40 2002/12/22 14:19:47 espie Exp $ # May not be hard to add more. ONLY_FOR_ARCHS= i386 macppc sparc64 COMMENT= "Movie player supporting MPEG, DIVX, AVI, ASF, MOV & more" -DISTNAME= MPlayer-0.90pre10 +DISTNAME= MPlayer-0.90rc1 DIST_SUBDIR= mplayer PKGNAME= ${DISTNAME:L} CATEGORIES= x11 @@ -62,7 +62,7 @@ CONFIGURE_ARGS+=--as=${LOCALBASE}/${MACHINE_ARCH}-unknown-openbsd${OPSYS_VER}/bi CONFIGURE_ARGS+=--target=ppc-openbsd .endif -FLAVORS= sdl ggi debug mad win32 iconv no_x11 cdda faad +FLAVORS= sdl ggi debug mad win32 iconv no_x11 cdda faad aa FLAVOR?= .if ${FLAVOR:L:Mfaad} @@ -148,8 +148,12 @@ BUILD_DEPENDS+= cdda_paranoia,cdda_interface:cdparanoia->=3.a9.8:audio/cdparanoi CONFIGURE_ARGS+=--disable-cdparanoia .endif +.if ${FLAVOR:L:Maa} +CONFIGURE_ARGS+=--enable-aa +LIB_DEPENDS+= aa.1.3::graphics/aalib +.else CONFIGURE_ARGS+=--disable-aa - +.endif .if ${ELF_TOOLCHAIN} == "no" post-patch: diff --git a/x11/mplayer/distinfo b/x11/mplayer/distinfo index 6109084edfe..7145980d5d4 100644 --- a/x11/mplayer/distinfo +++ b/x11/mplayer/distinfo @@ -1,6 +1,6 @@ -MD5 (mplayer/MPlayer-0.90pre10.tar.bz2) = cd972417e29cc7ca692dc7dd214a2cd0 +MD5 (mplayer/MPlayer-0.90rc1.tar.bz2) = 42224042b3b3c2f639c0e3c88eb3e810 MD5 (mplayer/default-1.1.tar.bz2) = 95417702dbb28226a2b0a20139ddfd0b -RMD160 (mplayer/MPlayer-0.90pre10.tar.bz2) = 9d01ce44b9df8a91edb69ecfeac3b2b92600d4ef +RMD160 (mplayer/MPlayer-0.90rc1.tar.bz2) = 89a3b1e4c70c994e1e7a852c92f48d50880f3d43 RMD160 (mplayer/default-1.1.tar.bz2) = bdcb3db26d6d5cc2ac8de3c0bd9ea40921e509a4 -SHA1 (mplayer/MPlayer-0.90pre10.tar.bz2) = 4b53eef9c2b2ad461ae6648dc76651b21a2079e7 +SHA1 (mplayer/MPlayer-0.90rc1.tar.bz2) = be456dc6cdb1e331e6dffa3c7b8be8131d188eb4 SHA1 (mplayer/default-1.1.tar.bz2) = 804d181e96c81e3794260dc8976786f3a535a3cf diff --git a/x11/mplayer/patches/patch-configure b/x11/mplayer/patches/patch-configure index a260d92437a..e36ba357d47 100644 --- a/x11/mplayer/patches/patch-configure +++ b/x11/mplayer/patches/patch-configure @@ -1,7 +1,7 @@ -$OpenBSD: patch-configure,v 1.16 2002/11/13 17:54:35 espie Exp $ ---- configure.orig Sat Nov 9 18:44:28 2002 -+++ configure Tue Nov 12 06:02:39 2002 -@@ -3190,7 +3190,7 @@ echores "$_sgiaudio" +$OpenBSD: patch-configure,v 1.17 2002/12/22 14:19:47 espie Exp $ +--- configure.orig Sat Dec 7 00:54:02 2002 ++++ configure Sun Dec 8 21:08:07 2002 +@@ -3278,7 +3278,7 @@ echores "$_sgiaudio" echocheck "VCD support" @@ -10,7 +10,7 @@ $OpenBSD: patch-configure,v 1.16 2002/11/13 17:54:35 espie Exp $ _inputmodules="vcd $_inputmodules" _def_vcd='#define HAVE_VCD 1' echores "ok" -@@ -3740,7 +3740,7 @@ fi +@@ -3840,7 +3840,7 @@ fi echocheck "iconv" diff --git a/x11/mplayer/patches/patch-loader_stubs_S b/x11/mplayer/patches/patch-loader_stubs_S new file mode 100644 index 00000000000..e54d0bd00f4 --- /dev/null +++ b/x11/mplayer/patches/patch-loader_stubs_S @@ -0,0 +1,40 @@ +$OpenBSD: patch-loader_stubs_S,v 1.1 2002/12/22 14:19:47 espie Exp $ +--- loader/stubs.S.orig Fri Nov 15 10:22:37 2002 ++++ loader/stubs.S Fri Nov 15 10:28:46 2002 +@@ -0,0 +1,36 @@ ++#include "../mangle.h" ++ .data ++.LC0: .string "Called unk_%s\n" ++ .balign 4 ++.globl MANGLEA(unk_exp1) ++MANGLEA(unk_exp1): ++ pushl %ebp ++ movl %esp,%ebp ++ subl $4,%esp ++ movl $1,-4(%ebp) ++ movl -4(%ebp),%eax ++ movl %eax,%ecx ++ movl %ecx,%edx ++ sall $4,%edx ++ subl %eax,%edx ++ leal 0(,%edx,2),%eax ++ movl %eax,%edx ++ addl $MANGLEA(export_names),%edx ++ pushl %edx ++ pushl $.LC0 ++ call MANGLEA(printf) ++ addl $8,%esp ++ xorl %eax,%eax ++ leave ++ ret ++.globl MANGLEA(exp_EH_prolog) ++MANGLEA(exp_EH_prolog): ++ pushl $0xff ++ pushl %eax ++ pushl %fs:0 ++ movl %esp, %fs:0 ++ movl 12(%esp), %eax ++ movl %ebp, 12(%esp) ++ leal 12(%esp), %ebp ++ pushl %eax ++ ret diff --git a/x11/mplayer/patches/patch-loader_wrapper_S b/x11/mplayer/patches/patch-loader_wrapper_S new file mode 100644 index 00000000000..a93f81aaa23 --- /dev/null +++ b/x11/mplayer/patches/patch-loader_wrapper_S @@ -0,0 +1,89 @@ +$OpenBSD: patch-loader_wrapper_S,v 1.1 2002/12/22 14:19:47 espie Exp $ +--- loader/wrapper.S.orig Sun Dec 8 21:11:05 2002 ++++ loader/wrapper.S Sun Dec 8 21:11:19 2002 +@@ -1,27 +1,32 @@ ++#include "../mangle.h" ++#if !defined(__OpenBSD__) && !defined(__ELF__) + .section .data +-.globl caller_return +-caller_return: ++#endif ++.globl MANGLEA(caller_return) ++MANGLEA(caller_return): + .long 0 +-.globl report_entry +-report_entry: +- .long null_call +-.globl report_ret +-report_ret: +- .long null_call +-.global wrapper_target +-wrapper_target: +- .long null_call ++.globl MANGLEA(report_entry) ++MANGLEA(report_entry): ++ .long MANGLEA(null_call) ++.globl MANGLEA(report_ret) ++MANGLEA(report_ret): ++ .long MANGLEA(null_call) ++.global MANGLEA(wrapper_target) ++MANGLEA(wrapper_target): ++ .long MANGLEA(null_call) + ++#if !defined(__OpenBSD__) && !defined(__ELF__) + .section .text +-.globl null_call +- .type null_call, @function ++#endif ++.globl MANGLEA(null_call) ++ .type MANGLEA(null_call), @function + .balign 16,0x90 +-null_call: ++MANGLEA(null_call): + ret +-.globl wrapper +- .type wrapper, @function ++.globl MANGLEA(wrapper) ++ .type MANGLEA(wrapper), @function + .balign 16,0x90 +-wrapper: ++MANGLEA(wrapper): + pusha # store registers (EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI) + pushf # store flags + +@@ -39,7 +44,7 @@ wrapper: + push %eax + push %edx + +- call *report_entry # report entry ++ call *MANGLEA(report_entry) # report entry + + test %eax, %eax + jnz .Ldone +@@ -48,14 +53,14 @@ wrapper: + popf # restore flags + popa # restore registers + +- popl caller_return # switch return addresses ++ popl MANGLEA(caller_return) # switch return addresses + pushl $.Lwrapper_return + +- jmp *wrapper_target # wrapper_target should return at .Lwrapper_return ++ jmp *MANGLEA(wrapper_target) # wrapper_target should return at .Lwrapper_return + + .balign 16, 0x90 + .Lwrapper_return: +- pushl caller_return # restore the original return address ++ pushl MANGLEA(caller_return) # restore the original return address + pusha # more for reference sake here + pushf + +@@ -73,7 +78,7 @@ wrapper: + push %eax + push %edx + +- call *report_ret # report the return information (same args) ++ call *MANGLEA(report_ret) # report the return information (same args) + .Ldone: + + leave diff --git a/x11/mplayer/patches/patch-mangle_h b/x11/mplayer/patches/patch-mangle_h new file mode 100644 index 00000000000..7e4fbdd509b --- /dev/null +++ b/x11/mplayer/patches/patch-mangle_h @@ -0,0 +1,14 @@ +$OpenBSD: patch-mangle_h,v 1.1 2002/12/22 14:19:47 espie Exp $ +--- mangle.h.orig Sun Dec 8 21:13:38 2002 ++++ mangle.h Sun Dec 8 21:13:51 2002 +@@ -11,8 +11,10 @@ + #if defined(__CYGWIN__) || defined(__OS2__) || \ + (defined(__OpenBSD__) && !defined(__ELF__)) + #define MANGLE(a) "_" #a ++#define MANGLEA(a) _ ## a + #else + #define MANGLE(a) #a ++#define MANGLEA(a) a + #endif + + #endif /* !__MANGLE_H */ diff --git a/x11/mplayer/patches/patch-mp3lib_Makefile b/x11/mplayer/patches/patch-mp3lib_Makefile index 923daf9024b..32b1951aa83 100644 --- a/x11/mplayer/patches/patch-mp3lib_Makefile +++ b/x11/mplayer/patches/patch-mp3lib_Makefile @@ -1,6 +1,6 @@ -$OpenBSD: patch-mp3lib_Makefile,v 1.2 2002/10/14 09:50:48 pvalchev Exp $ +$OpenBSD: patch-mp3lib_Makefile,v 1.3 2002/12/22 14:19:47 espie Exp $ --- mp3lib/Makefile.orig Sun Sep 1 20:25:24 2002 -+++ mp3lib/Makefile Thu Sep 5 17:36:25 2002 ++++ mp3lib/Makefile Sun Dec 22 14:50:51 2002 @@ -38,9 +38,6 @@ libMP3.a: $(OBJS) ifeq ($(TARGET_OS),CYGWIN) ./mp3lib_objfix.sh diff --git a/x11/mplayer/patches/patch-mp3lib_dct36_3dnow_S b/x11/mplayer/patches/patch-mp3lib_dct36_3dnow_S new file mode 100644 index 00000000000..0c0d0c98e66 --- /dev/null +++ b/x11/mplayer/patches/patch-mp3lib_dct36_3dnow_S @@ -0,0 +1,505 @@ +$OpenBSD: patch-mp3lib_dct36_3dnow_S,v 1.1 2002/12/22 14:19:47 espie Exp $ +--- mp3lib/dct36_3dnow.S.orig Fri Nov 15 10:29:28 2002 ++++ mp3lib/dct36_3dnow.S Fri Nov 15 10:32:57 2002 +@@ -0,0 +1,501 @@ ++// ++// dct36_3dnow.s - 3DNow! optimized dct36() ++// ++// This code based 'dct36_3dnow.s' by Syuuhei Kashiyama ++// ,only two types of changes have been made: ++// ++// - remove PREFETCH instruction for speedup ++// - change function name for support 3DNow! automatic detect ++// ++// You can find Kashiyama's original 3dnow! support patch ++// (for mpg123-0.59o) at ++// http://user.ecc.u-tokyo.ac.jp/~g810370/linux-simd/ (Japanese). ++// ++// by KIMURA Takuhiro - until 31.Mar.1999 ++// - after 1.Apr.1999 ++// ++ ++/// ++/// Replacement of dct36() with AMD's 3DNow! SIMD operations support ++/// ++/// Syuuhei Kashiyama ++/// ++/// The author of this program disclaim whole expressed or implied ++/// warranties with regard to this program, and in no event shall the ++/// author of this program liable to whatever resulted from the use of ++/// this program. Use it at your own risk. ++/// ++ ++#include "../mangle.h" ++ ++ .globl MANGLEA(dct36_3dnow) ++ .type MANGLEA(dct36_3dnow),@function ++MANGLEA(dct36_3dnow): ++ pushl %ebp ++ movl %esp,%ebp ++ subl $120,%esp ++ pushl %esi ++ pushl %ebx ++ movl 8(%ebp),%eax ++ movl 12(%ebp),%esi ++ movl 16(%ebp),%ecx ++ movl 20(%ebp),%edx ++ movl 24(%ebp),%ebx ++ leal -128(%ebp),%esp ++ ++ femms ++ movq (%eax),%mm0 ++ movq 4(%eax),%mm1 ++ pfadd %mm1,%mm0 ++ movq %mm0,4(%eax) ++ psrlq $32,%mm1 ++ movq 12(%eax),%mm2 ++ punpckldq %mm2,%mm1 ++ pfadd %mm2,%mm1 ++ movq %mm1,12(%eax) ++ psrlq $32,%mm2 ++ movq 20(%eax),%mm3 ++ punpckldq %mm3,%mm2 ++ pfadd %mm3,%mm2 ++ movq %mm2,20(%eax) ++ psrlq $32,%mm3 ++ movq 28(%eax),%mm4 ++ punpckldq %mm4,%mm3 ++ pfadd %mm4,%mm3 ++ movq %mm3,28(%eax) ++ psrlq $32,%mm4 ++ movq 36(%eax),%mm5 ++ punpckldq %mm5,%mm4 ++ pfadd %mm5,%mm4 ++ movq %mm4,36(%eax) ++ psrlq $32,%mm5 ++ movq 44(%eax),%mm6 ++ punpckldq %mm6,%mm5 ++ pfadd %mm6,%mm5 ++ movq %mm5,44(%eax) ++ psrlq $32,%mm6 ++ movq 52(%eax),%mm7 ++ punpckldq %mm7,%mm6 ++ pfadd %mm7,%mm6 ++ movq %mm6,52(%eax) ++ psrlq $32,%mm7 ++ movq 60(%eax),%mm0 ++ punpckldq %mm0,%mm7 ++ pfadd %mm0,%mm7 ++ movq %mm7,60(%eax) ++ psrlq $32,%mm0 ++ movd 68(%eax),%mm1 ++ pfadd %mm1,%mm0 ++ movd %mm0,68(%eax) ++ movd 4(%eax),%mm0 ++ movd 12(%eax),%mm1 ++ punpckldq %mm1,%mm0 ++ punpckldq 20(%eax),%mm1 ++ pfadd %mm1,%mm0 ++ movd %mm0,12(%eax) ++ psrlq $32,%mm0 ++ movd %mm0,20(%eax) ++ psrlq $32,%mm1 ++ movd 28(%eax),%mm2 ++ punpckldq %mm2,%mm1 ++ punpckldq 36(%eax),%mm2 ++ pfadd %mm2,%mm1 ++ movd %mm1,28(%eax) ++ psrlq $32,%mm1 ++ movd %mm1,36(%eax) ++ psrlq $32,%mm2 ++ movd 44(%eax),%mm3 ++ punpckldq %mm3,%mm2 ++ punpckldq 52(%eax),%mm3 ++ pfadd %mm3,%mm2 ++ movd %mm2,44(%eax) ++ psrlq $32,%mm2 ++ movd %mm2,52(%eax) ++ psrlq $32,%mm3 ++ movd 60(%eax),%mm4 ++ punpckldq %mm4,%mm3 ++ punpckldq 68(%eax),%mm4 ++ pfadd %mm4,%mm3 ++ movd %mm3,60(%eax) ++ psrlq $32,%mm3 ++ movd %mm3,68(%eax) ++ ++ movq 24(%eax),%mm0 ++ movq 48(%eax),%mm1 ++ movd MANGLEA(COS9)+12,%mm2 ++ punpckldq %mm2,%mm2 ++ movd MANGLEA(COS9)+24,%mm3 ++ punpckldq %mm3,%mm3 ++ pfmul %mm2,%mm0 ++ pfmul %mm3,%mm1 ++ pushl %eax ++ movl $1,%eax ++ movd %eax,%mm7 ++ pi2fd %mm7,%mm7 ++ popl %eax ++ movq 8(%eax),%mm2 ++ movd MANGLEA(COS9)+4,%mm3 ++ punpckldq %mm3,%mm3 ++ pfmul %mm3,%mm2 ++ pfadd %mm0,%mm2 ++ movq 40(%eax),%mm3 ++ movd MANGLEA(COS9)+20,%mm4 ++ punpckldq %mm4,%mm4 ++ pfmul %mm4,%mm3 ++ pfadd %mm3,%mm2 ++ movq 56(%eax),%mm3 ++ movd MANGLEA(COS9)+28,%mm4 ++ punpckldq %mm4,%mm4 ++ pfmul %mm4,%mm3 ++ pfadd %mm3,%mm2 ++ movq (%eax),%mm3 ++ movq 16(%eax),%mm4 ++ movd MANGLEA(COS9)+8,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfadd %mm4,%mm3 ++ movq 32(%eax),%mm4 ++ movd MANGLEA(COS9)+16,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfadd %mm4,%mm3 ++ pfadd %mm1,%mm3 ++ movq 64(%eax),%mm4 ++ movd MANGLEA(COS9)+32,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfadd %mm4,%mm3 ++ movq %mm2,%mm4 ++ pfadd %mm3,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+0,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 108(%edx),%mm6 ++ punpckldq 104(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,36(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,32(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 32(%edx),%mm6 ++ punpckldq 36(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 32(%esi),%mm6 ++ punpckldq 36(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,1024(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,1152(%ebx) ++ movq %mm3,%mm4 ++ pfsub %mm2,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+32,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 140(%edx),%mm6 ++ punpckldq 72(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,68(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,0(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 0(%edx),%mm6 ++ punpckldq 68(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 0(%esi),%mm6 ++ punpckldq 68(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,0(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,2176(%ebx) ++ movq 8(%eax),%mm2 ++ movq 40(%eax),%mm3 ++ pfsub %mm3,%mm2 ++ movq 56(%eax),%mm3 ++ pfsub %mm3,%mm2 ++ movd MANGLEA(COS9)+12,%mm3 ++ punpckldq %mm3,%mm3 ++ pfmul %mm3,%mm2 ++ movq 16(%eax),%mm3 ++ movq 32(%eax),%mm4 ++ pfsub %mm4,%mm3 ++ movq 64(%eax),%mm4 ++ pfsub %mm4,%mm3 ++ movd MANGLEA(COS9)+24,%mm4 ++ punpckldq %mm4,%mm4 ++ pfmul %mm4,%mm3 ++ movq 48(%eax),%mm4 ++ pfsub %mm4,%mm3 ++ movq (%eax),%mm4 ++ pfadd %mm4,%mm3 ++ movq %mm2,%mm4 ++ pfadd %mm3,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+4,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 112(%edx),%mm6 ++ punpckldq 100(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,40(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,28(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 28(%edx),%mm6 ++ punpckldq 40(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 28(%esi),%mm6 ++ punpckldq 40(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,896(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,1280(%ebx) ++ movq %mm3,%mm4 ++ pfsub %mm2,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+28,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 136(%edx),%mm6 ++ punpckldq 76(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,64(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,4(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 4(%edx),%mm6 ++ punpckldq 64(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 4(%esi),%mm6 ++ punpckldq 64(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,128(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,2048(%ebx) ++ ++ movq 8(%eax),%mm2 ++ movd MANGLEA(COS9)+20,%mm3 ++ punpckldq %mm3,%mm3 ++ pfmul %mm3,%mm2 ++ pfsub %mm0,%mm2 ++ movq 40(%eax),%mm3 ++ movd MANGLEA(COS9)+28,%mm4 ++ punpckldq %mm4,%mm4 ++ pfmul %mm4,%mm3 ++ pfsub %mm3,%mm2 ++ movq 56(%eax),%mm3 ++ movd MANGLEA(COS9)+4,%mm4 ++ punpckldq %mm4,%mm4 ++ pfmul %mm4,%mm3 ++ pfadd %mm3,%mm2 ++ movq (%eax),%mm3 ++ movq 16(%eax),%mm4 ++ movd MANGLEA(COS9)+32,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfsub %mm4,%mm3 ++ movq 32(%eax),%mm4 ++ movd MANGLEA(COS9)+8,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfsub %mm4,%mm3 ++ pfadd %mm1,%mm3 ++ movq 64(%eax),%mm4 ++ movd MANGLEA(COS9)+16,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfadd %mm4,%mm3 ++ movq %mm2,%mm4 ++ pfadd %mm3,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+8,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 116(%edx),%mm6 ++ punpckldq 96(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,44(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,24(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 24(%edx),%mm6 ++ punpckldq 44(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 24(%esi),%mm6 ++ punpckldq 44(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,768(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,1408(%ebx) ++ movq %mm3,%mm4 ++ pfsub %mm2,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+24,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 132(%edx),%mm6 ++ punpckldq 80(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,60(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,8(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 8(%edx),%mm6 ++ punpckldq 60(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 8(%esi),%mm6 ++ punpckldq 60(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,256(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,1920(%ebx) ++ movq 8(%eax),%mm2 ++ movd MANGLEA(COS9)+28,%mm3 ++ punpckldq %mm3,%mm3 ++ pfmul %mm3,%mm2 ++ pfsub %mm0,%mm2 ++ movq 40(%eax),%mm3 ++ movd MANGLEA(COS9)+4,%mm4 ++ punpckldq %mm4,%mm4 ++ pfmul %mm4,%mm3 ++ pfadd %mm3,%mm2 ++ movq 56(%eax),%mm3 ++ movd MANGLEA(COS9)+20,%mm4 ++ punpckldq %mm4,%mm4 ++ pfmul %mm4,%mm3 ++ pfsub %mm3,%mm2 ++ movq (%eax),%mm3 ++ movq 16(%eax),%mm4 ++ movd MANGLEA(COS9)+16,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfsub %mm4,%mm3 ++ movq 32(%eax),%mm4 ++ movd MANGLEA(COS9)+32,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfadd %mm4,%mm3 ++ pfadd %mm1,%mm3 ++ movq 64(%eax),%mm4 ++ movd MANGLEA(COS9)+8,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfsub %mm4,%mm3 ++ movq %mm2,%mm4 ++ pfadd %mm3,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+12,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 120(%edx),%mm6 ++ punpckldq 92(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,48(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,20(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 20(%edx),%mm6 ++ punpckldq 48(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 20(%esi),%mm6 ++ punpckldq 48(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,640(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,1536(%ebx) ++ movq %mm3,%mm4 ++ pfsub %mm2,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+20,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 128(%edx),%mm6 ++ punpckldq 84(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,56(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,12(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 12(%edx),%mm6 ++ punpckldq 56(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 12(%esi),%mm6 ++ punpckldq 56(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,384(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,1792(%ebx) ++ ++ movq (%eax),%mm4 ++ movq 16(%eax),%mm3 ++ pfsub %mm3,%mm4 ++ movq 32(%eax),%mm3 ++ pfadd %mm3,%mm4 ++ movq 48(%eax),%mm3 ++ pfsub %mm3,%mm4 ++ movq 64(%eax),%mm3 ++ pfadd %mm3,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+16,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 124(%edx),%mm6 ++ punpckldq 88(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,52(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,16(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 16(%edx),%mm6 ++ punpckldq 52(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 16(%esi),%mm6 ++ punpckldq 52(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,512(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,1664(%ebx) ++ ++ femms ++ popl %ebx ++ popl %esi ++ movl %ebp,%esp ++ popl %ebp ++ ret diff --git a/x11/mplayer/patches/patch-mp3lib_dct36_k7_S b/x11/mplayer/patches/patch-mp3lib_dct36_k7_S new file mode 100644 index 00000000000..47457cc8e02 --- /dev/null +++ b/x11/mplayer/patches/patch-mp3lib_dct36_k7_S @@ -0,0 +1,515 @@ +$OpenBSD: patch-mp3lib_dct36_k7_S,v 1.1 2002/12/22 14:19:47 espie Exp $ +--- mp3lib/dct36_k7.S.orig Fri Nov 15 10:33:37 2002 ++++ mp3lib/dct36_k7.S Fri Nov 15 10:48:20 2002 +@@ -0,0 +1,511 @@ ++/// ++/// Replacement of dct36() with AMD's 3DNowEx(DSP)! SIMD operations support ++/// ++/// This code based 'dct36_3dnow.s' by Syuuhei Kashiyama ++/// ,only some types of changes have been made: ++/// ++/// - added new opcode PSWAPD ++/// - change function name for support 3DNowEx! automatic detect ++/// ++/// note: because K7 processors are an aggresive out-of-order three-way ++/// superscalar ones instruction order is not significand for them. ++/// ++/// Modified by Nick Kurshev ++/// ++// ++// dct36_3dnow.s - 3DNow! optimized dct36() ++// ++// This code based 'dct36_3dnow.s' by Syuuhei Kashiyama ++// ,only two types of changes have been made: ++// ++// - remove PREFETCH instruction for speedup ++// - change function name for support 3DNow! automatic detect ++// ++// You can find Kashiyama's original 3dnow! support patch ++// (for mpg123-0.59o) at ++// http://user.ecc.u-tokyo.ac.jp/~g810370/linux-simd/ (Japanese). ++// ++// by KIMURA Takuhiro - until 31.Mar.1999 ++// - after 1.Apr.1999 ++// ++ ++/// ++/// Replacement of dct36() with AMD's 3DNow! SIMD operations support ++/// ++/// Syuuhei Kashiyama ++/// ++/// The author of this program disclaim whole expressed or implied ++/// warranties with regard to this program, and in no event shall the ++/// author of this program liable to whatever resulted from the use of ++/// this program. Use it at your own risk. ++/// ++#include "../mangle.h" ++ .globl MANGLEA(dct36_3dnowex) ++ .type MANGLEA(dct36_3dnowex),@function ++MANGLEA(dct36_3dnowex): ++ pushl %ebp ++ movl %esp,%ebp ++ subl $120,%esp ++ pushl %esi ++ pushl %ebx ++ movl 8(%ebp),%eax ++ movl 12(%ebp),%esi ++ movl 16(%ebp),%ecx ++ movl 20(%ebp),%edx ++ movl 24(%ebp),%ebx ++ leal -128(%ebp),%esp ++ ++ femms ++ movq (%eax),%mm0 ++ movq 4(%eax),%mm1 ++ pfadd %mm1,%mm0 ++ movq %mm0,4(%eax) ++ psrlq $32,%mm1 ++ movq 12(%eax),%mm2 ++ punpckldq %mm2,%mm1 ++ pfadd %mm2,%mm1 ++ movq %mm1,12(%eax) ++ psrlq $32,%mm2 ++ movq 20(%eax),%mm3 ++ punpckldq %mm3,%mm2 ++ pfadd %mm3,%mm2 ++ movq %mm2,20(%eax) ++ psrlq $32,%mm3 ++ movq 28(%eax),%mm4 ++ punpckldq %mm4,%mm3 ++ pfadd %mm4,%mm3 ++ movq %mm3,28(%eax) ++ psrlq $32,%mm4 ++ movq 36(%eax),%mm5 ++ punpckldq %mm5,%mm4 ++ pfadd %mm5,%mm4 ++ movq %mm4,36(%eax) ++ psrlq $32,%mm5 ++ movq 44(%eax),%mm6 ++ punpckldq %mm6,%mm5 ++ pfadd %mm6,%mm5 ++ movq %mm5,44(%eax) ++ psrlq $32,%mm6 ++ movq 52(%eax),%mm7 ++ punpckldq %mm7,%mm6 ++ pfadd %mm7,%mm6 ++ movq %mm6,52(%eax) ++ psrlq $32,%mm7 ++ movq 60(%eax),%mm0 ++ punpckldq %mm0,%mm7 ++ pfadd %mm0,%mm7 ++ movq %mm7,60(%eax) ++ psrlq $32,%mm0 ++ movd 68(%eax),%mm1 ++ pfadd %mm1,%mm0 ++ movd %mm0,68(%eax) ++ movd 4(%eax),%mm0 ++ movd 12(%eax),%mm1 ++ punpckldq %mm1,%mm0 ++ punpckldq 20(%eax),%mm1 ++ pfadd %mm1,%mm0 ++ movd %mm0,12(%eax) ++ psrlq $32,%mm0 ++ movd %mm0,20(%eax) ++ psrlq $32,%mm1 ++ movd 28(%eax),%mm2 ++ punpckldq %mm2,%mm1 ++ punpckldq 36(%eax),%mm2 ++ pfadd %mm2,%mm1 ++ movd %mm1,28(%eax) ++ psrlq $32,%mm1 ++ movd %mm1,36(%eax) ++ psrlq $32,%mm2 ++ movd 44(%eax),%mm3 ++ punpckldq %mm3,%mm2 ++ punpckldq 52(%eax),%mm3 ++ pfadd %mm3,%mm2 ++ movd %mm2,44(%eax) ++ psrlq $32,%mm2 ++ movd %mm2,52(%eax) ++ psrlq $32,%mm3 ++ movd 60(%eax),%mm4 ++ punpckldq %mm4,%mm3 ++ punpckldq 68(%eax),%mm4 ++ pfadd %mm4,%mm3 ++ movd %mm3,60(%eax) ++ psrlq $32,%mm3 ++ movd %mm3,68(%eax) ++ movq 24(%eax),%mm0 ++ movq 48(%eax),%mm1 ++ movd MANGLEA(COS9)+12,%mm2 ++ punpckldq %mm2,%mm2 ++ movd MANGLEA(COS9)+24,%mm3 ++ punpckldq %mm3,%mm3 ++ pfmul %mm2,%mm0 ++ pfmul %mm3,%mm1 ++ pushl %eax ++ movl $1,%eax ++ movd %eax,%mm7 ++ pi2fd %mm7,%mm7 ++ popl %eax ++ movq 8(%eax),%mm2 ++ movd MANGLEA(COS9)+4,%mm3 ++ punpckldq %mm3,%mm3 ++ pfmul %mm3,%mm2 ++ pfadd %mm0,%mm2 ++ movq 40(%eax),%mm3 ++ movd MANGLEA(COS9)+20,%mm4 ++ punpckldq %mm4,%mm4 ++ pfmul %mm4,%mm3 ++ pfadd %mm3,%mm2 ++ movq 56(%eax),%mm3 ++ movd MANGLEA(COS9)+28,%mm4 ++ punpckldq %mm4,%mm4 ++ pfmul %mm4,%mm3 ++ pfadd %mm3,%mm2 ++ movq (%eax),%mm3 ++ movq 16(%eax),%mm4 ++ movd MANGLEA(COS9)+8,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfadd %mm4,%mm3 ++ movq 32(%eax),%mm4 ++ movd MANGLEA(COS9)+16,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfadd %mm4,%mm3 ++ pfadd %mm1,%mm3 ++ movq 64(%eax),%mm4 ++ movd MANGLEA(COS9)+32,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfadd %mm4,%mm3 ++ movq %mm2,%mm4 ++ pfadd %mm3,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+0,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 108(%edx),%mm6 ++ punpckldq 104(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ pswapd %mm5, %mm5 ++ movq %mm5, 32(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 32(%edx),%mm6 ++ punpckldq 36(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 32(%esi),%mm6 ++ punpckldq 36(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,1024(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,1152(%ebx) ++ movq %mm3,%mm4 ++ pfsub %mm2,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+32,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 140(%edx),%mm6 ++ punpckldq 72(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,68(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,0(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 0(%edx),%mm6 ++ punpckldq 68(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 0(%esi),%mm6 ++ punpckldq 68(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,0(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,2176(%ebx) ++ movq 8(%eax),%mm2 ++ movq 40(%eax),%mm3 ++ pfsub %mm3,%mm2 ++ movq 56(%eax),%mm3 ++ pfsub %mm3,%mm2 ++ movd MANGLEA(COS9)+12,%mm3 ++ punpckldq %mm3,%mm3 ++ pfmul %mm3,%mm2 ++ movq 16(%eax),%mm3 ++ movq 32(%eax),%mm4 ++ pfsub %mm4,%mm3 ++ movq 64(%eax),%mm4 ++ pfsub %mm4,%mm3 ++ movd MANGLEA(COS9)+24,%mm4 ++ punpckldq %mm4,%mm4 ++ pfmul %mm4,%mm3 ++ movq 48(%eax),%mm4 ++ pfsub %mm4,%mm3 ++ movq (%eax),%mm4 ++ pfadd %mm4,%mm3 ++ movq %mm2,%mm4 ++ pfadd %mm3,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+4,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 112(%edx),%mm6 ++ punpckldq 100(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,40(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,28(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 28(%edx),%mm6 ++ punpckldq 40(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 28(%esi),%mm6 ++ punpckldq 40(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,896(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,1280(%ebx) ++ movq %mm3,%mm4 ++ pfsub %mm2,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+28,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 136(%edx),%mm6 ++ punpckldq 76(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,64(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,4(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 4(%edx),%mm6 ++ punpckldq 64(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 4(%esi),%mm6 ++ punpckldq 64(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,128(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,2048(%ebx) ++ ++ movq 8(%eax),%mm2 ++ movd MANGLEA(COS9)+20,%mm3 ++ punpckldq %mm3,%mm3 ++ pfmul %mm3,%mm2 ++ pfsub %mm0,%mm2 ++ movq 40(%eax),%mm3 ++ movd MANGLEA(COS9)+28,%mm4 ++ punpckldq %mm4,%mm4 ++ pfmul %mm4,%mm3 ++ pfsub %mm3,%mm2 ++ movq 56(%eax),%mm3 ++ movd MANGLEA(COS9)+4,%mm4 ++ punpckldq %mm4,%mm4 ++ pfmul %mm4,%mm3 ++ pfadd %mm3,%mm2 ++ movq (%eax),%mm3 ++ movq 16(%eax),%mm4 ++ movd MANGLEA(COS9)+32,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfsub %mm4,%mm3 ++ movq 32(%eax),%mm4 ++ movd MANGLEA(COS9)+8,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfsub %mm4,%mm3 ++ pfadd %mm1,%mm3 ++ movq 64(%eax),%mm4 ++ movd MANGLEA(COS9)+16,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfadd %mm4,%mm3 ++ movq %mm2,%mm4 ++ pfadd %mm3,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+8,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 116(%edx),%mm6 ++ punpckldq 96(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,44(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,24(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 24(%edx),%mm6 ++ punpckldq 44(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 24(%esi),%mm6 ++ punpckldq 44(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,768(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,1408(%ebx) ++ movq %mm3,%mm4 ++ pfsub %mm2,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+24,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 132(%edx),%mm6 ++ punpckldq 80(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,60(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,8(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 8(%edx),%mm6 ++ punpckldq 60(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 8(%esi),%mm6 ++ punpckldq 60(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,256(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,1920(%ebx) ++ movq 8(%eax),%mm2 ++ movd MANGLEA(COS9)+28,%mm3 ++ punpckldq %mm3,%mm3 ++ pfmul %mm3,%mm2 ++ pfsub %mm0,%mm2 ++ movq 40(%eax),%mm3 ++ movd MANGLEA(COS9)+4,%mm4 ++ punpckldq %mm4,%mm4 ++ pfmul %mm4,%mm3 ++ pfadd %mm3,%mm2 ++ movq 56(%eax),%mm3 ++ movd MANGLEA(COS9)+20,%mm4 ++ punpckldq %mm4,%mm4 ++ pfmul %mm4,%mm3 ++ pfsub %mm3,%mm2 ++ movq (%eax),%mm3 ++ movq 16(%eax),%mm4 ++ movd MANGLEA(COS9)+16,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfsub %mm4,%mm3 ++ movq 32(%eax),%mm4 ++ movd MANGLEA(COS9)+32,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfadd %mm4,%mm3 ++ pfadd %mm1,%mm3 ++ movq 64(%eax),%mm4 ++ movd MANGLEA(COS9)+8,%mm5 ++ punpckldq %mm5,%mm5 ++ pfmul %mm5,%mm4 ++ pfsub %mm4,%mm3 ++ movq %mm2,%mm4 ++ pfadd %mm3,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+12,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 120(%edx),%mm6 ++ punpckldq 92(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,48(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,20(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 20(%edx),%mm6 ++ punpckldq 48(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 20(%esi),%mm6 ++ punpckldq 48(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,640(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,1536(%ebx) ++ movq %mm3,%mm4 ++ pfsub %mm2,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+20,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 128(%edx),%mm6 ++ punpckldq 84(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,56(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,12(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 12(%edx),%mm6 ++ punpckldq 56(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 12(%esi),%mm6 ++ punpckldq 56(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,384(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,1792(%ebx) ++ ++ movq (%eax),%mm4 ++ movq 16(%eax),%mm3 ++ pfsub %mm3,%mm4 ++ movq 32(%eax),%mm3 ++ pfadd %mm3,%mm4 ++ movq 48(%eax),%mm3 ++ pfsub %mm3,%mm4 ++ movq 64(%eax),%mm3 ++ pfadd %mm3,%mm4 ++ movq %mm7,%mm5 ++ punpckldq MANGLEA(tfcos36)+16,%mm5 ++ pfmul %mm5,%mm4 ++ movq %mm4,%mm5 ++ pfacc %mm5,%mm5 ++ movd 124(%edx),%mm6 ++ punpckldq 88(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd %mm5,52(%ecx) ++ psrlq $32,%mm5 ++ movd %mm5,16(%ecx) ++ movq %mm4,%mm6 ++ punpckldq %mm6,%mm5 ++ pfsub %mm6,%mm5 ++ punpckhdq %mm5,%mm5 ++ movd 16(%edx),%mm6 ++ punpckldq 52(%edx),%mm6 ++ pfmul %mm6,%mm5 ++ movd 16(%esi),%mm6 ++ punpckldq 52(%esi),%mm6 ++ pfadd %mm6,%mm5 ++ movd %mm5,512(%ebx) ++ psrlq $32,%mm5 ++ movd %mm5,1664(%ebx) ++ ++ femms ++ popl %ebx ++ popl %esi ++ movl %ebp,%esp ++ popl %ebp ++ ret diff --git a/x11/mplayer/patches/patch-mp3lib_dct64_MMX_c b/x11/mplayer/patches/patch-mp3lib_dct64_MMX_c new file mode 100644 index 00000000000..d62d9d00b55 --- /dev/null +++ b/x11/mplayer/patches/patch-mp3lib_dct64_MMX_c @@ -0,0 +1,21 @@ +$OpenBSD: patch-mp3lib_dct64_MMX_c,v 1.1 2002/12/22 14:19:47 espie Exp $ +--- mp3lib/dct64_MMX.c.orig Fri May 24 03:56:01 2002 ++++ mp3lib/dct64_MMX.c Sun Dec 22 14:50:34 2002 +@@ -843,10 +843,6 @@ void __attribute__ (( __stdcall__ )) dct + " fsts 960(%%edi)\n\t" + " fadds 92(%%edx)\n\t" + " fstps 832(%%edi)\n\t" +-" addl $256,%%esp\n\t" +-" popl %%edi\n\t" +-" popl %%esi\n\t" +-" popl %%ebx\n\t" + " jmp .L_bye\n\t" + ".L01:\n\t" + /* Phase 8*/ +@@ -985,5 +981,5 @@ void __attribute__ (( __stdcall__ )) dct + ".L_bye:" + : + :"m"(a),"m"(b),"m"(c),"m"(tmp[0]) +- :"memory","%ebx","%esi","%edi"); ++ :"memory","%eax","%ebx","%ecx","%edx","%esi","%edi"); + }