Fortran: Fix problems with substring selectors in ASSOCIATE [PR115700]
[official-gcc.git] / gcc / testsuite / gcc.c-torture / compile / UHIcmp.c
blob47f3999e75d5525c776943daa6872d8e5a3c4d09
1 /* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */
2 /* { dg-additional-options "-std=gnu89" } */
4 #define type unsigned short
6 type glob0, glob1;
8 #define E0 ((type *)10000000)
9 #define reg0 r0
10 #define indreg0 (*p0)
11 #define imm0 22
12 #define limm0 ((type)&glob0)
13 #define adr0 (*E0)
14 #define adrreg0 (p0[10000000])
15 #define adrx0 (E0[x0])
16 #define regx0 (p0[x0])
18 #define E1 ((type *)(11111111 & ~(__alignof__ (type) - 1)))
19 #define reg1 r1
20 #define indreg1 (*p1)
21 #define imm1 33
22 #define limm1 ((type)&glob1)
23 #define adr1 (*E1)
24 #define adrreg1 (p1[1111111/4])
25 #define adrx1 (E1[x1])
26 #define regx1 (p1[x1])
28 reg0reg1 (r0, r1, x0, x1, p0, p1)
29 type r0, r1; type *p0, *p1;
30 {if (reg0 <= reg1) return 1; else return 0;}
32 reg0indreg1 (r0, r1, x0, x1, p0, p1)
33 type r0, r1; type *p0, *p1;
34 {if (reg0 <= indreg1) return 1; else return 0;}
36 reg0imm1 (r0, r1, x0, x1, p0, p1)
37 type r0, r1; type *p0, *p1;
38 {if (reg0 <= imm1) return 1; else return 0;}
40 reg0limm1 (r0, r1, x0, x1, p0, p1)
41 type r0, r1; type *p0, *p1;
42 {if (reg0 <= limm1) return 1; else return 0;}
44 reg0adr1 (r0, r1, x0, x1, p0, p1)
45 type r0, r1; type *p0, *p1;
46 {if (reg0 <= adr1) return 1; else return 0;}
48 reg0adrreg1 (r0, r1, x0, x1, p0, p1)
49 type r0, r1; type *p0, *p1;
50 {if (reg0 <= adrreg1) return 1; else return 0;}
52 reg0adrx1 (r0, r1, x0, x1, p0, p1)
53 type r0, r1; type *p0, *p1;
54 {if (reg0 <= adrx1) return 1; else return 0;}
56 reg0regx1 (r0, r1, x0, x1, p0, p1)
57 type r0, r1; type *p0, *p1;
58 {if (reg0 <= regx1) return 1; else return 0;}
60 indreg0reg1 (r0, r1, x0, x1, p0, p1)
61 type r0, r1; type *p0, *p1;
62 {if (indreg0 <= reg1) return 1; else return 0;}
64 indreg0indreg1 (r0, r1, x0, x1, p0, p1)
65 type r0, r1; type *p0, *p1;
66 {if (indreg0 <= indreg1) return 1; else return 0;}
68 indreg0imm1 (r0, r1, x0, x1, p0, p1)
69 type r0, r1; type *p0, *p1;
70 {if (indreg0 <= imm1) return 1; else return 0;}
72 indreg0limm1 (r0, r1, x0, x1, p0, p1)
73 type r0, r1; type *p0, *p1;
74 {if (indreg0 <= limm1) return 1; else return 0;}
76 indreg0adr1 (r0, r1, x0, x1, p0, p1)
77 type r0, r1; type *p0, *p1;
78 {if (indreg0 <= adr1) return 1; else return 0;}
80 indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
81 type r0, r1; type *p0, *p1;
82 {if (indreg0 <= adrreg1) return 1; else return 0;}
84 indreg0adrx1 (r0, r1, x0, x1, p0, p1)
85 type r0, r1; type *p0, *p1;
86 {if (indreg0 <= adrx1) return 1; else return 0;}
88 indreg0regx1 (r0, r1, x0, x1, p0, p1)
89 type r0, r1; type *p0, *p1;
90 {if (indreg0 <= regx1) return 1; else return 0;}
92 imm0reg1 (r0, r1, x0, x1, p0, p1)
93 type r0, r1; type *p0, *p1;
94 {if (imm0 <= reg1) return 1; else return 0;}
96 imm0indreg1 (r0, r1, x0, x1, p0, p1)
97 type r0, r1; type *p0, *p1;
98 {if (imm0 <= indreg1) return 1; else return 0;}
100 imm0imm1 (r0, r1, x0, x1, p0, p1)
101 type r0, r1; type *p0, *p1;
102 {if (imm0 <= imm1) return 1; else return 0;}
104 imm0limm1 (r0, r1, x0, x1, p0, p1)
105 type r0, r1; type *p0, *p1;
106 {if (imm0 <= limm1) return 1; else return 0;}
108 imm0adr1 (r0, r1, x0, x1, p0, p1)
109 type r0, r1; type *p0, *p1;
110 {if (imm0 <= adr1) return 1; else return 0;}
112 imm0adrreg1 (r0, r1, x0, x1, p0, p1)
113 type r0, r1; type *p0, *p1;
114 {if (imm0 <= adrreg1) return 1; else return 0;}
116 imm0adrx1 (r0, r1, x0, x1, p0, p1)
117 type r0, r1; type *p0, *p1;
118 {if (imm0 <= adrx1) return 1; else return 0;}
120 imm0regx1 (r0, r1, x0, x1, p0, p1)
121 type r0, r1; type *p0, *p1;
122 {if (imm0 <= regx1) return 1; else return 0;}
124 limm0reg1 (r0, r1, x0, x1, p0, p1)
125 type r0, r1; type *p0, *p1;
126 {if (limm0 <= reg1) return 1; else return 0;}
128 limm0indreg1 (r0, r1, x0, x1, p0, p1)
129 type r0, r1; type *p0, *p1;
130 {if (limm0 <= indreg1) return 1; else return 0;}
132 limm0imm1 (r0, r1, x0, x1, p0, p1)
133 type r0, r1; type *p0, *p1;
134 {if (limm0 <= imm1) return 1; else return 0;}
136 limm0limm1 (r0, r1, x0, x1, p0, p1)
137 type r0, r1; type *p0, *p1;
138 {if (limm0 <= limm1) return 1; else return 0;}
140 limm0adr1 (r0, r1, x0, x1, p0, p1)
141 type r0, r1; type *p0, *p1;
142 {if (limm0 <= adr1) return 1; else return 0;}
144 limm0adrreg1 (r0, r1, x0, x1, p0, p1)
145 type r0, r1; type *p0, *p1;
146 {if (limm0 <= adrreg1) return 1; else return 0;}
148 limm0adrx1 (r0, r1, x0, x1, p0, p1)
149 type r0, r1; type *p0, *p1;
150 {if (limm0 <= adrx1) return 1; else return 0;}
152 limm0regx1 (r0, r1, x0, x1, p0, p1)
153 type r0, r1; type *p0, *p1;
154 {if (limm0 <= regx1) return 1; else return 0;}
156 adr0reg1 (r0, r1, x0, x1, p0, p1)
157 type r0, r1; type *p0, *p1;
158 {if (adr0 <= reg1) return 1; else return 0;}
160 adr0indreg1 (r0, r1, x0, x1, p0, p1)
161 type r0, r1; type *p0, *p1;
162 {if (adr0 <= indreg1) return 1; else return 0;}
164 adr0imm1 (r0, r1, x0, x1, p0, p1)
165 type r0, r1; type *p0, *p1;
166 {if (adr0 <= imm1) return 1; else return 0;}
168 adr0limm1 (r0, r1, x0, x1, p0, p1)
169 type r0, r1; type *p0, *p1;
170 {if (adr0 <= limm1) return 1; else return 0;}
172 adr0adr1 (r0, r1, x0, x1, p0, p1)
173 type r0, r1; type *p0, *p1;
174 {if (adr0 <= adr1) return 1; else return 0;}
176 adr0adrreg1 (r0, r1, x0, x1, p0, p1)
177 type r0, r1; type *p0, *p1;
178 {if (adr0 <= adrreg1) return 1; else return 0;}
180 adr0adrx1 (r0, r1, x0, x1, p0, p1)
181 type r0, r1; type *p0, *p1;
182 {if (adr0 <= adrx1) return 1; else return 0;}
184 adr0regx1 (r0, r1, x0, x1, p0, p1)
185 type r0, r1; type *p0, *p1;
186 {if (adr0 <= regx1) return 1; else return 0;}
188 adrreg0reg1 (r0, r1, x0, x1, p0, p1)
189 type r0, r1; type *p0, *p1;
190 {if (adrreg0 <= reg1) return 1; else return 0;}
192 adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
193 type r0, r1; type *p0, *p1;
194 {if (adrreg0 <= indreg1) return 1; else return 0;}
196 adrreg0imm1 (r0, r1, x0, x1, p0, p1)
197 type r0, r1; type *p0, *p1;
198 {if (adrreg0 <= imm1) return 1; else return 0;}
200 adrreg0limm1 (r0, r1, x0, x1, p0, p1)
201 type r0, r1; type *p0, *p1;
202 {if (adrreg0 <= limm1) return 1; else return 0;}
204 adrreg0adr1 (r0, r1, x0, x1, p0, p1)
205 type r0, r1; type *p0, *p1;
206 {if (adrreg0 <= adr1) return 1; else return 0;}
208 adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
209 type r0, r1; type *p0, *p1;
210 {if (adrreg0 <= adrreg1) return 1; else return 0;}
212 adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
213 type r0, r1; type *p0, *p1;
214 {if (adrreg0 <= adrx1) return 1; else return 0;}
216 adrreg0regx1 (r0, r1, x0, x1, p0, p1)
217 type r0, r1; type *p0, *p1;
218 {if (adrreg0 <= regx1) return 1; else return 0;}
220 adrx0reg1 (r0, r1, x0, x1, p0, p1)
221 type r0, r1; type *p0, *p1;
222 {if (adrx0 <= reg1) return 1; else return 0;}
224 adrx0indreg1 (r0, r1, x0, x1, p0, p1)
225 type r0, r1; type *p0, *p1;
226 {if (adrx0 <= indreg1) return 1; else return 0;}
228 adrx0imm1 (r0, r1, x0, x1, p0, p1)
229 type r0, r1; type *p0, *p1;
230 {if (adrx0 <= imm1) return 1; else return 0;}
232 adrx0limm1 (r0, r1, x0, x1, p0, p1)
233 type r0, r1; type *p0, *p1;
234 {if (adrx0 <= limm1) return 1; else return 0;}
236 adrx0adr1 (r0, r1, x0, x1, p0, p1)
237 type r0, r1; type *p0, *p1;
238 {if (adrx0 <= adr1) return 1; else return 0;}
240 adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
241 type r0, r1; type *p0, *p1;
242 {if (adrx0 <= adrreg1) return 1; else return 0;}
244 adrx0adrx1 (r0, r1, x0, x1, p0, p1)
245 type r0, r1; type *p0, *p1;
246 {if (adrx0 <= adrx1) return 1; else return 0;}
248 adrx0regx1 (r0, r1, x0, x1, p0, p1)
249 type r0, r1; type *p0, *p1;
250 {if (adrx0 <= regx1) return 1; else return 0;}
252 regx0reg1 (r0, r1, x0, x1, p0, p1)
253 type r0, r1; type *p0, *p1;
254 {if (regx0 <= reg1) return 1; else return 0;}
256 regx0indreg1 (r0, r1, x0, x1, p0, p1)
257 type r0, r1; type *p0, *p1;
258 {if (regx0 <= indreg1) return 1; else return 0;}
260 regx0imm1 (r0, r1, x0, x1, p0, p1)
261 type r0, r1; type *p0, *p1;
262 {if (regx0 <= imm1) return 1; else return 0;}
264 regx0limm1 (r0, r1, x0, x1, p0, p1)
265 type r0, r1; type *p0, *p1;
266 {if (regx0 <= limm1) return 1; else return 0;}
268 regx0adr1 (r0, r1, x0, x1, p0, p1)
269 type r0, r1; type *p0, *p1;
270 {if (regx0 <= adr1) return 1; else return 0;}
272 regx0adrreg1 (r0, r1, x0, x1, p0, p1)
273 type r0, r1; type *p0, *p1;
274 {if (regx0 <= adrreg1) return 1; else return 0;}
276 regx0adrx1 (r0, r1, x0, x1, p0, p1)
277 type r0, r1; type *p0, *p1;
278 {if (regx0 <= adrx1) return 1; else return 0;}
280 regx0regx1 (r0, r1, x0, x1, p0, p1)
281 type r0, r1; type *p0, *p1;
282 {if (regx0 <= regx1) return 1; else return 0;}