diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-14 16:01:22 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-14 16:01:22 +0000 |
commit | ff87f5fa3417d7a2dd922e5b91303e5df938f329 (patch) | |
tree | c5f729cf5dd7fd95e11ea8825898bf49cc1c1c72 /gcc/testsuite/gcc.target/sparc/ultrasp7.c | |
parent | 397aa12b75572b25fb0ae4b721c9ea73a035cf92 (diff) | |
download | gcc-ff87f5fa3417d7a2dd922e5b91303e5df938f329.tar.gz |
* gcc.dg/20001013-1.c: Move to gcc.target/sparc.
* gcc.dg/20001101-1.c: Likewise.
* gcc.dg/20001102-1.c: Likewise.
* gcc.dg/20020116-2.c: Likewise.
* gcc.dg/20020416-1.c: Likewise.
* gcc.dg/sparc-constant-1.c: Likewise.
* gcc.dg/sparc-dwarf2.c: Likewise.
* gcc.dg/sparc-frame-1.c: Likewise.
* gcc.dg/sparc-getcontext-1.c: Likewise.
* gcc.dg/sparc-loop-1.c: Likewise.
* gcc.dg/sparc-reg-1.c: Likewise.
* gcc.dg/sparc-ret.c: Likewise.
* gcc.dg/sparc-trap-1.c: Likewise.
* gcc.dg/ultrasp10.c: Likewise.
* gcc.dg/ultrasp11.c: Likewise.
* gcc.dg/ultrasp1.c: Likewise.
* gcc.dg/ultrasp2.c: Likewise.
* gcc.dg/ultrasp3.c: Likewise.
* gcc.dg/ultrasp4.c: Likewise.
* gcc.dg/ultrasp5.c: Likewise.
* gcc.dg/ultrasp6.c: Likewise.
* gcc.dg/ultrasp7.c: Likewise.
* gcc.dg/ultrasp8.c: Likewise.
* gcc.dg/ultrasp9.c: Likewise.
* gcc.dg/splet-1.c: Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126641 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.target/sparc/ultrasp7.c')
-rw-r--r-- | gcc/testsuite/gcc.target/sparc/ultrasp7.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/sparc/ultrasp7.c b/gcc/testsuite/gcc.target/sparc/ultrasp7.c new file mode 100644 index 00000000000..b5a17b448a8 --- /dev/null +++ b/gcc/testsuite/gcc.target/sparc/ultrasp7.c @@ -0,0 +1,51 @@ +/* PR c/8281 */ +/* Originator: TANIGUCHI Yasuaki <yasuaki@k8.dion.ne.jp> */ + +/* { dg-do compile } */ +/* { dg-require-effective-target fpic } */ +/* { dg-options "-O2 -mcpu=ultrasparc -fPIC" } */ + +static const double bp = 1.0, dp_l[] = { 0.0 }; + +double __ieee754_pow(double x, double y) +{ + union { + int lo; + double d; + }uz; + + double y1,t1,p_h,t,z; + double z_h,z_l,p_l; + double t2,r,s,u,v,w; + int i = 0; + + double s_h,t_h; + double s2,s_l,t_l; + + + v = 1.0/(v+bp); + uz.d = s_h = s = u*v; + uz.lo = 0; + s_h = uz.d; + uz.d = t_h; + uz.lo = 3; + t_h = uz.d; + s_l = v*((u-s_h*t_h)-s_h*t_l); + s2 = s*s; + r = s2* s2* (1.1+s2*(1.2+s2*(1.3+s2*(1.4+s2*(1.5+s2*1.6))))); + s2 = s_h*s_h; + uz.lo = 0; + t_h = uz.d; + t_l = r-((t_h-3.0)-s2); + v = s_l*t_h+t_l*s; + p_l = v-(p_h-u); + z_h = bp *p_h; + z_l = bp*p_h+p_l*1.0+dp_l[i]; + t = (double)i; + t1 = (((bp+z_l)+bp)+t); + t2 = z_l-(((t1-t)-bp)-z_h); + p_l = (y-y1)*t1+y*t2; + z = p_l+p_h; + + return s*z; +} |