From f3b9566ae2f2268be31dfb0f684ed977e05252bc Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Tue, 9 Dec 2025 19:38:59 +1100 Subject: [PATCH] FPU: Round to single precision for fcfid[u]s The fcfids and fcfidus instructions weren't rounding to single precision because r.longmask wasn't getting set. To fix this, set v.longmask to e_in.single for the fcfid* instructions. Signed-off-by: Paul Mackerras --- fpu.vhdl | 1 + 1 file changed, 1 insertion(+) diff --git a/fpu.vhdl b/fpu.vhdl index a005c81..5227406 100644 --- a/fpu.vhdl +++ b/fpu.vhdl @@ -1185,6 +1185,7 @@ begin end if; when "10110" => -- fcfid v.result_sign := e_in.frb(63); + v.longmask := e_in.single; when others => v.result_sign := '0'; end case;