crtfastmath.c (FPRS_NS): Get it right for little-endian.
authorDavid S. Miller <davem@redhat.com>
Wed, 3 Apr 2002 23:48:39 +0000 (15:48 -0800)
committerDavid S. Miller <davem@gcc.gnu.org>
Wed, 3 Apr 2002 23:48:39 +0000 (15:48 -0800)
2002-04-03  David S. Miller  <davem@redhat.com>

* config/sparc/crtfastmath.c (FPRS_NS): Get it right for
little-endian.
(set_fast_math): Correct 'fsr' type.

From-SVN: r51824

gcc/ChangeLog
gcc/config/sparc/crtfastmath.c

index fe4963f516a6d8acf21cbe03a1c70303dfe53e88..f44264bd622f622aa5bf5dffa315ec4e138bca28 100644 (file)
@@ -1,3 +1,9 @@
+2002-04-03  David S. Miller  <davem@redhat.com>
+
+       * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
+       little-endian.
+       (set_fast_math): Correct 'fsr' type.
+
 2002-04-03  Richard Henderson  <rth@redhat.com>
 
        PR opt/3569
index a0824a19733a1de5dd8fe530cfc426c003a5d954..d0100d78ab5aa51dcfc0211bf09d762d8e2a60bd 100644 (file)
  *    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