New test.
authorRichard Henderson <rth@redhat.com>
Tue, 5 Dec 2000 08:13:27 +0000 (00:13 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 5 Dec 2000 08:13:27 +0000 (00:13 -0800)
From-SVN: r38029

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/20001205-1.c [new file with mode: 0644]

index 1045ec4cfb3e9915baff1db2c655da42fe050126..f9630fee3baa804aa8ac891054abfa7f2c8c77f1 100644 (file)
@@ -1,3 +1,7 @@
+2000-12-05  Richard Henderson  <rth@redhat.com>
+
+       * gcc.c-torture/compile/20001205-1.c: New.
+
 2000-12-04  Neil Booth  <neilb@earthling.net>
 
        * g++.old-deja/g++.other/virtual9.C: New test.
diff --git a/gcc/testsuite/gcc.c-torture/compile/20001205-1.c b/gcc/testsuite/gcc.c-torture/compile/20001205-1.c
new file mode 100644 (file)
index 0000000..69708e5
--- /dev/null
@@ -0,0 +1,21 @@
+static inline unsigned long rdfpcr(void)
+{
+        unsigned long tmp, ret;
+        __asm__ ("" : "=r"(tmp), "=r"(ret));
+        return ret;
+}
+
+static inline unsigned long
+swcr_update_status(unsigned long swcr, unsigned long fpcr)
+{
+       swcr &= ~0x7e0000ul;
+        swcr |= (fpcr >> 3) & 0x7e0000ul;
+        return swcr;
+}
+
+unsigned long osf_getsysinfo(unsigned long flags)
+{
+        unsigned long w;
+       w = swcr_update_status(flags, rdfpcr());
+       return w;
+}