From 043c6e31d9135c27875a1ccb4c0f1638f0170e77 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sat, 18 Apr 2020 03:23:40 -0400 Subject: [PATCH] fix sh fesetround failure to clear old mode the sh version of fesetround or'd the new rounding mode onto the control register without clearing the old rounding mode bits, making changes sticky. this was the root cause of multiple test failures. --- src/fenv/sh/fenv.S | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/fenv/sh/fenv.S b/src/fenv/sh/fenv.S index 907aefc0..b3b7d66a 100644 --- a/src/fenv/sh/fenv.S +++ b/src/fenv/sh/fenv.S @@ -12,6 +12,8 @@ fegetround: .type __fesetround, @function __fesetround: sts fpscr, r0 + mov #-4, r1 + and r1, r0 or r4, r0 lds r0, fpscr rts -- 2.25.1