[MLBEDSW-2905] Fix int16 multiplier saturation

Fix int16 multiplier saturation to match the reference.

Signed-off-by: Fredrik Svedberg <fredrik.svedberg@arm.com>
Change-Id: I4a9c859482f7deb3899f90c7e9eb40c255ee4c45
diff --git a/ethosu/vela/scaling.py b/ethosu/vela/scaling.py
index 74f2166..05e38b9 100644
--- a/ethosu/vela/scaling.py
+++ b/ethosu/vela/scaling.py
@@ -43,7 +43,7 @@
 # Reduced precision quantization for int16
 def reduced_quantise_scale(scale):
     multiplier, shift = quantise_scale(scale)
-    reduced_multiplier = int((multiplier + (1 << 15)) >> 16)
+    reduced_multiplier = int((multiplier + (1 << 15)) >> 16) if multiplier < 32767 << 16 else 32767
     reduced_shift = shift - 16
 
     if not (0 <= shift < (1 << 6)):