summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/powerpc/pr82748-2.c
blob: 0079394b1016ef9df3993096aa6e7b5242293cf1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
/* { dg-options "-mpower9-vector -O2 -mabi=ibmlongdouble -Wno-psabi" } */

/* Make sure the old 'q' builtin functions work correctly when the long double
   default uses the IBM double-double format.  */

_Float128
do_fabs (_Float128 a)
{
  return __builtin_fabsq (a);
}

_Float128
do_copysign (_Float128 a, _Float128 b)
{
  return __builtin_copysignq (a, b);
}

_Float128
do_inf (void)
{
  return __builtin_infq ();
}

_Float128
do_nan (void)
{
  return __builtin_nanq ("");
}

_Float128
do_nans (void)
{
  return __builtin_nansq ("");
}

_Float128
do_huge_val (void)
{
  return __builtin_huge_valq ();
}

/* { dg-final { scan-assembler     {\mxsabsqp\M}   } } */
/* { dg-final { scan-assembler     {\mxscpsgnqp\M} } } */
/* { dg-final { scan-assembler-not {\mbl\M} }      } */