From 0f136e22addd15942c07e8fc093e03ccee495561 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Tue, 31 Oct 2017 15:39:37 -0700 Subject: Fix(?) fcvt.s.w emulation for rs1 = -2^31 --- machine/fp_emulation.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machine/fp_emulation.c b/machine/fp_emulation.c index ffa431b..c83ef73 100644 --- a/machine/fp_emulation.c +++ b/machine/fp_emulation.c @@ -201,7 +201,7 @@ DECLARE_EMULATION_FUNC(emulate_fcvt_fi) { case 0: // int32 negative = (int32_t)uint_val < 0; - uint_val = negative ? -(int32_t)uint_val : (int32_t)uint_val; + uint_val = (uint32_t)(negative ? -uint_val : uint_val); break; case 1: // uint32 uint_val = (uint32_t)uint_val; -- cgit v1.1