ref: d0db9e99cb9423f138a3b9e3acc53b142b7c5232
parent: 3692173d65872e6f1f1d4f4c2b3f0b22c4c5a309
author: Siarhei Volkau <lis8215@gmail.com>
date: Sun Aug 17 12:58:36 EDT 2025
refactor: MIPS: fix __builtin_clz usage Due to historical reasons __builtin_clz result is undefined for 0. Fix that in MIPS port. Signed-off-by: Siarhei Volkau <lis8215@gmail.com> Signed-off-by: Jean-Marc Valin <jeanmarcv@google.com>
--- a/silk/mips/macros_mipsr1.h
+++ b/silk/mips/macros_mipsr1.h
@@ -29,7 +29,10 @@
#ifndef SILK_MACROS_MIPSR1_H__
#define SILK_MACROS_MIPSR1_H__
-#define mips_clz(x) __builtin_clz(x)
+static inline int mips_clz(opus_uint32 x)
+{
+ return x ? __builtin_clz(x) : 32;
+}
#undef silk_SMULWB
static inline int silk_SMULWB(int a, int b)
--
⑨