1 /* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */
2 /* { dg-additional-options "-std=gnu89" } */
4 #define type unsigned short
8 #define E0 ((type *)10000000)
12 #define limm0 ((type)&glob0)
14 #define adrreg0 (p0[10000000])
15 #define adrx0 (E0[x0])
16 #define regx0 (p0[x0])
18 #define E1 ((type *)(11111111 & ~(__alignof__ (type) - 1)))
22 #define limm1 ((type)&glob1)
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;}