OSDN Git Service

* optabs.h (enum optab_index): Add new OTI_scalb.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / builtins-34.c
index d2bf4d4..ee8d751 100644 (file)
@@ -1,7 +1,7 @@
 /* Copyright (C) 2004 Free Software Foundation.
 
-   Check that exp10, exp10f, exp10l, exp2, exp2f, exp2l, pow10, pow10f
-   and pow10l built-in functions compile.
+   Check that exp10, exp10f, exp10l, exp2, exp2f, exp2l, pow10, pow10f,
+   pow10l, expm1, expm1f and expm1l built-in functions compile.
 
    Written by Uros Bizjak, 13th February 2004.  */
 
 extern double exp10(double);
 extern double exp2(double);
 extern double pow10(double);
+extern double expm1(double);
+extern double ldexp(double, int);
+extern double scalb(double, double);
+extern double scalbn(double, int);
+extern double scalbln(double, long);
 extern float exp10f(float);
 extern float exp2f(float);
 extern float pow10f(float);
+extern float expm1f(float);
+extern float ldexpf(float, int);
+extern float scalbf(float, float);
+extern float scalbnf(float, int);
+extern float scalblnf(float, long);
 extern long double exp10l(long double);
 extern long double exp2l(long double);
 extern long double pow10l(long double);
+extern long double expm1l(long double);
+extern long double ldexpl(long double, int);
+extern long double scalbl(long double, long double);
+extern long double scalbnl(long double, int);
+extern long double scalblnl(long double, long);
 
 
 double test1(double x)
@@ -34,6 +49,31 @@ double test3(double x)
   return pow10(x);
 }
 
+double test4(double x)
+{
+  return expm1(x);
+}
+
+double test5(double x, int exp)
+{
+  return ldexp(x, exp);
+}
+
+double test6(double x, double exp)
+{
+  return scalb(x, exp);
+}
+
+double test7(double x, int exp)
+{
+  return scalbn(x, exp);
+}
+
+double test8(double x, long exp)
+{
+  return scalbln(x, exp);
+}
+
 float test1f(float x)
 {
   return exp10f(x);
@@ -49,6 +89,31 @@ float test3f(float x)
   return pow10f(x);
 }
 
+float test4f(float x)
+{
+  return expm1f(x);
+}
+
+float test5f(float x, int exp)
+{
+  return ldexpf(x, exp);
+}
+
+float test6f(float x, float exp)
+{
+  return scalbf(x, exp);
+}
+
+float test7f(float x, int exp)
+{
+  return scalbnf(x, exp);
+}
+
+float test8f(float x, long exp)
+{
+  return scalblnf(x, exp);
+}
+
 long double test1l(long double x)
 {
   return exp10l(x);
@@ -64,3 +129,27 @@ long double test3l(long double x)
   return pow10l(x);
 }
 
+long double test4l(long double x)
+{
+  return expm1l(x);
+}
+
+long double test5l(long double x, int exp)
+{
+  return ldexpl(x, exp);
+}
+
+long double test6l(long double x, long double exp)
+{
+  return scalbl(x, exp);
+}
+
+long double test7l(long double x, int exp)
+{
+  return scalbnl(x, exp);
+}
+
+long double test8l(long double x, long exp)
+{
+  return scalblnl(x, exp);
+}