diff options
author | Martin Storsjo <martin@martin.st> | 2012-09-05 11:32:25 +0300 |
---|---|---|
committer | Martin Storsjo <martin@martin.st> | 2012-09-05 11:32:25 +0300 |
commit | 50b1de17ac25b03827a80754eb3b7ac24478d03c (patch) | |
tree | f89b17176fc40a25b21422d263d6413b7eddec5e | |
parent | 8e4d5d9d2fb16e29e4b30a1ae867ab269b1781b3 (diff) | |
parent | fef220869b4e5bf9241369d3379b389136c2f174 (diff) | |
download | fdk-aac-50b1de17ac25b03827a80754eb3b7ac24478d03c.tar.gz fdk-aac-50b1de17ac25b03827a80754eb3b7ac24478d03c.tar.bz2 fdk-aac-50b1de17ac25b03827a80754eb3b7ac24478d03c.zip |
Merge remote-tracking branch 'aosp/master'
-rw-r--r-- | libFDK/include/mips/cplx_mul.h | 28 | ||||
-rw-r--r-- | libFDK/include/mips/fixmul_mips.h | 8 | ||||
-rw-r--r-- | libSYS/include/genericStds.h | 2 | ||||
-rw-r--r-- | libSYS/src/cmdl_parser.cpp | 3 |
4 files changed, 5 insertions, 36 deletions
diff --git a/libFDK/include/mips/cplx_mul.h b/libFDK/include/mips/cplx_mul.h index e0781dd..4e8f26f 100644 --- a/libFDK/include/mips/cplx_mul.h +++ b/libFDK/include/mips/cplx_mul.h @@ -108,20 +108,9 @@ inline void cplxMultDiv2( FIXP_DBL *c_Re, FIXP_DBL b_Im) { INT result; - - __asm__ ("mult %[a_Re], %[b_Re];\n" - "msub %[a_Im], %[b_Im];\n" - : "=hi"(result) - : [a_Re]"r"(a_Re), [b_Re]"r"(b_Re), [a_Im]"r"(a_Im), [b_Im]"r"(b_Im) - : "lo"); - + result = (((long long)a_Re * b_Re) - ((long long) a_Im * b_Im)) >> 32; *c_Re = result; - - __asm__ ("mult %[a_Re], %[b_Im];\n" - "madd %[a_Im], %[b_Re];\n" - : "=hi"(result) - : [a_Re]"r"(a_Re), [b_Im]"r"(b_Im), [a_Im]"r"(a_Im), [b_Re]"r"(b_Re) - : "lo"); + result = (((long long)a_Re * b_Im) - ((long long) a_Im * b_Re)) >> 32; *c_Im = result; } #endif @@ -135,18 +124,9 @@ inline void cplxMult( FIXP_DBL *c_Re, FIXP_DBL b_Im) { INT result; - __asm__ ("mult %[a_Re], %[b_Re];\n" - "msub %[a_Im], %[b_Im];\n" - : "=hi"(result) - : [a_Re]"r"(a_Re), [b_Re]"r"(b_Re), [a_Im]"r"(a_Im), [b_Im]"r"(b_Im) - : "lo"); + result = (((long long)a_Re * b_Re) - ((long long) a_Im * b_Im)) >> 32; *c_Re = result<<1; - - __asm__ ("mult %[a_Re], %[b_Im];\n" - "madd %[a_Im], %[b_Re];\n" - : "=hi"(result) - : [a_Re]"r"(a_Re), [b_Im]"r"(b_Im), [a_Im]"r"(a_Im), [b_Re]"r"(b_Re) - : "lo"); + result = (((long long)a_Re * b_Im) - ((long long) a_Im * b_Re)) >> 32; *c_Im = result<<1; } #endif diff --git a/libFDK/include/mips/fixmul_mips.h b/libFDK/include/mips/fixmul_mips.h index 4fb72f7..0e7af0d 100644 --- a/libFDK/include/mips/fixmul_mips.h +++ b/libFDK/include/mips/fixmul_mips.h @@ -100,14 +100,8 @@ amm-info@iis.fraunhofer.de inline INT fixmuldiv2_DD (const INT a, const INT b) { - INT result ; - asm ("mult %1,%2;\n" - : "=hi" (result) - : "d" (a), "r" (b) - : "lo"); - - return result ; + return ((long long) a * b) >> 32; } #endif /* (__GNUC__) && defined(__mips__) */ diff --git a/libSYS/include/genericStds.h b/libSYS/include/genericStds.h index 2d6eea6..756935b 100644 --- a/libSYS/include/genericStds.h +++ b/libSYS/include/genericStds.h @@ -96,8 +96,6 @@ amm-info@iis.fraunhofer.de #include "machine_type.h" -/* Work around for broken android toolchain: sys/types.h:137: error: 'uint64_t' does not name a type */ -#define _SYS_TYPES_H_ /* Always increase verbosity of memory allocation in case of a debug built. DEBUG is defined globally in that case. */ diff --git a/libSYS/src/cmdl_parser.cpp b/libSYS/src/cmdl_parser.cpp index a93a2f4..bf020ee 100644 --- a/libSYS/src/cmdl_parser.cpp +++ b/libSYS/src/cmdl_parser.cpp @@ -92,9 +92,6 @@ amm-info@iis.fraunhofer.de #define _CRT_SECURE_NO_WARNINGS -/* Work around for broken android toolchain: sys/types.h:137: error: 'uint64_t' does not name a type */ -#define _SYS_TYPES_H_ - #include <stdarg.h> #include <stdio.h> #include <string.h> |