Match: Support imm form for unsigned scalar .SAT_ADD
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / cmpdi-1.c
bloba324b97c8b565831a99cb6329ee296c8907bbf25
1 /* { dg-additional-options "-std=gnu89" } */
3 #define F 140
4 #define T 13
6 feq (x, y)
7 long long int x;
8 long long int y;
10 if (x == y)
11 return T;
12 else
13 return F;
16 fne (x, y)
17 long long int x;
18 long long int y;
20 if (x != y)
21 return T;
22 else
23 return F;
26 flt (x, y)
27 long long int x;
28 long long int y;
30 if (x < y)
31 return T;
32 else
33 return F;
36 fge (x, y)
37 long long int x;
38 long long int y;
40 if (x >= y)
41 return T;
42 else
43 return F;
46 fgt (x, y)
47 long long int x;
48 long long int y;
50 if (x > y)
51 return T;
52 else
53 return F;
56 fle (x, y)
57 long long int x;
58 long long int y;
60 if (x <= y)
61 return T;
62 else
63 return F;
66 fltu (x, y)
67 unsigned long long int x;
68 unsigned long long int y;
70 if (x < y)
71 return T;
72 else
73 return F;
76 fgeu (x, y)
77 unsigned long long int x;
78 unsigned long long int y;
80 if (x >= y)
81 return T;
82 else
83 return F;
86 fgtu (x, y)
87 unsigned long long int x;
88 unsigned long long int y;
90 if (x > y)
91 return T;
92 else
93 return F;
96 fleu (x, y)
97 unsigned long long int x;
98 unsigned long long int y;
100 if (x <= y)
101 return T;
102 else
103 return F;
106 long long args[] =
108 0LL,
109 1LL,
110 -1LL,
111 0x7fffffffffffffffLL,
112 0x8000000000000000LL,
113 0x8000000000000001LL,
114 0x1A3F237394D36C58LL,
115 0x93850E92CAAC1B04LL
118 int correct_results[] =
120 T, F, F, T, F, T, F, T, 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, T, F, F, T, T, F, F, T,
124 F, T, F, T, T, F, T, F, F, T,
125 F, T, F, T, T, F, T, F, F, T,
126 F, T, T, F, F, T, T, F, F, T,
127 F, T, F, T, T, F, T, F, F, T,
128 F, T, F, T, T, F, F, T, T, F,
129 T, F, F, T, F, T, F, T, F, T,
130 F, T, F, T, T, F, T, F, F, T,
131 F, T, T, F, F, T, T, F, F, T,
132 F, T, F, T, T, F, T, F, F, T,
133 F, T, F, T, T, F, T, F, F, T,
134 F, T, T, F, F, T, T, F, F, T,
135 F, T, F, T, T, F, T, F, F, T,
136 F, T, T, F, F, T, F, T, T, F,
137 F, T, T, F, F, T, F, T, T, F,
138 T, F, F, T, F, T, F, T, F, T,
139 F, T, T, F, F, T, F, T, T, F,
140 F, T, F, T, T, F, F, T, T, F,
141 F, T, F, T, T, F, F, T, T, F,
142 F, T, T, F, F, T, F, T, T, F,
143 F, T, F, T, T, F, F, T, T, F,
144 F, T, F, T, T, F, F, T, T, F,
145 F, T, F, T, T, F, F, T, T, F,
146 F, T, F, T, T, F, T, F, F, T,
147 T, F, F, T, F, T, F, T, F, T,
148 F, T, F, T, T, F, T, F, F, T,
149 F, T, F, T, T, F, T, F, F, T,
150 F, T, F, T, T, F, F, T, T, F,
151 F, T, F, T, T, F, T, F, F, T,
152 F, T, T, F, F, T, F, T, T, F,
153 F, T, T, F, F, T, F, T, T, F,
154 F, T, T, F, F, T, T, F, F, T,
155 F, T, T, F, F, T, F, T, T, F,
156 T, F, F, T, F, T, F, T, F, T,
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, T, F, F, T,
160 F, T, T, F, F, T, F, T, T, F,
161 F, T, T, F, F, T, F, T, T, F,
162 F, T, T, F, F, T, T, F, F, T,
163 F, T, T, F, F, T, F, T, T, F,
164 F, T, F, T, T, F, F, T, T, F,
165 T, F, F, T, F, T, F, T, F, T,
166 F, T, T, F, F, T, F, T, T, F,
167 F, T, T, F, F, T, T, F, F, T,
168 F, T, F, T, T, F, F, T, T, F,
169 F, T, F, T, T, F, F, T, T, F,
170 F, T, F, T, T, F, T, F, F, T,
171 F, T, T, F, F, T, T, F, F, T,
172 F, T, F, T, T, F, T, F, F, T,
173 F, T, F, T, T, F, T, F, F, T,
174 T, F, F, T, F, T, F, T, F, T,
175 F, T, F, T, T, F, T, F, F, T,
176 F, T, T, F, F, T, F, T, T, F,
177 F, T, T, F, F, T, F, T, T, F,
178 F, T, T, F, F, T, T, F, F, T,
179 F, T, T, F, F, T, F, T, T, F,
180 F, T, F, T, T, F, F, T, T, F,
181 F, T, F, T, T, F, F, T, T, F,
182 F, T, T, F, F, T, F, T, T, F,
183 T, F, F, T, F, T, F, T, F, T
186 main ()
188 int i, j, *res = correct_results;
190 for (i = 0; i < 8; i++)
192 long long arg0 = args[i];
193 for (j = 0; j < 8; j++)
195 long long arg1 = args[j];
197 if (feq (arg0, arg1) != *res++)
198 abort ();
199 if (fne (arg0, arg1) != *res++)
200 abort ();
201 if (flt (arg0, arg1) != *res++)
202 abort ();
203 if (fge (arg0, arg1) != *res++)
204 abort ();
205 if (fgt (arg0, arg1) != *res++)
206 abort ();
207 if (fle (arg0, arg1) != *res++)
208 abort ();
209 if (fltu (arg0, arg1) != *res++)
210 abort ();
211 if (fgeu (arg0, arg1) != *res++)
212 abort ();
213 if (fgtu (arg0, arg1) != *res++)
214 abort ();
215 if (fleu (arg0, arg1) != *res++)
216 abort ();
219 exit (0);