1/* Test for hexadecimal float rounding: bug 21720.  */
2/* { dg-do link } */
3/* { dg-options "-O -std=gnu99" } */
4/* { dg-skip-if "SPU float rounds towards zero" { spu-*-* } } */
5
6#include <float.h>
7
8extern void link_failure (void);
9
10int
11main (void)
12{
13#if FLT_RADIX == 2 && FLT_MANT_DIG == 24
14  if (0x1.0000011p0f == 1)
15    link_failure ();
16  if (0x1.00000101p0f == 1)
17    link_failure ();
18  if (0x1.000001001p0f == 1)
19    link_failure ();
20  if (0x1.0000010001p0f == 1)
21    link_failure ();
22  if (0x1.00000100001p0f == 1)
23    link_failure ();
24  if (0x1.000001000001p0f == 1)
25    link_failure ();
26  if (0x1.0000010000001p0f == 1)
27    link_failure ();
28  if (0x1.00000100000001p0f == 1)
29    link_failure ();
30  if (0x1.000001000000001p0f == 1)
31    link_failure ();
32  if (0x1.0000010000000001p0f == 1)
33    link_failure ();
34  if (0x1.00000100000000001p0f == 1)
35    link_failure ();
36  if (0x1.000001000000000001p0f == 1)
37    link_failure ();
38  if (0x1.0000010000000000001p0f == 1)
39    link_failure ();
40  if (0x1.00000100000000000001p0f == 1)
41    link_failure ();
42  if (0x1.000001000000000000001p0f == 1)
43    link_failure ();
44  if (0x1.0000010000000000000001p0f == 1)
45    link_failure ();
46  if (0x1.00000100000000000000001p0f == 1)
47    link_failure ();
48  if (0x1.000001000000000000000001p0f == 1)
49    link_failure ();
50  if (0x1.0000010000000000000000001p0f == 1)
51    link_failure ();
52  if (0x1.00000100000000000000000001p0f == 1)
53    link_failure ();
54  if (0x1.000001000000000000000000001p0f == 1)
55    link_failure ();
56  if (0x1.0000010000000000000000000001p0f == 1)
57    link_failure ();
58  if (0x1.00000100000000000000000000001p0f == 1)
59    link_failure ();
60  if (0x1.000001000000000000000000000001p0f == 1)
61    link_failure ();
62  if (0x1.0000010000000000000000000000001p0f == 1)
63    link_failure ();
64  if (0x1.00000100000000000000000000000001p0f == 1)
65    link_failure ();
66  if (0x1.000001000000000000000000000000001p0f == 1)
67    link_failure ();
68  if (0x1.0000010000000000000000000000000001p0f == 1)
69    link_failure ();
70  if (0x1.00000100000000000000000000000000001p0f == 1)
71    link_failure ();
72  if (0x1.000001000000000000000000000000000001p0f == 1)
73    link_failure ();
74  if (0x1.0000010000000000000000000000000000001p0f == 1)
75    link_failure ();
76  if (0x1.00000100000000000000000000000000000001p0f == 1)
77    link_failure ();
78  if (0x1.000001000000000000000000000000000000001p0f == 1)
79    link_failure ();
80  if (0x1.0000010000000000000000000000000000000001p0f == 1)
81    link_failure ();
82  if (0x1.00000100000000000000000000000000000000001p0f == 1)
83    link_failure ();
84  if (0x1.000001000000000000000000000000000000000001p0f == 1)
85    link_failure ();
86  if (0x1.0000010000000000000000000000000000000000001p0f == 1)
87    link_failure ();
88  if (0x1.00000100000000000000000000000000000000000001p0f == 1)
89    link_failure ();
90  if (0x1.000001000000000000000000000000000000000000001p0f == 1)
91    link_failure ();
92  if (0x1.0000010000000000000000000000000000000000000001p0f == 1)
93    link_failure ();
94  if (0x1.00000100000000000000000000000000000000000000001p0f == 1)
95    link_failure ();
96  if (0x1.000001000000000000000000000000000000000000000001p0f == 1)
97    link_failure ();
98  if (0x1.0000010000000000000000000000000000000000000000001p0f == 1)
99    link_failure ();
100  if (0x1.00000100000000000000000000000000000000000000000001p0f == 1)
101    link_failure ();
102  if (0x1.000001000000000000000000000000000000000000000000001p0f == 1)
103    link_failure ();
104  if (0x1.0000010000000000000000000000000000000000000000000001p0f == 1)
105    link_failure ();
106  if (0x1.00000100000000000000000000000000000000000000000000001p0f == 1)
107    link_failure ();
108  if (0x1.000001000000000000000000000000000000000000000000000001p0f == 1)
109    link_failure ();
110  if (0x1.0000010000000000000000000000000000000000000000000000001p0f == 1)
111    link_failure ();
112#endif
113  return 0;
114}
115