From 7d3615831e1495c3181b108a3dd510382a997abc Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 5 Dec 2000 00:13:27 -0800 Subject: [PATCH] New test. From-SVN: r38029 --- gcc/testsuite/ChangeLog | 4 ++++ .../gcc.c-torture/compile/20001205-1.c | 21 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/compile/20001205-1.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1045ec4cfb3..f9630fee3ba 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2000-12-05 Richard Henderson + + * gcc.c-torture/compile/20001205-1.c: New. + 2000-12-04 Neil Booth * 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 index 00000000000..69708e59ea0 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20001205-1.c @@ -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; +} -- 2.30.2