From 61ab52602318de76659b6916ae3d937d57a32adb Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Wed, 3 Apr 2002 15:48:39 -0800 Subject: [PATCH] crtfastmath.c (FPRS_NS): Get it right for little-endian. 2002-04-03 David S. Miller * config/sparc/crtfastmath.c (FPRS_NS): Get it right for little-endian. (set_fast_math): Correct 'fsr' type. From-SVN: r51824 --- gcc/ChangeLog | 6 ++++++ gcc/config/sparc/crtfastmath.c | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fe4963f516a..f44264bd622 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-04-03 David S. Miller + + * config/sparc/crtfastmath.c (FPRS_NS): Get it right for + little-endian. + (set_fast_math): Correct 'fsr' type. + 2002-04-03 Richard Henderson PR opt/3569 diff --git a/gcc/config/sparc/crtfastmath.c b/gcc/config/sparc/crtfastmath.c index a0824a19733..d0100d78ab5 100644 --- a/gcc/config/sparc/crtfastmath.c +++ b/gcc/config/sparc/crtfastmath.c @@ -32,12 +32,16 @@ * the executable file might be covered by the GNU General Public License. */ +#if defined (__LITTLE_ENDIAN__) || defined(__LITTLE_ENDIAN_DATA__) +#define FPRS_NS (1 << 14) /* Non-Standard fpu results */ +#else #define FPRS_NS (1 << 22) /* Non-Standard fpu results */ +#endif static void __attribute__((constructor)) set_fast_math (void) { - unsigned long fsr; + unsigned int fsr; /* This works for the 64-bit case because, even if 32-bit ld/st of the fsr register modified the upper 32-bit, the only thing up there -- 2.30.2