shithub: opus

Download patch

ref: 12331447f69135e90ad98f7ece1ac64cb1e8f232
parent: 39ee8a79d62c0a6e1438e5adf50be02ac50241cc
author: Siarhei Volkau <lis8215@gmail.com>
date: Sun Aug 17 13:12:41 EDT 2025

MIPS: enable OPUS_FAST_INT64 for any MIPS

While 32-bit MIPS doesn't fit for rules described for OPUS_FAST_INT64
enabling, it has fast 32x32 multiplication with full 64-bit result.

That's enough to enable OPUS_FAST_INT64 for any MIPS since
OPUS_FAST_INT64 guards various multiplication implementation.
Maybe it's worth to get it more precise name? e.g. OPUS_FAST_MULT.

GCC macro __mips covers both 32- and 64-bit MIPS.

Signed-off-by: Siarhei Volkau <lis8215@gmail.com>
Signed-off-by: Jean-Marc Valin <jeanmarcv@google.com>

--- a/celt/arch.h
+++ b/celt/arch.h
@@ -121,7 +121,7 @@
 /* Set this if opus_int64 is a native type of the CPU. */
 /* Assume that all LP64 architectures have fast 64-bit types; also x86_64
    (which can be ILP32 for x32) and Win64 (which is LLP64). */
-#if defined(__x86_64__) || defined(__LP64__) || defined(_WIN64)
+#if defined(__x86_64__) || defined(__LP64__) || defined(_WIN64) || defined (__mips)
 #define OPUS_FAST_INT64 1
 #else
 #define OPUS_FAST_INT64 0
--