Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37427528
en ru br
Репозитории ALT
S:0.15.1b-alt9
5.1: 0.15.1b-alt4
4.1: 0.15.1b-alt3
4.0: 0.15.1b-alt3
3.0: 0.15.1b-alt2
www.altlinux.org/Changes

Группа :: Звук
Пакет: libmad

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: libmad-0.15.1b-speedup.patch
Скачать


diff -ur libmad-0.15.1b.orig/fixed.h libmad-0.15.1b/fixed.h
--- libmad-0.15.1b.orig/fixed.h	2004-02-17 05:02:03 +0300
+++ libmad-0.15.1b/fixed.h	2004-02-18 22:30:37 +0300
@@ -202,9 +202,11 @@
 	    : "0" (lo), "1" (hi),  \
 	      "ir" (1L << (MAD_F_SCALEBITS - 1)), "ir" (0)  \
 	    : "cc");  \
-       asm ("shrdl %3,%2,%1"  \
+       asm ("shrl %3,%1\n\t"  \
+	    "shll %4,%2\n\t"  \
+	    "orl %2,%1\n\t"  \
 	    : "=rm" (__result)  \
-	    : "0" (__lo_), "r" (__hi_), "I" (MAD_F_SCALEBITS)  \
+	    : "0" (__lo_), "r" (__hi_), "I" (MAD_F_SCALEBITS), "I" (32-MAD_F_SCALEBITS) \
 	    : "cc");  \
        __result;  \
     })
@@ -226,9 +228,11 @@
 #   else
 #    define mad_f_scale64(hi, lo)  \
     ({ mad_fixed_t __result;  \
-       asm ("shrdl %3,%2,%1"  \
+       asm ("shrl %3,%1\n\t"  \
+	    "shll %4,%2\n\t"  \
+	    "orl %2,%1\n\t"  \
 	    : "=rm" (__result)  \
-	    : "0" (lo), "r" (hi), "I" (MAD_F_SCALEBITS)  \
+	    : "0" (lo), "r" (hi), "I" (MAD_F_SCALEBITS), "I" (32-MAD_F_SCALEBITS) \
 	    : "cc");  \
        __result;  \
     })
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin