1 /* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */
2
3 #define type unsigned char
4
5 type glob0, glob1;
6
7 #define E0 ((type *)10000000)
8 #define reg0 r0
9 #define indreg0 (*p0)
10 #define imm0 22
11 #define limm0 ((type)&glob0)
12 #define adr0 (*E0)
13 #define adrreg0 (p0[10000000])
14 #define adrx0 (E0[x0])
15 #define regx0 (p0[x0])
16
17 #define E1 ((type *)11111111)
18 #define reg1 r1
19 #define indreg1 (*p1)
20 #define imm1 33
21 #define limm1 ((type)&glob1)
22 #define adr1 (*E1)
23 #define adrreg1 (p1[1111111/4])
24 #define adrx1 (E1[x1])
25 #define regx1 (p1[x1])
26
reg0reg1(r0,r1,x0,x1,p0,p1)27 reg0reg1 (r0, r1, x0, x1, p0, p1)
28 type r0, r1; type *p0, *p1;
29 {if (reg0 <= reg1) return 1; else return 0;}
30
reg0indreg1(r0,r1,x0,x1,p0,p1)31 reg0indreg1 (r0, r1, x0, x1, p0, p1)
32 type r0, r1; type *p0, *p1;
33 {if (reg0 <= indreg1) return 1; else return 0;}
34
reg0imm1(r0,r1,x0,x1,p0,p1)35 reg0imm1 (r0, r1, x0, x1, p0, p1)
36 type r0, r1; type *p0, *p1;
37 {if (reg0 <= imm1) return 1; else return 0;}
38
reg0limm1(r0,r1,x0,x1,p0,p1)39 reg0limm1 (r0, r1, x0, x1, p0, p1)
40 type r0, r1; type *p0, *p1;
41 {if (reg0 <= limm1) return 1; else return 0;}
42
reg0adr1(r0,r1,x0,x1,p0,p1)43 reg0adr1 (r0, r1, x0, x1, p0, p1)
44 type r0, r1; type *p0, *p1;
45 {if (reg0 <= adr1) return 1; else return 0;}
46
reg0adrreg1(r0,r1,x0,x1,p0,p1)47 reg0adrreg1 (r0, r1, x0, x1, p0, p1)
48 type r0, r1; type *p0, *p1;
49 {if (reg0 <= adrreg1) return 1; else return 0;}
50
reg0adrx1(r0,r1,x0,x1,p0,p1)51 reg0adrx1 (r0, r1, x0, x1, p0, p1)
52 type r0, r1; type *p0, *p1;
53 {if (reg0 <= adrx1) return 1; else return 0;}
54
reg0regx1(r0,r1,x0,x1,p0,p1)55 reg0regx1 (r0, r1, x0, x1, p0, p1)
56 type r0, r1; type *p0, *p1;
57 {if (reg0 <= regx1) return 1; else return 0;}
58
indreg0reg1(r0,r1,x0,x1,p0,p1)59 indreg0reg1 (r0, r1, x0, x1, p0, p1)
60 type r0, r1; type *p0, *p1;
61 {if (indreg0 <= reg1) return 1; else return 0;}
62
indreg0indreg1(r0,r1,x0,x1,p0,p1)63 indreg0indreg1 (r0, r1, x0, x1, p0, p1)
64 type r0, r1; type *p0, *p1;
65 {if (indreg0 <= indreg1) return 1; else return 0;}
66
indreg0imm1(r0,r1,x0,x1,p0,p1)67 indreg0imm1 (r0, r1, x0, x1, p0, p1)
68 type r0, r1; type *p0, *p1;
69 {if (indreg0 <= imm1) return 1; else return 0;}
70
indreg0limm1(r0,r1,x0,x1,p0,p1)71 indreg0limm1 (r0, r1, x0, x1, p0, p1)
72 type r0, r1; type *p0, *p1;
73 {if (indreg0 <= limm1) return 1; else return 0;}
74
indreg0adr1(r0,r1,x0,x1,p0,p1)75 indreg0adr1 (r0, r1, x0, x1, p0, p1)
76 type r0, r1; type *p0, *p1;
77 {if (indreg0 <= adr1) return 1; else return 0;}
78
indreg0adrreg1(r0,r1,x0,x1,p0,p1)79 indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
80 type r0, r1; type *p0, *p1;
81 {if (indreg0 <= adrreg1) return 1; else return 0;}
82
indreg0adrx1(r0,r1,x0,x1,p0,p1)83 indreg0adrx1 (r0, r1, x0, x1, p0, p1)
84 type r0, r1; type *p0, *p1;
85 {if (indreg0 <= adrx1) return 1; else return 0;}
86
indreg0regx1(r0,r1,x0,x1,p0,p1)87 indreg0regx1 (r0, r1, x0, x1, p0, p1)
88 type r0, r1; type *p0, *p1;
89 {if (indreg0 <= regx1) return 1; else return 0;}
90
imm0reg1(r0,r1,x0,x1,p0,p1)91 imm0reg1 (r0, r1, x0, x1, p0, p1)
92 type r0, r1; type *p0, *p1;
93 {if (imm0 <= reg1) return 1; else return 0;}
94
imm0indreg1(r0,r1,x0,x1,p0,p1)95 imm0indreg1 (r0, r1, x0, x1, p0, p1)
96 type r0, r1; type *p0, *p1;
97 {if (imm0 <= indreg1) return 1; else return 0;}
98
imm0imm1(r0,r1,x0,x1,p0,p1)99 imm0imm1 (r0, r1, x0, x1, p0, p1)
100 type r0, r1; type *p0, *p1;
101 {if (imm0 <= imm1) return 1; else return 0;}
102
imm0limm1(r0,r1,x0,x1,p0,p1)103 imm0limm1 (r0, r1, x0, x1, p0, p1)
104 type r0, r1; type *p0, *p1;
105 {if (imm0 <= limm1) return 1; else return 0;}
106
imm0adr1(r0,r1,x0,x1,p0,p1)107 imm0adr1 (r0, r1, x0, x1, p0, p1)
108 type r0, r1; type *p0, *p1;
109 {if (imm0 <= adr1) return 1; else return 0;}
110
imm0adrreg1(r0,r1,x0,x1,p0,p1)111 imm0adrreg1 (r0, r1, x0, x1, p0, p1)
112 type r0, r1; type *p0, *p1;
113 {if (imm0 <= adrreg1) return 1; else return 0;}
114
imm0adrx1(r0,r1,x0,x1,p0,p1)115 imm0adrx1 (r0, r1, x0, x1, p0, p1)
116 type r0, r1; type *p0, *p1;
117 {if (imm0 <= adrx1) return 1; else return 0;}
118
imm0regx1(r0,r1,x0,x1,p0,p1)119 imm0regx1 (r0, r1, x0, x1, p0, p1)
120 type r0, r1; type *p0, *p1;
121 {if (imm0 <= regx1) return 1; else return 0;}
122
limm0reg1(r0,r1,x0,x1,p0,p1)123 limm0reg1 (r0, r1, x0, x1, p0, p1)
124 type r0, r1; type *p0, *p1;
125 {if (limm0 <= reg1) return 1; else return 0;}
126
limm0indreg1(r0,r1,x0,x1,p0,p1)127 limm0indreg1 (r0, r1, x0, x1, p0, p1)
128 type r0, r1; type *p0, *p1;
129 {if (limm0 <= indreg1) return 1; else return 0;}
130
limm0imm1(r0,r1,x0,x1,p0,p1)131 limm0imm1 (r0, r1, x0, x1, p0, p1)
132 type r0, r1; type *p0, *p1;
133 {if (limm0 <= imm1) return 1; else return 0;}
134
limm0limm1(r0,r1,x0,x1,p0,p1)135 limm0limm1 (r0, r1, x0, x1, p0, p1)
136 type r0, r1; type *p0, *p1;
137 {if (limm0 <= limm1) return 1; else return 0;}
138
limm0adr1(r0,r1,x0,x1,p0,p1)139 limm0adr1 (r0, r1, x0, x1, p0, p1)
140 type r0, r1; type *p0, *p1;
141 {if (limm0 <= adr1) return 1; else return 0;}
142
limm0adrreg1(r0,r1,x0,x1,p0,p1)143 limm0adrreg1 (r0, r1, x0, x1, p0, p1)
144 type r0, r1; type *p0, *p1;
145 {if (limm0 <= adrreg1) return 1; else return 0;}
146
limm0adrx1(r0,r1,x0,x1,p0,p1)147 limm0adrx1 (r0, r1, x0, x1, p0, p1)
148 type r0, r1; type *p0, *p1;
149 {if (limm0 <= adrx1) return 1; else return 0;}
150
limm0regx1(r0,r1,x0,x1,p0,p1)151 limm0regx1 (r0, r1, x0, x1, p0, p1)
152 type r0, r1; type *p0, *p1;
153 {if (limm0 <= regx1) return 1; else return 0;}
154
adr0reg1(r0,r1,x0,x1,p0,p1)155 adr0reg1 (r0, r1, x0, x1, p0, p1)
156 type r0, r1; type *p0, *p1;
157 {if (adr0 <= reg1) return 1; else return 0;}
158
adr0indreg1(r0,r1,x0,x1,p0,p1)159 adr0indreg1 (r0, r1, x0, x1, p0, p1)
160 type r0, r1; type *p0, *p1;
161 {if (adr0 <= indreg1) return 1; else return 0;}
162
adr0imm1(r0,r1,x0,x1,p0,p1)163 adr0imm1 (r0, r1, x0, x1, p0, p1)
164 type r0, r1; type *p0, *p1;
165 {if (adr0 <= imm1) return 1; else return 0;}
166
adr0limm1(r0,r1,x0,x1,p0,p1)167 adr0limm1 (r0, r1, x0, x1, p0, p1)
168 type r0, r1; type *p0, *p1;
169 {if (adr0 <= limm1) return 1; else return 0;}
170
adr0adr1(r0,r1,x0,x1,p0,p1)171 adr0adr1 (r0, r1, x0, x1, p0, p1)
172 type r0, r1; type *p0, *p1;
173 {if (adr0 <= adr1) return 1; else return 0;}
174
adr0adrreg1(r0,r1,x0,x1,p0,p1)175 adr0adrreg1 (r0, r1, x0, x1, p0, p1)
176 type r0, r1; type *p0, *p1;
177 {if (adr0 <= adrreg1) return 1; else return 0;}
178
adr0adrx1(r0,r1,x0,x1,p0,p1)179 adr0adrx1 (r0, r1, x0, x1, p0, p1)
180 type r0, r1; type *p0, *p1;
181 {if (adr0 <= adrx1) return 1; else return 0;}
182
adr0regx1(r0,r1,x0,x1,p0,p1)183 adr0regx1 (r0, r1, x0, x1, p0, p1)
184 type r0, r1; type *p0, *p1;
185 {if (adr0 <= regx1) return 1; else return 0;}
186
adrreg0reg1(r0,r1,x0,x1,p0,p1)187 adrreg0reg1 (r0, r1, x0, x1, p0, p1)
188 type r0, r1; type *p0, *p1;
189 {if (adrreg0 <= reg1) return 1; else return 0;}
190
adrreg0indreg1(r0,r1,x0,x1,p0,p1)191 adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
192 type r0, r1; type *p0, *p1;
193 {if (adrreg0 <= indreg1) return 1; else return 0;}
194
adrreg0imm1(r0,r1,x0,x1,p0,p1)195 adrreg0imm1 (r0, r1, x0, x1, p0, p1)
196 type r0, r1; type *p0, *p1;
197 {if (adrreg0 <= imm1) return 1; else return 0;}
198
adrreg0limm1(r0,r1,x0,x1,p0,p1)199 adrreg0limm1 (r0, r1, x0, x1, p0, p1)
200 type r0, r1; type *p0, *p1;
201 {if (adrreg0 <= limm1) return 1; else return 0;}
202
adrreg0adr1(r0,r1,x0,x1,p0,p1)203 adrreg0adr1 (r0, r1, x0, x1, p0, p1)
204 type r0, r1; type *p0, *p1;
205 {if (adrreg0 <= adr1) return 1; else return 0;}
206
adrreg0adrreg1(r0,r1,x0,x1,p0,p1)207 adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
208 type r0, r1; type *p0, *p1;
209 {if (adrreg0 <= adrreg1) return 1; else return 0;}
210
adrreg0adrx1(r0,r1,x0,x1,p0,p1)211 adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
212 type r0, r1; type *p0, *p1;
213 {if (adrreg0 <= adrx1) return 1; else return 0;}
214
adrreg0regx1(r0,r1,x0,x1,p0,p1)215 adrreg0regx1 (r0, r1, x0, x1, p0, p1)
216 type r0, r1; type *p0, *p1;
217 {if (adrreg0 <= regx1) return 1; else return 0;}
218
adrx0reg1(r0,r1,x0,x1,p0,p1)219 adrx0reg1 (r0, r1, x0, x1, p0, p1)
220 type r0, r1; type *p0, *p1;
221 {if (adrx0 <= reg1) return 1; else return 0;}
222
adrx0indreg1(r0,r1,x0,x1,p0,p1)223 adrx0indreg1 (r0, r1, x0, x1, p0, p1)
224 type r0, r1; type *p0, *p1;
225 {if (adrx0 <= indreg1) return 1; else return 0;}
226
adrx0imm1(r0,r1,x0,x1,p0,p1)227 adrx0imm1 (r0, r1, x0, x1, p0, p1)
228 type r0, r1; type *p0, *p1;
229 {if (adrx0 <= imm1) return 1; else return 0;}
230
adrx0limm1(r0,r1,x0,x1,p0,p1)231 adrx0limm1 (r0, r1, x0, x1, p0, p1)
232 type r0, r1; type *p0, *p1;
233 {if (adrx0 <= limm1) return 1; else return 0;}
234
adrx0adr1(r0,r1,x0,x1,p0,p1)235 adrx0adr1 (r0, r1, x0, x1, p0, p1)
236 type r0, r1; type *p0, *p1;
237 {if (adrx0 <= adr1) return 1; else return 0;}
238
adrx0adrreg1(r0,r1,x0,x1,p0,p1)239 adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
240 type r0, r1; type *p0, *p1;
241 {if (adrx0 <= adrreg1) return 1; else return 0;}
242
adrx0adrx1(r0,r1,x0,x1,p0,p1)243 adrx0adrx1 (r0, r1, x0, x1, p0, p1)
244 type r0, r1; type *p0, *p1;
245 {if (adrx0 <= adrx1) return 1; else return 0;}
246
adrx0regx1(r0,r1,x0,x1,p0,p1)247 adrx0regx1 (r0, r1, x0, x1, p0, p1)
248 type r0, r1; type *p0, *p1;
249 {if (adrx0 <= regx1) return 1; else return 0;}
250
regx0reg1(r0,r1,x0,x1,p0,p1)251 regx0reg1 (r0, r1, x0, x1, p0, p1)
252 type r0, r1; type *p0, *p1;
253 {if (regx0 <= reg1) return 1; else return 0;}
254
regx0indreg1(r0,r1,x0,x1,p0,p1)255 regx0indreg1 (r0, r1, x0, x1, p0, p1)
256 type r0, r1; type *p0, *p1;
257 {if (regx0 <= indreg1) return 1; else return 0;}
258
regx0imm1(r0,r1,x0,x1,p0,p1)259 regx0imm1 (r0, r1, x0, x1, p0, p1)
260 type r0, r1; type *p0, *p1;
261 {if (regx0 <= imm1) return 1; else return 0;}
262
regx0limm1(r0,r1,x0,x1,p0,p1)263 regx0limm1 (r0, r1, x0, x1, p0, p1)
264 type r0, r1; type *p0, *p1;
265 {if (regx0 <= limm1) return 1; else return 0;}
266
regx0adr1(r0,r1,x0,x1,p0,p1)267 regx0adr1 (r0, r1, x0, x1, p0, p1)
268 type r0, r1; type *p0, *p1;
269 {if (regx0 <= adr1) return 1; else return 0;}
270
regx0adrreg1(r0,r1,x0,x1,p0,p1)271 regx0adrreg1 (r0, r1, x0, x1, p0, p1)
272 type r0, r1; type *p0, *p1;
273 {if (regx0 <= adrreg1) return 1; else return 0;}
274
regx0adrx1(r0,r1,x0,x1,p0,p1)275 regx0adrx1 (r0, r1, x0, x1, p0, p1)
276 type r0, r1; type *p0, *p1;
277 {if (regx0 <= adrx1) return 1; else return 0;}
278
regx0regx1(r0,r1,x0,x1,p0,p1)279 regx0regx1 (r0, r1, x0, x1, p0, p1)
280 type r0, r1; type *p0, *p1;
281 {if (regx0 <= regx1) return 1; else return 0;}
282
283