PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / cmpsf-1.c
blob87886c6de5768595f06ad1ee90893cea8b039fbe
1 #include <limits.h>
3 #define F 140
4 #define T 13
6 feq (float x, float y)
8 if (x == y)
9 return T;
10 else
11 return F;
14 fne (float x, float y)
16 if (x != y)
17 return T;
18 else
19 return F;
22 flt (float x, float y)
24 if (x < y)
25 return T;
26 else
27 return F;
30 fge (float x, float y)
32 if (x >= y)
33 return T;
34 else
35 return F;
38 fgt (float x, float y)
40 if (x > y)
41 return T;
42 else
43 return F;
46 fle (float x, float y)
48 if (x <= y)
49 return T;
50 else
51 return F;
54 float args[] =
56 0.0F,
57 1.0F,
58 -1.0F,
59 __FLT_MAX__,
60 __FLT_MIN__,
61 0.0000000000001F,
62 123456789.0F,
63 -987654321.0F
66 int correct_results[] =
68 T, F, F, T, F, T,
69 F, T, T, F, F, T,
70 F, T, F, T, T, F,
71 F, T, T, F, F, T,
72 F, T, T, F, F, T,
73 F, T, T, F, F, T,
74 F, T, T, F, F, T,
75 F, T, F, T, T, F,
76 F, T, F, T, T, F,
77 T, F, F, T, F, T,
78 F, T, F, T, T, F,
79 F, T, T, F, F, T,
80 F, T, F, T, T, F,
81 F, T, F, T, T, F,
82 F, T, T, F, F, T,
83 F, T, F, T, T, F,
84 F, T, T, F, F, T,
85 F, T, T, F, F, T,
86 T, F, F, T, F, T,
87 F, T, T, F, F, T,
88 F, T, T, F, F, T,
89 F, T, T, F, F, T,
90 F, T, T, F, F, T,
91 F, T, F, T, T, F,
92 F, T, F, T, T, F,
93 F, T, F, T, T, F,
94 F, T, F, T, T, F,
95 T, F, F, T, F, T,
96 F, T, F, T, T, F,
97 F, T, F, T, T, F,
98 F, T, F, T, T, F,
99 F, T, F, T, T, F,
100 F, T, F, T, T, F,
101 F, T, T, F, F, T,
102 F, T, F, T, T, F,
103 F, T, T, F, F, T,
104 T, F, F, T, F, T,
105 F, T, T, F, F, T,
106 F, T, T, F, F, T,
107 F, T, F, T, T, F,
108 F, T, F, T, T, F,
109 F, T, T, F, F, T,
110 F, T, F, T, T, F,
111 F, T, T, F, F, T,
112 F, T, F, T, T, F,
113 T, F, F, T, F, T,
114 F, T, T, F, F, T,
115 F, T, F, T, T, F,
116 F, T, F, T, T, F,
117 F, T, F, T, T, F,
118 F, T, F, T, T, F,
119 F, T, T, F, F, T,
120 F, T, F, T, T, F,
121 F, T, F, T, T, F,
122 T, F, F, T, F, T,
123 F, T, F, T, T, F,
124 F, T, T, F, F, T,
125 F, T, T, F, F, T,
126 F, T, T, F, F, T,
127 F, T, T, F, F, T,
128 F, T, T, F, F, T,
129 F, T, T, F, F, T,
130 F, T, T, F, F, T,
131 T, F, F, T, F, T,
135 main (void)
137 int i, j, *res = correct_results;
139 for (i = 0; i < 8; i++)
141 float arg0 = args[i];
142 for (j = 0; j < 8; j++)
144 float arg1 = args[j];
146 if (feq (arg0, arg1) != *res++)
147 abort ();
148 if (fne (arg0, arg1) != *res++)
149 abort ();
150 if (flt (arg0, arg1) != *res++)
151 abort ();
152 if (fge (arg0, arg1) != *res++)
153 abort ();
154 if (fgt (arg0, arg1) != *res++)
155 abort ();
156 if (fle (arg0, arg1) != *res++)
157 abort ();
160 exit (0);