From 6787c96039a752038c45d02176f7874ce9f79d89 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 23 Jun 2022 13:05:14 -0500 Subject: [PATCH] intel/decoder: Use util_mask_sign_extend() Reviewed-by: Alyssa Rosenzweig Reviewed-by: Kristian H. Kristensen Part-of: --- src/intel/common/intel_decoder.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/intel/common/intel_decoder.c b/src/intel/common/intel_decoder.c index 8290011764c..bc1ef548532 100644 --- a/src/intel/common/intel_decoder.c +++ b/src/intel/common/intel_decoder.c @@ -32,6 +32,7 @@ #include #include +#include #include "intel_decoder.h" @@ -1094,7 +1095,7 @@ iter_decode_field(struct intel_field_iterator *iter) case INTEL_TYPE_SFIXED: { /* Sign extend before converting */ int bits = iter->field->type.i + iter->field->type.f + 1; - int64_t v_sign_extend = ((int64_t)(v.qw << (64 - bits))) >> (64 - bits); + int64_t v_sign_extend = util_mask_sign_extend(v.qw, bits); snprintf(iter->value, sizeof(iter->value), "%f", (float) v_sign_extend / (1 << iter->field->type.f)); break;