[PR81647][AARCH64] Fix handling of Unordered Comparisons in aarch64-simd.md
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / pic-constantpool1.c
blob043f1ee2c0de9dc255cd6379fe5bab07dd6b7b2b
1 /* { dg-options "-O2 -mcmodel=small -fPIC" } */
2 /* { dg-do compile } */
4 extern int __finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
5 extern int __finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
6 extern int __signbit (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
7 extern int __signbitf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
8 int
9 __ecvt_r (value, ndigit, decpt, sign, buf, len)
10 double value;
11 int ndigit, *decpt, *sign, len;
12 char *buf;
14 if ((sizeof (value) == sizeof (float) ? __finitef (value) : __finite (value)) && value != 0.0)
16 double d;
17 double f = 1.0;
18 d = -value;
19 if (d < 1.0e-307)
23 f *= 10.0;
25 while (d * f < 1.0);
28 if (ndigit <= 0 && len > 0)
30 buf[0] = '\0';
31 *sign = (sizeof (value) == sizeof (float) ? __finitef (value) : __finite (value)) ? (sizeof (value) == sizeof (float) ? __signbitf (value) : __signbit (value)) != 0 : 0;