Displaying 6 results from an estimated 6 matches for "silk_smulwt".
Did you mean:
silk_smulww
2015 Nov 16
0
[Fast Int64 4/4] Add OPUS_FAST_INT64 definition of silk_SMULWT.
...lk/macros.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/silk/macros.h b/silk/macros.h
index e1e05b9..7cefedc 100644
--- a/silk/macros.h
+++ b/silk/macros.h
@@ -61,7 +61,11 @@ POSSIBILITY OF SUCH DAMAGE.
#endif
/* (a32 * (b32 >> 16)) >> 16 */
+#if OPUS_FAST_INT64
+#define silk_SMULWT(a32, b32) ((opus_int32)(((a32) * (opus_int64)((b32) >> 16)) >> 16))
+#else
#define silk_SMULWT(a32, b32) (((a32) >> 16) * ((b32) >> 16) + ((((a32) & 0x0000FFFF) * ((b32) >> 16)) >> 16))
+#endif
/* a32 + (b32 * (c32 >> 16)) >...
2015 Nov 16
3
[Fast Int64 1/4] Move OPUS_FAST_INT64 definition to celt/arch.h.
---
celt/arch.h | 5 +++++
silk/macros.h | 4 +---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/celt/arch.h b/celt/arch.h
index 9f74ddd..670527b 100644
--- a/celt/arch.h
+++ b/celt/arch.h
@@ -78,6 +78,11 @@ static OPUS_INLINE void _celt_fatal(const char *str, const char *file, int line)
#define UADD32(a,b) ((a)+(b))
#define USUB32(a,b) ((a)-(b))
+/* Set this if opus_int64
2015 Aug 04
0
[PATCH] Create OPUS_FAST_INT64 macro, to abstract conditions where opus_int64 should be used.
...) * (opus_int64)((opus_int16)(c32))) >> 16))
#else
#define silk_SMLAWB(a32, b32, c32) ((a32) + ((((b32) >> 16) * (opus_int32)((opus_int16)(c32))) + ((((b32) & 0x0000FFFF) * (opus_int32)((opus_int16)(c32))) >> 16)))
@@ -63,7 +66,7 @@ POSSIBILITY OF SUCH DAMAGE.
#define silk_SMULWT(a32, b32) (((a32) >> 16) * ((b32) >> 16) + ((((a32) & 0x0000FFFF) * ((b32) >> 16)) >> 16))
/* a32 + (b32 * (c32 >> 16)) >> 16 */
-#if defined(__x86_64__) || defined(__LP64__) || defined(_WIN64)
+#if OPUS_FAST_INT64
#define silk_SMLAWT(a32, b32,...
2015 Nov 21
8
[Aarch64 v2 10/18] Clean up some intrinsics-related wording in configure.
---
configure.ac | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index f52d2c2..e1a6e9b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -190,7 +190,7 @@ AC_ARG_ENABLE([rtcd],
[enable_rtcd=yes])
AC_ARG_ENABLE([intrinsics],
- [AS_HELP_STRING([--disable-intrinsics], [Disable intrinsics optimizations for ARM(float) X86(fixed)])],,
+
2013 May 17
1
[Patch]01-Add ARM5E macros
...a, opus_int32 b, opus_int16 c)
+{
+ int res;
+ __asm__(
+ "smlawb %0, %1, %2, %3;\n"
+ : "=&r"(res)
+ : "r"(b), "r"(c), "r"(a)
+ );
+ return res;
+}
+
+/* (a32 * (b32 >> 16)) >> 16 */
+static inline opus_int32 silk_SMULWT(opus_int32 a, opus_int32 b)
+{
+ int res;
+ __asm__(
+ "smulwt %0, %1, %2;\n"
+ : "=&r"(res)
+ : "r"(a), "r"(b)
+ );
+ return res;
+}
+
+/* a32 + (b32 * (c32 >> 16)) >> 16 */
+static inline opus_int32 silk_SMLAWT(opus_in...
2015 Nov 21
12
[Aarch64 v2 00/18] Patches to enable Aarch64 (version 2)
...s by default.
Clean up some intrinsics-related wording in configure.
Move OPUS_FAST_INT64 definition to celt/arch.h.
Add OPUS_FAST_INT64 flavors of celt/fixed_generic.h macros.
Explicitly cast results of silk OPUS_FAST_INT64 macros back to
opus_int32.
Add OPUS_FAST_INT64 definition of silk_SMULWT.
Clean up formatting of configure output for ARM intrinsics detection.
Add configure check for Aarch64-specific Neon intrinsics.
Add Aarch64 intrinsics for saturated add/subtract.
Add Aarch64 intrinsic for SIG2WORD16.
Makefile.am | 9 +--
celt/arch.h...