Module Name: src Committed By: rillig Date: Wed Mar 20 06:15:40 UTC 2024
Modified Files: src/lib/libc/arch/sparc64/gen: fpsetround.c Log Message: sparc64/fpsetround: avoid shifting into the sign bit Lint had warned about the constant expression '0x03 << 30' but not about the structurally equal nonconstant expression '(rnd_dir & 0x03) << 30'. No binary change. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/lib/libc/arch/sparc64/gen/fpsetround.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/arch/sparc64/gen/fpsetround.c diff -u src/lib/libc/arch/sparc64/gen/fpsetround.c:1.8 src/lib/libc/arch/sparc64/gen/fpsetround.c:1.9 --- src/lib/libc/arch/sparc64/gen/fpsetround.c:1.8 Mon Mar 11 23:05:35 2024 +++ src/lib/libc/arch/sparc64/gen/fpsetround.c Wed Mar 20 06:15:39 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: fpsetround.c,v 1.8 2024/03/11 23:05:35 christos Exp $ */ +/* $NetBSD: fpsetround.c,v 1.9 2024/03/20 06:15:39 rillig Exp $ */ /* * Written by J.T. Conklin, Apr 10, 1995 @@ -7,7 +7,7 @@ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpsetround.c,v 1.8 2024/03/11 23:05:35 christos Exp $"); +__RCSID("$NetBSD: fpsetround.c,v 1.9 2024/03/20 06:15:39 rillig Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -36,8 +36,8 @@ fpsetround(fp_rnd rnd_dir) #endif new = old; - new &= ~(0x03U << 30); - new |= ((rnd_dir & 0x03) << 30); + new &= ~(0x03U << 30); + new |= ((rnd_dir & 0x03U) << 30); __asm("ld %0,%%fsr" : : "m" (*&new));