1*b9829059Sjoerg //===-- cmpsf2_test.c - Test __cmpsf2 -------------------------------------===//
2*b9829059Sjoerg //
3*b9829059Sjoerg // The LLVM Compiler Infrastructure
4*b9829059Sjoerg //
5*b9829059Sjoerg // This file is dual licensed under the MIT and the University of Illinois Open
6*b9829059Sjoerg // Source Licenses. See LICENSE.TXT for details.
7*b9829059Sjoerg //
8*b9829059Sjoerg //===----------------------------------------------------------------------===//
9*b9829059Sjoerg //
10*b9829059Sjoerg // This file tests single-precision soft-float comparisons for the compiler-rt
11*b9829059Sjoerg // library.
12*b9829059Sjoerg //
13*b9829059Sjoerg //===----------------------------------------------------------------------===//
14*b9829059Sjoerg
15*b9829059Sjoerg #include <stdio.h>
16*b9829059Sjoerg
17*b9829059Sjoerg int __eqsf2(float, float);
18*b9829059Sjoerg int __gesf2(float, float);
19*b9829059Sjoerg int __gtsf2(float, float);
20*b9829059Sjoerg int __lesf2(float, float);
21*b9829059Sjoerg int __ltsf2(float, float);
22*b9829059Sjoerg int __nesf2(float, float);
23*b9829059Sjoerg int __unordsf2(float, float);
24*b9829059Sjoerg
25*b9829059Sjoerg struct TestVector {
26*b9829059Sjoerg float a;
27*b9829059Sjoerg float b;
28*b9829059Sjoerg int eqReference;
29*b9829059Sjoerg int geReference;
30*b9829059Sjoerg int gtReference;
31*b9829059Sjoerg int leReference;
32*b9829059Sjoerg int ltReference;
33*b9829059Sjoerg int neReference;
34*b9829059Sjoerg int unReference;
35*b9829059Sjoerg };
36*b9829059Sjoerg
test__cmpsf2(const struct TestVector * vector)37*b9829059Sjoerg int test__cmpsf2(const struct TestVector *vector) {
38*b9829059Sjoerg
39*b9829059Sjoerg if (__eqsf2(vector->a, vector->b) != vector->eqReference) {
40*b9829059Sjoerg printf("error in __eqsf2(%a, %a) = %d, expected %d\n",
41*b9829059Sjoerg vector->a, vector->b,
42*b9829059Sjoerg __eqsf2(vector->a, vector->b),
43*b9829059Sjoerg vector->eqReference);
44*b9829059Sjoerg return 1;
45*b9829059Sjoerg }
46*b9829059Sjoerg
47*b9829059Sjoerg if (__gesf2(vector->a, vector->b) != vector->geReference) {
48*b9829059Sjoerg printf("error in __gesf2(%a, %a) = %d, expected %d\n",
49*b9829059Sjoerg vector->a, vector->b,
50*b9829059Sjoerg __gesf2(vector->a, vector->b),
51*b9829059Sjoerg vector->geReference);
52*b9829059Sjoerg return 1;
53*b9829059Sjoerg }
54*b9829059Sjoerg
55*b9829059Sjoerg if (__gtsf2(vector->a, vector->b) != vector->gtReference) {
56*b9829059Sjoerg printf("error in __gtsf2(%a, %a) = %d, expected %d\n",
57*b9829059Sjoerg vector->a, vector->b,
58*b9829059Sjoerg __gtsf2(vector->a, vector->b),
59*b9829059Sjoerg vector->gtReference);
60*b9829059Sjoerg return 1;
61*b9829059Sjoerg }
62*b9829059Sjoerg
63*b9829059Sjoerg if (__lesf2(vector->a, vector->b) != vector->leReference) {
64*b9829059Sjoerg printf("error in __lesf2(%a, %a) = %d, expected %d\n",
65*b9829059Sjoerg vector->a, vector->b,
66*b9829059Sjoerg __lesf2(vector->a, vector->b),
67*b9829059Sjoerg vector->leReference);
68*b9829059Sjoerg return 1;
69*b9829059Sjoerg }
70*b9829059Sjoerg
71*b9829059Sjoerg if (__ltsf2(vector->a, vector->b) != vector->ltReference) {
72*b9829059Sjoerg printf("error in __ltsf2(%a, %a) = %d, expected %d\n",
73*b9829059Sjoerg vector->a, vector->b,
74*b9829059Sjoerg __ltsf2(vector->a, vector->b),
75*b9829059Sjoerg vector->ltReference);
76*b9829059Sjoerg return 1;
77*b9829059Sjoerg }
78*b9829059Sjoerg
79*b9829059Sjoerg if (__nesf2(vector->a, vector->b) != vector->neReference) {
80*b9829059Sjoerg printf("error in __nesf2(%a, %a) = %d, expected %d\n",
81*b9829059Sjoerg vector->a, vector->b,
82*b9829059Sjoerg __nesf2(vector->a, vector->b),
83*b9829059Sjoerg vector->neReference);
84*b9829059Sjoerg return 1;
85*b9829059Sjoerg }
86*b9829059Sjoerg
87*b9829059Sjoerg if (__unordsf2(vector->a, vector->b) != vector->unReference) {
88*b9829059Sjoerg printf("error in __unordsf2(%a, %a) = %d, expected %d\n",
89*b9829059Sjoerg vector->a, vector->b,
90*b9829059Sjoerg __unordsf2(vector->a, vector->b),
91*b9829059Sjoerg vector->unReference);
92*b9829059Sjoerg return 1;
93*b9829059Sjoerg }
94*b9829059Sjoerg
95*b9829059Sjoerg return 0;
96*b9829059Sjoerg }
97*b9829059Sjoerg
98*b9829059Sjoerg /*
99*b9829059Sjoerg void generateVectors() {
100*b9829059Sjoerg
101*b9829059Sjoerg const float arguments[] = {
102*b9829059Sjoerg __builtin_nanf(""),
103*b9829059Sjoerg -__builtin_inff(),
104*b9829059Sjoerg -0x1.fffffep127,
105*b9829059Sjoerg -0x1.000002p0
106*b9829059Sjoerg -0x1.000000p0,
107*b9829059Sjoerg -0x1.fffffep-1f,
108*b9829059Sjoerg -0x1.000000p-126f,
109*b9829059Sjoerg -0x0.fffffep-126f,
110*b9829059Sjoerg -0x0.000002p-126f,
111*b9829059Sjoerg -0.0,
112*b9829059Sjoerg 0.0,
113*b9829059Sjoerg 0x0.000002p-126f,
114*b9829059Sjoerg 0x0.fffffep-126f,
115*b9829059Sjoerg 0x1.000000p-126f,
116*b9829059Sjoerg 0x1.fffffep-1f,
117*b9829059Sjoerg 0x1.000000p0,
118*b9829059Sjoerg 0x1.000002p0,
119*b9829059Sjoerg 0x1.fffffep127,
120*b9829059Sjoerg __builtin_inff()
121*b9829059Sjoerg };
122*b9829059Sjoerg
123*b9829059Sjoerg int numArguments = sizeof arguments / sizeof arguments[0];
124*b9829059Sjoerg
125*b9829059Sjoerg for (int i=0; i<numArguments; ++i) {
126*b9829059Sjoerg for (int j=0; j<numArguments; ++j) {
127*b9829059Sjoerg const float a = arguments[i];
128*b9829059Sjoerg const float b = arguments[j];
129*b9829059Sjoerg const int leResult = a < b ? -1 : a == b ? 0 : 1;
130*b9829059Sjoerg const int geResult = a > b ? 1 : a == b ? 0 : -1;
131*b9829059Sjoerg const int unResult = a != a || b != b ? 1 : 0;
132*b9829059Sjoerg printf("{%a,%a,%d,%d,%d,%d,%d,%d,%d},\n",
133*b9829059Sjoerg a, b,
134*b9829059Sjoerg leResult,
135*b9829059Sjoerg geResult,
136*b9829059Sjoerg geResult,
137*b9829059Sjoerg leResult,
138*b9829059Sjoerg leResult,
139*b9829059Sjoerg leResult,
140*b9829059Sjoerg unResult);
141*b9829059Sjoerg }
142*b9829059Sjoerg }
143*b9829059Sjoerg } */
144*b9829059Sjoerg
145*b9829059Sjoerg static const struct TestVector vectors[] = {
146*b9829059Sjoerg {__builtin_nanf(""),__builtin_nanf(""),1,-1,-1,1,1,1,1},
147*b9829059Sjoerg {__builtin_nanf(""),-__builtin_inff(),1,-1,-1,1,1,1,1},
148*b9829059Sjoerg {__builtin_nanf(""),-0x1.fffffep+127f,1,-1,-1,1,1,1,1},
149*b9829059Sjoerg {__builtin_nanf(""),-0x1p0f,1,-1,-1,1,1,1,1},
150*b9829059Sjoerg {__builtin_nanf(""),-0x1.fffffep-1f,1,-1,-1,1,1,1,1},
151*b9829059Sjoerg {__builtin_nanf(""),-0x1p-126f,1,-1,-1,1,1,1,1},
152*b9829059Sjoerg {__builtin_nanf(""),-0x1.fffffcp-127,1,-1,-1,1,1,1,1},
153*b9829059Sjoerg {__builtin_nanf(""),-0x1p-149f,1,-1,-1,1,1,1,1},
154*b9829059Sjoerg {__builtin_nanf(""),-0x0p0f,1,-1,-1,1,1,1,1},
155*b9829059Sjoerg {__builtin_nanf(""),0x0p0f,1,-1,-1,1,1,1,1},
156*b9829059Sjoerg {__builtin_nanf(""),0x1p-149f,1,-1,-1,1,1,1,1},
157*b9829059Sjoerg {__builtin_nanf(""),0x1.fffffcp-127,1,-1,-1,1,1,1,1},
158*b9829059Sjoerg {__builtin_nanf(""),0x1p-126f,1,-1,-1,1,1,1,1},
159*b9829059Sjoerg {__builtin_nanf(""),0x1.fffffep-1f,1,-1,-1,1,1,1,1},
160*b9829059Sjoerg {__builtin_nanf(""),0x1p0f,1,-1,-1,1,1,1,1},
161*b9829059Sjoerg {__builtin_nanf(""),0x1.000002p0f,1,-1,-1,1,1,1,1},
162*b9829059Sjoerg {__builtin_nanf(""),0x1.fffffep+127f,1,-1,-1,1,1,1,1},
163*b9829059Sjoerg {__builtin_nanf(""),__builtin_inff(),1,-1,-1,1,1,1,1},
164*b9829059Sjoerg {-__builtin_inff(),__builtin_nanf(""),1,-1,-1,1,1,1,1},
165*b9829059Sjoerg {-__builtin_inff(),-__builtin_inff(),0,0,0,0,0,0,0},
166*b9829059Sjoerg {-__builtin_inff(),-0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
167*b9829059Sjoerg {-__builtin_inff(),-0x1p0f,-1,-1,-1,-1,-1,-1,0},
168*b9829059Sjoerg {-__builtin_inff(),-0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
169*b9829059Sjoerg {-__builtin_inff(),-0x1p-126f,-1,-1,-1,-1,-1,-1,0},
170*b9829059Sjoerg {-__builtin_inff(),-0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
171*b9829059Sjoerg {-__builtin_inff(),-0x1p-149f,-1,-1,-1,-1,-1,-1,0},
172*b9829059Sjoerg {-__builtin_inff(),-0x0p0f,-1,-1,-1,-1,-1,-1,0},
173*b9829059Sjoerg {-__builtin_inff(),0x0p0f,-1,-1,-1,-1,-1,-1,0},
174*b9829059Sjoerg {-__builtin_inff(),0x1p-149f,-1,-1,-1,-1,-1,-1,0},
175*b9829059Sjoerg {-__builtin_inff(),0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
176*b9829059Sjoerg {-__builtin_inff(),0x1p-126f,-1,-1,-1,-1,-1,-1,0},
177*b9829059Sjoerg {-__builtin_inff(),0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
178*b9829059Sjoerg {-__builtin_inff(),0x1p0f,-1,-1,-1,-1,-1,-1,0},
179*b9829059Sjoerg {-__builtin_inff(),0x1.000002p0f,-1,-1,-1,-1,-1,-1,0},
180*b9829059Sjoerg {-__builtin_inff(),0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
181*b9829059Sjoerg {-__builtin_inff(),__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
182*b9829059Sjoerg {-0x1.fffffep+127f,__builtin_nanf(""),1,-1,-1,1,1,1,1},
183*b9829059Sjoerg {-0x1.fffffep+127f,-__builtin_inff(),1,1,1,1,1,1,0},
184*b9829059Sjoerg {-0x1.fffffep+127f,-0x1.fffffep+127f,0,0,0,0,0,0,0},
185*b9829059Sjoerg {-0x1.fffffep+127f,-0x1p0f,-1,-1,-1,-1,-1,-1,0},
186*b9829059Sjoerg {-0x1.fffffep+127f,-0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
187*b9829059Sjoerg {-0x1.fffffep+127f,-0x1p-126f,-1,-1,-1,-1,-1,-1,0},
188*b9829059Sjoerg {-0x1.fffffep+127f,-0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
189*b9829059Sjoerg {-0x1.fffffep+127f,-0x1p-149f,-1,-1,-1,-1,-1,-1,0},
190*b9829059Sjoerg {-0x1.fffffep+127f,-0x0p0f,-1,-1,-1,-1,-1,-1,0},
191*b9829059Sjoerg {-0x1.fffffep+127f,0x0p0f,-1,-1,-1,-1,-1,-1,0},
192*b9829059Sjoerg {-0x1.fffffep+127f,0x1p-149f,-1,-1,-1,-1,-1,-1,0},
193*b9829059Sjoerg {-0x1.fffffep+127f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
194*b9829059Sjoerg {-0x1.fffffep+127f,0x1p-126f,-1,-1,-1,-1,-1,-1,0},
195*b9829059Sjoerg {-0x1.fffffep+127f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
196*b9829059Sjoerg {-0x1.fffffep+127f,0x1p0f,-1,-1,-1,-1,-1,-1,0},
197*b9829059Sjoerg {-0x1.fffffep+127f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0},
198*b9829059Sjoerg {-0x1.fffffep+127f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
199*b9829059Sjoerg {-0x1.fffffep+127f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
200*b9829059Sjoerg {-0x1p0f,__builtin_nanf(""),1,-1,-1,1,1,1,1},
201*b9829059Sjoerg {-0x1p0f,-__builtin_inff(),1,1,1,1,1,1,0},
202*b9829059Sjoerg {-0x1p0f,-0x1.fffffep+127f,1,1,1,1,1,1,0},
203*b9829059Sjoerg {-0x1p0f,-0x1p0f,0,0,0,0,0,0,0},
204*b9829059Sjoerg {-0x1p0f,-0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
205*b9829059Sjoerg {-0x1p0f,-0x1p-126f,-1,-1,-1,-1,-1,-1,0},
206*b9829059Sjoerg {-0x1p0f,-0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
207*b9829059Sjoerg {-0x1p0f,-0x1p-149f,-1,-1,-1,-1,-1,-1,0},
208*b9829059Sjoerg {-0x1p0f,-0x0p0f,-1,-1,-1,-1,-1,-1,0},
209*b9829059Sjoerg {-0x1p0f,0x0p0f,-1,-1,-1,-1,-1,-1,0},
210*b9829059Sjoerg {-0x1p0f,0x1p-149f,-1,-1,-1,-1,-1,-1,0},
211*b9829059Sjoerg {-0x1p0f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
212*b9829059Sjoerg {-0x1p0f,0x1p-126f,-1,-1,-1,-1,-1,-1,0},
213*b9829059Sjoerg {-0x1p0f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
214*b9829059Sjoerg {-0x1p0f,0x1p0f,-1,-1,-1,-1,-1,-1,0},
215*b9829059Sjoerg {-0x1p0f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0},
216*b9829059Sjoerg {-0x1p0f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
217*b9829059Sjoerg {-0x1p0f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
218*b9829059Sjoerg {-0x1.fffffep-1f,__builtin_nanf(""),1,-1,-1,1,1,1,1},
219*b9829059Sjoerg {-0x1.fffffep-1f,-__builtin_inff(),1,1,1,1,1,1,0},
220*b9829059Sjoerg {-0x1.fffffep-1f,-0x1.fffffep+127f,1,1,1,1,1,1,0},
221*b9829059Sjoerg {-0x1.fffffep-1f,-0x1p0f,1,1,1,1,1,1,0},
222*b9829059Sjoerg {-0x1.fffffep-1f,-0x1.fffffep-1f,0,0,0,0,0,0,0},
223*b9829059Sjoerg {-0x1.fffffep-1f,-0x1p-126f,-1,-1,-1,-1,-1,-1,0},
224*b9829059Sjoerg {-0x1.fffffep-1f,-0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
225*b9829059Sjoerg {-0x1.fffffep-1f,-0x1p-149f,-1,-1,-1,-1,-1,-1,0},
226*b9829059Sjoerg {-0x1.fffffep-1f,-0x0p0f,-1,-1,-1,-1,-1,-1,0},
227*b9829059Sjoerg {-0x1.fffffep-1f,0x0p0f,-1,-1,-1,-1,-1,-1,0},
228*b9829059Sjoerg {-0x1.fffffep-1f,0x1p-149f,-1,-1,-1,-1,-1,-1,0},
229*b9829059Sjoerg {-0x1.fffffep-1f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
230*b9829059Sjoerg {-0x1.fffffep-1f,0x1p-126f,-1,-1,-1,-1,-1,-1,0},
231*b9829059Sjoerg {-0x1.fffffep-1f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
232*b9829059Sjoerg {-0x1.fffffep-1f,0x1p0f,-1,-1,-1,-1,-1,-1,0},
233*b9829059Sjoerg {-0x1.fffffep-1f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0},
234*b9829059Sjoerg {-0x1.fffffep-1f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
235*b9829059Sjoerg {-0x1.fffffep-1f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
236*b9829059Sjoerg {-0x1p-126f,__builtin_nanf(""),1,-1,-1,1,1,1,1},
237*b9829059Sjoerg {-0x1p-126f,-__builtin_inff(),1,1,1,1,1,1,0},
238*b9829059Sjoerg {-0x1p-126f,-0x1.fffffep+127f,1,1,1,1,1,1,0},
239*b9829059Sjoerg {-0x1p-126f,-0x1p0f,1,1,1,1,1,1,0},
240*b9829059Sjoerg {-0x1p-126f,-0x1.fffffep-1f,1,1,1,1,1,1,0},
241*b9829059Sjoerg {-0x1p-126f,-0x1p-126f,0,0,0,0,0,0,0},
242*b9829059Sjoerg {-0x1p-126f,-0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
243*b9829059Sjoerg {-0x1p-126f,-0x1p-149f,-1,-1,-1,-1,-1,-1,0},
244*b9829059Sjoerg {-0x1p-126f,-0x0p0f,-1,-1,-1,-1,-1,-1,0},
245*b9829059Sjoerg {-0x1p-126f,0x0p0f,-1,-1,-1,-1,-1,-1,0},
246*b9829059Sjoerg {-0x1p-126f,0x1p-149f,-1,-1,-1,-1,-1,-1,0},
247*b9829059Sjoerg {-0x1p-126f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
248*b9829059Sjoerg {-0x1p-126f,0x1p-126f,-1,-1,-1,-1,-1,-1,0},
249*b9829059Sjoerg {-0x1p-126f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
250*b9829059Sjoerg {-0x1p-126f,0x1p0f,-1,-1,-1,-1,-1,-1,0},
251*b9829059Sjoerg {-0x1p-126f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0},
252*b9829059Sjoerg {-0x1p-126f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
253*b9829059Sjoerg {-0x1p-126f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
254*b9829059Sjoerg {-0x1.fffffcp-127,__builtin_nanf(""),1,-1,-1,1,1,1,1},
255*b9829059Sjoerg {-0x1.fffffcp-127,-__builtin_inff(),1,1,1,1,1,1,0},
256*b9829059Sjoerg {-0x1.fffffcp-127,-0x1.fffffep+127f,1,1,1,1,1,1,0},
257*b9829059Sjoerg {-0x1.fffffcp-127,-0x1p0f,1,1,1,1,1,1,0},
258*b9829059Sjoerg {-0x1.fffffcp-127,-0x1.fffffep-1f,1,1,1,1,1,1,0},
259*b9829059Sjoerg {-0x1.fffffcp-127,-0x1p-126f,1,1,1,1,1,1,0},
260*b9829059Sjoerg {-0x1.fffffcp-127,-0x1.fffffcp-127,0,0,0,0,0,0,0},
261*b9829059Sjoerg {-0x1.fffffcp-127,-0x1p-149f,-1,-1,-1,-1,-1,-1,0},
262*b9829059Sjoerg {-0x1.fffffcp-127,-0x0p0f,-1,-1,-1,-1,-1,-1,0},
263*b9829059Sjoerg {-0x1.fffffcp-127,0x0p0f,-1,-1,-1,-1,-1,-1,0},
264*b9829059Sjoerg {-0x1.fffffcp-127,0x1p-149f,-1,-1,-1,-1,-1,-1,0},
265*b9829059Sjoerg {-0x1.fffffcp-127,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
266*b9829059Sjoerg {-0x1.fffffcp-127,0x1p-126f,-1,-1,-1,-1,-1,-1,0},
267*b9829059Sjoerg {-0x1.fffffcp-127,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
268*b9829059Sjoerg {-0x1.fffffcp-127,0x1p0f,-1,-1,-1,-1,-1,-1,0},
269*b9829059Sjoerg {-0x1.fffffcp-127,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0},
270*b9829059Sjoerg {-0x1.fffffcp-127,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
271*b9829059Sjoerg {-0x1.fffffcp-127,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
272*b9829059Sjoerg {-0x1p-149f,__builtin_nanf(""),1,-1,-1,1,1,1,1},
273*b9829059Sjoerg {-0x1p-149f,-__builtin_inff(),1,1,1,1,1,1,0},
274*b9829059Sjoerg {-0x1p-149f,-0x1.fffffep+127f,1,1,1,1,1,1,0},
275*b9829059Sjoerg {-0x1p-149f,-0x1p0f,1,1,1,1,1,1,0},
276*b9829059Sjoerg {-0x1p-149f,-0x1.fffffep-1f,1,1,1,1,1,1,0},
277*b9829059Sjoerg {-0x1p-149f,-0x1p-126f,1,1,1,1,1,1,0},
278*b9829059Sjoerg {-0x1p-149f,-0x1.fffffcp-127,1,1,1,1,1,1,0},
279*b9829059Sjoerg {-0x1p-149f,-0x1p-149f,0,0,0,0,0,0,0},
280*b9829059Sjoerg {-0x1p-149f,-0x0p0f,-1,-1,-1,-1,-1,-1,0},
281*b9829059Sjoerg {-0x1p-149f,0x0p0f,-1,-1,-1,-1,-1,-1,0},
282*b9829059Sjoerg {-0x1p-149f,0x1p-149f,-1,-1,-1,-1,-1,-1,0},
283*b9829059Sjoerg {-0x1p-149f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
284*b9829059Sjoerg {-0x1p-149f,0x1p-126f,-1,-1,-1,-1,-1,-1,0},
285*b9829059Sjoerg {-0x1p-149f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
286*b9829059Sjoerg {-0x1p-149f,0x1p0f,-1,-1,-1,-1,-1,-1,0},
287*b9829059Sjoerg {-0x1p-149f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0},
288*b9829059Sjoerg {-0x1p-149f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
289*b9829059Sjoerg {-0x1p-149f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
290*b9829059Sjoerg {-0x0p0f,__builtin_nanf(""),1,-1,-1,1,1,1,1},
291*b9829059Sjoerg {-0x0p0f,-__builtin_inff(),1,1,1,1,1,1,0},
292*b9829059Sjoerg {-0x0p0f,-0x1.fffffep+127f,1,1,1,1,1,1,0},
293*b9829059Sjoerg {-0x0p0f,-0x1p0f,1,1,1,1,1,1,0},
294*b9829059Sjoerg {-0x0p0f,-0x1.fffffep-1f,1,1,1,1,1,1,0},
295*b9829059Sjoerg {-0x0p0f,-0x1p-126f,1,1,1,1,1,1,0},
296*b9829059Sjoerg {-0x0p0f,-0x1.fffffcp-127,1,1,1,1,1,1,0},
297*b9829059Sjoerg {-0x0p0f,-0x1p-149f,1,1,1,1,1,1,0},
298*b9829059Sjoerg {-0x0p0f,-0x0p0f,0,0,0,0,0,0,0},
299*b9829059Sjoerg {-0x0p0f,0x0p0f,0,0,0,0,0,0,0},
300*b9829059Sjoerg {-0x0p0f,0x1p-149f,-1,-1,-1,-1,-1,-1,0},
301*b9829059Sjoerg {-0x0p0f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
302*b9829059Sjoerg {-0x0p0f,0x1p-126f,-1,-1,-1,-1,-1,-1,0},
303*b9829059Sjoerg {-0x0p0f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
304*b9829059Sjoerg {-0x0p0f,0x1p0f,-1,-1,-1,-1,-1,-1,0},
305*b9829059Sjoerg {-0x0p0f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0},
306*b9829059Sjoerg {-0x0p0f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
307*b9829059Sjoerg {-0x0p0f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
308*b9829059Sjoerg {0x0p0f,__builtin_nanf(""),1,-1,-1,1,1,1,1},
309*b9829059Sjoerg {0x0p0f,-__builtin_inff(),1,1,1,1,1,1,0},
310*b9829059Sjoerg {0x0p0f,-0x1.fffffep+127f,1,1,1,1,1,1,0},
311*b9829059Sjoerg {0x0p0f,-0x1p0f,1,1,1,1,1,1,0},
312*b9829059Sjoerg {0x0p0f,-0x1.fffffep-1f,1,1,1,1,1,1,0},
313*b9829059Sjoerg {0x0p0f,-0x1p-126f,1,1,1,1,1,1,0},
314*b9829059Sjoerg {0x0p0f,-0x1.fffffcp-127,1,1,1,1,1,1,0},
315*b9829059Sjoerg {0x0p0f,-0x1p-149f,1,1,1,1,1,1,0},
316*b9829059Sjoerg {0x0p0f,-0x0p0f,0,0,0,0,0,0,0},
317*b9829059Sjoerg {0x0p0f,0x0p0f,0,0,0,0,0,0,0},
318*b9829059Sjoerg {0x0p0f,0x1p-149f,-1,-1,-1,-1,-1,-1,0},
319*b9829059Sjoerg {0x0p0f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
320*b9829059Sjoerg {0x0p0f,0x1p-126f,-1,-1,-1,-1,-1,-1,0},
321*b9829059Sjoerg {0x0p0f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
322*b9829059Sjoerg {0x0p0f,0x1p0f,-1,-1,-1,-1,-1,-1,0},
323*b9829059Sjoerg {0x0p0f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0},
324*b9829059Sjoerg {0x0p0f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
325*b9829059Sjoerg {0x0p0f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
326*b9829059Sjoerg {0x1p-149f,__builtin_nanf(""),1,-1,-1,1,1,1,1},
327*b9829059Sjoerg {0x1p-149f,-__builtin_inff(),1,1,1,1,1,1,0},
328*b9829059Sjoerg {0x1p-149f,-0x1.fffffep+127f,1,1,1,1,1,1,0},
329*b9829059Sjoerg {0x1p-149f,-0x1p0f,1,1,1,1,1,1,0},
330*b9829059Sjoerg {0x1p-149f,-0x1.fffffep-1f,1,1,1,1,1,1,0},
331*b9829059Sjoerg {0x1p-149f,-0x1p-126f,1,1,1,1,1,1,0},
332*b9829059Sjoerg {0x1p-149f,-0x1.fffffcp-127,1,1,1,1,1,1,0},
333*b9829059Sjoerg {0x1p-149f,-0x1p-149f,1,1,1,1,1,1,0},
334*b9829059Sjoerg {0x1p-149f,-0x0p0f,1,1,1,1,1,1,0},
335*b9829059Sjoerg {0x1p-149f,0x0p0f,1,1,1,1,1,1,0},
336*b9829059Sjoerg {0x1p-149f,0x1p-149f,0,0,0,0,0,0,0},
337*b9829059Sjoerg {0x1p-149f,0x1.fffffcp-127,-1,-1,-1,-1,-1,-1,0},
338*b9829059Sjoerg {0x1p-149f,0x1p-126f,-1,-1,-1,-1,-1,-1,0},
339*b9829059Sjoerg {0x1p-149f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
340*b9829059Sjoerg {0x1p-149f,0x1p0f,-1,-1,-1,-1,-1,-1,0},
341*b9829059Sjoerg {0x1p-149f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0},
342*b9829059Sjoerg {0x1p-149f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
343*b9829059Sjoerg {0x1p-149f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
344*b9829059Sjoerg {0x1.fffffcp-127,__builtin_nanf(""),1,-1,-1,1,1,1,1},
345*b9829059Sjoerg {0x1.fffffcp-127,-__builtin_inff(),1,1,1,1,1,1,0},
346*b9829059Sjoerg {0x1.fffffcp-127,-0x1.fffffep+127f,1,1,1,1,1,1,0},
347*b9829059Sjoerg {0x1.fffffcp-127,-0x1p0f,1,1,1,1,1,1,0},
348*b9829059Sjoerg {0x1.fffffcp-127,-0x1.fffffep-1f,1,1,1,1,1,1,0},
349*b9829059Sjoerg {0x1.fffffcp-127,-0x1p-126f,1,1,1,1,1,1,0},
350*b9829059Sjoerg {0x1.fffffcp-127,-0x1.fffffcp-127,1,1,1,1,1,1,0},
351*b9829059Sjoerg {0x1.fffffcp-127,-0x1p-149f,1,1,1,1,1,1,0},
352*b9829059Sjoerg {0x1.fffffcp-127,-0x0p0f,1,1,1,1,1,1,0},
353*b9829059Sjoerg {0x1.fffffcp-127,0x0p0f,1,1,1,1,1,1,0},
354*b9829059Sjoerg {0x1.fffffcp-127,0x1p-149f,1,1,1,1,1,1,0},
355*b9829059Sjoerg {0x1.fffffcp-127,0x1.fffffcp-127,0,0,0,0,0,0,0},
356*b9829059Sjoerg {0x1.fffffcp-127,0x1p-126f,-1,-1,-1,-1,-1,-1,0},
357*b9829059Sjoerg {0x1.fffffcp-127,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
358*b9829059Sjoerg {0x1.fffffcp-127,0x1p0f,-1,-1,-1,-1,-1,-1,0},
359*b9829059Sjoerg {0x1.fffffcp-127,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0},
360*b9829059Sjoerg {0x1.fffffcp-127,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
361*b9829059Sjoerg {0x1.fffffcp-127,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
362*b9829059Sjoerg {0x1p-126f,__builtin_nanf(""),1,-1,-1,1,1,1,1},
363*b9829059Sjoerg {0x1p-126f,-__builtin_inff(),1,1,1,1,1,1,0},
364*b9829059Sjoerg {0x1p-126f,-0x1.fffffep+127f,1,1,1,1,1,1,0},
365*b9829059Sjoerg {0x1p-126f,-0x1p0f,1,1,1,1,1,1,0},
366*b9829059Sjoerg {0x1p-126f,-0x1.fffffep-1f,1,1,1,1,1,1,0},
367*b9829059Sjoerg {0x1p-126f,-0x1p-126f,1,1,1,1,1,1,0},
368*b9829059Sjoerg {0x1p-126f,-0x1.fffffcp-127,1,1,1,1,1,1,0},
369*b9829059Sjoerg {0x1p-126f,-0x1p-149f,1,1,1,1,1,1,0},
370*b9829059Sjoerg {0x1p-126f,-0x0p0f,1,1,1,1,1,1,0},
371*b9829059Sjoerg {0x1p-126f,0x0p0f,1,1,1,1,1,1,0},
372*b9829059Sjoerg {0x1p-126f,0x1p-149f,1,1,1,1,1,1,0},
373*b9829059Sjoerg {0x1p-126f,0x1.fffffcp-127,1,1,1,1,1,1,0},
374*b9829059Sjoerg {0x1p-126f,0x1p-126f,0,0,0,0,0,0,0},
375*b9829059Sjoerg {0x1p-126f,0x1.fffffep-1f,-1,-1,-1,-1,-1,-1,0},
376*b9829059Sjoerg {0x1p-126f,0x1p0f,-1,-1,-1,-1,-1,-1,0},
377*b9829059Sjoerg {0x1p-126f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0},
378*b9829059Sjoerg {0x1p-126f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
379*b9829059Sjoerg {0x1p-126f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
380*b9829059Sjoerg {0x1.fffffep-1f,__builtin_nanf(""),1,-1,-1,1,1,1,1},
381*b9829059Sjoerg {0x1.fffffep-1f,-__builtin_inff(),1,1,1,1,1,1,0},
382*b9829059Sjoerg {0x1.fffffep-1f,-0x1.fffffep+127f,1,1,1,1,1,1,0},
383*b9829059Sjoerg {0x1.fffffep-1f,-0x1p0f,1,1,1,1,1,1,0},
384*b9829059Sjoerg {0x1.fffffep-1f,-0x1.fffffep-1f,1,1,1,1,1,1,0},
385*b9829059Sjoerg {0x1.fffffep-1f,-0x1p-126f,1,1,1,1,1,1,0},
386*b9829059Sjoerg {0x1.fffffep-1f,-0x1.fffffcp-127,1,1,1,1,1,1,0},
387*b9829059Sjoerg {0x1.fffffep-1f,-0x1p-149f,1,1,1,1,1,1,0},
388*b9829059Sjoerg {0x1.fffffep-1f,-0x0p0f,1,1,1,1,1,1,0},
389*b9829059Sjoerg {0x1.fffffep-1f,0x0p0f,1,1,1,1,1,1,0},
390*b9829059Sjoerg {0x1.fffffep-1f,0x1p-149f,1,1,1,1,1,1,0},
391*b9829059Sjoerg {0x1.fffffep-1f,0x1.fffffcp-127,1,1,1,1,1,1,0},
392*b9829059Sjoerg {0x1.fffffep-1f,0x1p-126f,1,1,1,1,1,1,0},
393*b9829059Sjoerg {0x1.fffffep-1f,0x1.fffffep-1f,0,0,0,0,0,0,0},
394*b9829059Sjoerg {0x1.fffffep-1f,0x1p0f,-1,-1,-1,-1,-1,-1,0},
395*b9829059Sjoerg {0x1.fffffep-1f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0},
396*b9829059Sjoerg {0x1.fffffep-1f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
397*b9829059Sjoerg {0x1.fffffep-1f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
398*b9829059Sjoerg {0x1p0f,__builtin_nanf(""),1,-1,-1,1,1,1,1},
399*b9829059Sjoerg {0x1p0f,-__builtin_inff(),1,1,1,1,1,1,0},
400*b9829059Sjoerg {0x1p0f,-0x1.fffffep+127f,1,1,1,1,1,1,0},
401*b9829059Sjoerg {0x1p0f,-0x1p0f,1,1,1,1,1,1,0},
402*b9829059Sjoerg {0x1p0f,-0x1.fffffep-1f,1,1,1,1,1,1,0},
403*b9829059Sjoerg {0x1p0f,-0x1p-126f,1,1,1,1,1,1,0},
404*b9829059Sjoerg {0x1p0f,-0x1.fffffcp-127,1,1,1,1,1,1,0},
405*b9829059Sjoerg {0x1p0f,-0x1p-149f,1,1,1,1,1,1,0},
406*b9829059Sjoerg {0x1p0f,-0x0p0f,1,1,1,1,1,1,0},
407*b9829059Sjoerg {0x1p0f,0x0p0f,1,1,1,1,1,1,0},
408*b9829059Sjoerg {0x1p0f,0x1p-149f,1,1,1,1,1,1,0},
409*b9829059Sjoerg {0x1p0f,0x1.fffffcp-127,1,1,1,1,1,1,0},
410*b9829059Sjoerg {0x1p0f,0x1p-126f,1,1,1,1,1,1,0},
411*b9829059Sjoerg {0x1p0f,0x1.fffffep-1f,1,1,1,1,1,1,0},
412*b9829059Sjoerg {0x1p0f,0x1p0f,0,0,0,0,0,0,0},
413*b9829059Sjoerg {0x1p0f,0x1.000002p0f,-1,-1,-1,-1,-1,-1,0},
414*b9829059Sjoerg {0x1p0f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
415*b9829059Sjoerg {0x1p0f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
416*b9829059Sjoerg {0x1.000002p0f,__builtin_nanf(""),1,-1,-1,1,1,1,1},
417*b9829059Sjoerg {0x1.000002p0f,-__builtin_inff(),1,1,1,1,1,1,0},
418*b9829059Sjoerg {0x1.000002p0f,-0x1.fffffep+127f,1,1,1,1,1,1,0},
419*b9829059Sjoerg {0x1.000002p0f,-0x1p0f,1,1,1,1,1,1,0},
420*b9829059Sjoerg {0x1.000002p0f,-0x1.fffffep-1f,1,1,1,1,1,1,0},
421*b9829059Sjoerg {0x1.000002p0f,-0x1p-126f,1,1,1,1,1,1,0},
422*b9829059Sjoerg {0x1.000002p0f,-0x1.fffffcp-127,1,1,1,1,1,1,0},
423*b9829059Sjoerg {0x1.000002p0f,-0x1p-149f,1,1,1,1,1,1,0},
424*b9829059Sjoerg {0x1.000002p0f,-0x0p0f,1,1,1,1,1,1,0},
425*b9829059Sjoerg {0x1.000002p0f,0x0p0f,1,1,1,1,1,1,0},
426*b9829059Sjoerg {0x1.000002p0f,0x1p-149f,1,1,1,1,1,1,0},
427*b9829059Sjoerg {0x1.000002p0f,0x1.fffffcp-127,1,1,1,1,1,1,0},
428*b9829059Sjoerg {0x1.000002p0f,0x1p-126f,1,1,1,1,1,1,0},
429*b9829059Sjoerg {0x1.000002p0f,0x1.fffffep-1f,1,1,1,1,1,1,0},
430*b9829059Sjoerg {0x1.000002p0f,0x1p0f,1,1,1,1,1,1,0},
431*b9829059Sjoerg {0x1.000002p0f,0x1.000002p0f,0,0,0,0,0,0,0},
432*b9829059Sjoerg {0x1.000002p0f,0x1.fffffep+127f,-1,-1,-1,-1,-1,-1,0},
433*b9829059Sjoerg {0x1.000002p0f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
434*b9829059Sjoerg {0x1.fffffep+127f,__builtin_nanf(""),1,-1,-1,1,1,1,1},
435*b9829059Sjoerg {0x1.fffffep+127f,-__builtin_inff(),1,1,1,1,1,1,0},
436*b9829059Sjoerg {0x1.fffffep+127f,-0x1.fffffep+127f,1,1,1,1,1,1,0},
437*b9829059Sjoerg {0x1.fffffep+127f,-0x1p0f,1,1,1,1,1,1,0},
438*b9829059Sjoerg {0x1.fffffep+127f,-0x1.fffffep-1f,1,1,1,1,1,1,0},
439*b9829059Sjoerg {0x1.fffffep+127f,-0x1p-126f,1,1,1,1,1,1,0},
440*b9829059Sjoerg {0x1.fffffep+127f,-0x1.fffffcp-127,1,1,1,1,1,1,0},
441*b9829059Sjoerg {0x1.fffffep+127f,-0x1p-149f,1,1,1,1,1,1,0},
442*b9829059Sjoerg {0x1.fffffep+127f,-0x0p0f,1,1,1,1,1,1,0},
443*b9829059Sjoerg {0x1.fffffep+127f,0x0p0f,1,1,1,1,1,1,0},
444*b9829059Sjoerg {0x1.fffffep+127f,0x1p-149f,1,1,1,1,1,1,0},
445*b9829059Sjoerg {0x1.fffffep+127f,0x1.fffffcp-127,1,1,1,1,1,1,0},
446*b9829059Sjoerg {0x1.fffffep+127f,0x1p-126f,1,1,1,1,1,1,0},
447*b9829059Sjoerg {0x1.fffffep+127f,0x1.fffffep-1f,1,1,1,1,1,1,0},
448*b9829059Sjoerg {0x1.fffffep+127f,0x1p0f,1,1,1,1,1,1,0},
449*b9829059Sjoerg {0x1.fffffep+127f,0x1.000002p0f,1,1,1,1,1,1,0},
450*b9829059Sjoerg {0x1.fffffep+127f,0x1.fffffep+127f,0,0,0,0,0,0,0},
451*b9829059Sjoerg {0x1.fffffep+127f,__builtin_inff(),-1,-1,-1,-1,-1,-1,0},
452*b9829059Sjoerg {__builtin_inff(),__builtin_nanf(""),1,-1,-1,1,1,1,1},
453*b9829059Sjoerg {__builtin_inff(),-__builtin_inff(),1,1,1,1,1,1,0},
454*b9829059Sjoerg {__builtin_inff(),-0x1.fffffep+127f,1,1,1,1,1,1,0},
455*b9829059Sjoerg {__builtin_inff(),-0x1p0f,1,1,1,1,1,1,0},
456*b9829059Sjoerg {__builtin_inff(),-0x1.fffffep-1f,1,1,1,1,1,1,0},
457*b9829059Sjoerg {__builtin_inff(),-0x1p-126f,1,1,1,1,1,1,0},
458*b9829059Sjoerg {__builtin_inff(),-0x1.fffffcp-127,1,1,1,1,1,1,0},
459*b9829059Sjoerg {__builtin_inff(),-0x1p-149f,1,1,1,1,1,1,0},
460*b9829059Sjoerg {__builtin_inff(),-0x0p0f,1,1,1,1,1,1,0},
461*b9829059Sjoerg {__builtin_inff(),0x0p0f,1,1,1,1,1,1,0},
462*b9829059Sjoerg {__builtin_inff(),0x1p-149f,1,1,1,1,1,1,0},
463*b9829059Sjoerg {__builtin_inff(),0x1.fffffcp-127,1,1,1,1,1,1,0},
464*b9829059Sjoerg {__builtin_inff(),0x1p-126f,1,1,1,1,1,1,0},
465*b9829059Sjoerg {__builtin_inff(),0x1.fffffep-1f,1,1,1,1,1,1,0},
466*b9829059Sjoerg {__builtin_inff(),0x1p0f,1,1,1,1,1,1,0},
467*b9829059Sjoerg {__builtin_inff(),0x1.000002p0f,1,1,1,1,1,1,0},
468*b9829059Sjoerg {__builtin_inff(),0x1.fffffep+127f,1,1,1,1,1,1,0},
469*b9829059Sjoerg {__builtin_inff(),__builtin_inff(),0,0,0,0,0,0,0},
470*b9829059Sjoerg };
471*b9829059Sjoerg
main(int argc,char * argv[])472*b9829059Sjoerg int main(int argc, char *argv[]) {
473*b9829059Sjoerg const int numVectors = sizeof vectors / sizeof vectors[0];
474*b9829059Sjoerg int i;
475*b9829059Sjoerg for (i = 0; i<numVectors; ++i) {
476*b9829059Sjoerg if (test__cmpsf2(&vectors[i])) return 1;
477*b9829059Sjoerg }
478*b9829059Sjoerg return 0;
479*b9829059Sjoerg }
480