target/arm: Introduce do_[us]sat_[bhs] macros

Inputs are a wider type of indeterminate sign.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20250704142112.1018902-58-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Richard Henderson
2025-07-04 15:52:22 +01:00
committed by Peter Maydell
parent 2065b1420d
commit 88b7337311
+7
View File
@@ -223,6 +223,13 @@ int16_t do_sqrdmlah_h(int16_t, int16_t, int16_t, bool, bool, uint32_t *);
int32_t do_sqrdmlah_s(int32_t, int32_t, int32_t, bool, bool, uint32_t *);
int64_t do_sqrdmlah_d(int64_t, int64_t, int64_t, bool, bool);
#define do_ssat_b(val) MIN(MAX(val, INT8_MIN), INT8_MAX)
#define do_ssat_h(val) MIN(MAX(val, INT16_MIN), INT16_MAX)
#define do_ssat_s(val) MIN(MAX(val, INT32_MIN), INT32_MAX)
#define do_usat_b(val) MIN(MAX(val, 0), UINT8_MAX)
#define do_usat_h(val) MIN(MAX(val, 0), UINT16_MAX)
#define do_usat_s(val) MIN(MAX(val, 0), UINT32_MAX)
/**
* bfdotadd:
* @sum: addend