2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / cmpdi-1.c
blobe3e9c86060365545503065662a76749a088b67d3
1 #define F 140
2 #define T 13
4 feq (x, y)
5 long long int x;
6 long long int y;
8 if (x == y)
9 return T;
10 else
11 return F;
14 fne (x, y)
15 long long int x;
16 long long int y;
18 if (x != y)
19 return T;
20 else
21 return F;
24 flt (x, y)
25 long long int x;
26 long long int y;
28 if (x < y)
29 return T;
30 else
31 return F;
34 fge (x, y)
35 long long int x;
36 long long int y;
38 if (x >= y)
39 return T;
40 else
41 return F;
44 fgt (x, y)
45 long long int x;
46 long long int y;
48 if (x > y)
49 return T;
50 else
51 return F;
54 fle (x, y)
55 long long int x;
56 long long int y;
58 if (x <= y)
59 return T;
60 else
61 return F;
64 fltu (x, y)
65 unsigned long long int x;
66 unsigned long long int y;
68 if (x < y)
69 return T;
70 else
71 return F;
74 fgeu (x, y)
75 unsigned long long int x;
76 unsigned long long int y;
78 if (x >= y)
79 return T;
80 else
81 return F;
84 fgtu (x, y)
85 unsigned long long int x;
86 unsigned long long int y;
88 if (x > y)
89 return T;
90 else
91 return F;
94 fleu (x, y)
95 unsigned long long int x;
96 unsigned long long int y;
98 if (x <= y)
99 return T;
100 else
101 return F;
104 long long args[] =
106 0LL,
107 1LL,
108 -1LL,
109 0x7fffffffffffffffLL,
110 0x8000000000000000LL,
111 0x8000000000000001LL,
112 0x1A3F237394D36C58LL,
113 0x93850E92CAAC1B04LL
116 int correct_results[] =
118 T, F, F, T, F, T, F, T, F, T,
119 F, T, T, F, F, T, T, F, F, T,
120 F, T, F, T, T, F, T, F, F, T,
121 F, T, T, F, F, T, T, F, F, T,
122 F, T, F, T, T, F, T, F, F, T,
123 F, T, F, T, T, F, T, F, F, T,
124 F, T, T, F, F, T, T, F, F, T,
125 F, T, F, T, T, F, T, F, F, T,
126 F, T, F, T, T, F, F, T, T, F,
127 T, F, F, T, F, T, F, T, F, T,
128 F, T, F, T, T, F, T, F, F, T,
129 F, T, T, F, F, T, T, F, F, T,
130 F, T, F, T, T, F, T, F, F, T,
131 F, T, F, T, T, F, T, F, F, T,
132 F, T, T, F, F, T, T, F, F, T,
133 F, T, F, T, T, F, T, F, F, T,
134 F, T, T, F, F, T, F, T, T, F,
135 F, T, T, F, F, T, F, T, T, F,
136 T, F, F, T, F, T, F, T, F, T,
137 F, T, T, F, F, T, F, T, T, F,
138 F, T, F, T, T, F, F, T, T, F,
139 F, T, F, T, T, F, F, T, T, F,
140 F, T, T, F, F, T, F, T, T, F,
141 F, T, F, T, T, F, F, T, T, F,
142 F, T, F, T, T, F, F, T, T, F,
143 F, T, F, T, T, F, F, T, T, F,
144 F, T, F, T, T, F, T, F, F, T,
145 T, F, F, T, F, T, F, T, F, T,
146 F, T, F, T, T, F, T, F, F, T,
147 F, T, F, T, T, F, T, F, F, T,
148 F, T, F, T, T, F, F, T, T, F,
149 F, T, F, T, T, F, T, F, F, T,
150 F, T, T, F, F, T, F, T, T, F,
151 F, T, T, F, F, T, F, T, T, F,
152 F, T, T, F, F, T, T, F, F, T,
153 F, T, T, F, F, T, F, T, T, F,
154 T, F, F, T, F, T, F, T, F, T,
155 F, T, T, F, F, T, T, F, F, T,
156 F, T, T, F, F, T, F, T, T, F,
157 F, T, T, F, F, T, T, F, F, T,
158 F, T, T, F, F, T, F, T, T, F,
159 F, T, T, F, F, T, F, T, T, F,
160 F, T, T, F, F, T, T, F, F, T,
161 F, T, T, F, F, T, F, T, T, F,
162 F, T, F, T, T, F, F, T, T, F,
163 T, F, F, T, F, T, F, T, F, T,
164 F, T, T, F, F, T, F, T, T, F,
165 F, T, T, F, F, T, T, F, F, T,
166 F, T, F, T, T, F, F, T, T, F,
167 F, T, F, T, T, F, F, T, T, F,
168 F, T, F, T, T, F, T, F, F, T,
169 F, T, T, F, F, T, T, F, F, T,
170 F, T, F, T, T, F, T, F, F, T,
171 F, T, F, T, T, F, T, F, F, T,
172 T, F, F, T, F, T, F, T, F, T,
173 F, T, F, T, T, F, T, F, F, T,
174 F, T, T, F, F, T, F, T, T, F,
175 F, T, T, F, F, T, F, T, T, F,
176 F, T, T, F, F, T, T, F, F, T,
177 F, T, T, F, F, T, F, T, T, F,
178 F, T, F, T, T, F, F, T, T, F,
179 F, T, F, T, T, F, F, T, T, F,
180 F, T, T, F, F, T, F, T, T, F,
181 T, F, F, T, F, T, F, T, F, T
184 main ()
186 int i, j, *res = correct_results;
188 for (i = 0; i < 8; i++)
190 long long arg0 = args[i];
191 for (j = 0; j < 8; j++)
193 long long arg1 = args[j];
195 if (feq (arg0, arg1) != *res++)
196 abort ();
197 if (fne (arg0, arg1) != *res++)
198 abort ();
199 if (flt (arg0, arg1) != *res++)
200 abort ();
201 if (fge (arg0, arg1) != *res++)
202 abort ();
203 if (fgt (arg0, arg1) != *res++)
204 abort ();
205 if (fle (arg0, arg1) != *res++)
206 abort ();
207 if (fltu (arg0, arg1) != *res++)
208 abort ();
209 if (fgeu (arg0, arg1) != *res++)
210 abort ();
211 if (fgtu (arg0, arg1) != *res++)
212 abort ();
213 if (fleu (arg0, arg1) != *res++)
214 abort ();
217 exit (0);