145
|
1 /* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */
|
|
2
|
111
|
3 #define E0 ((type *)10000000)
|
|
4 #define reg0 r0
|
|
5 #define indreg0 (*p0)
|
|
6 #define imm0 22
|
|
7 #define limm0 ((type)(int)&glob0)
|
|
8 #define adr0 (*E0)
|
|
9 #define adrreg0 (p0[10000000])
|
|
10 #define adrx0 (E0[x0])
|
|
11 #define regx0 (p0[x0])
|
|
12
|
|
13 #define E1 ((type *)(11111111 & ~(__alignof__ (type) - 1)))
|
|
14 #define reg1 r1
|
|
15 #define indreg1 (*p1)
|
|
16 #define imm1 33
|
|
17 #define limm1 ((type)(int)&glob1)
|
|
18 #define adr1 (*E1)
|
|
19 #define adrreg1 (p1[1111111/4])
|
|
20 #define adrx1 (E1[x1])
|
|
21 #define regx1 (p1[x1])
|
|
22
|
|
23 int glob0, glob1;
|
|
24
|
|
25 #define type int
|
|
26
|
|
27 reg0reg1_set (r0, r1, x0, x1, p0, p1)
|
|
28 type r0, r1; type *p0, *p1;
|
|
29 {reg0 = reg1; }
|
|
30
|
|
31 reg0indreg1_set (r0, r1, x0, x1, p0, p1)
|
|
32 type r0, r1; type *p0, *p1;
|
|
33 {reg0 = indreg1; }
|
|
34
|
|
35 reg0imm1_set (r0, r1, x0, x1, p0, p1)
|
|
36 type r0, r1; type *p0, *p1;
|
|
37 {reg0 = imm1; }
|
|
38
|
|
39 reg0limm1_set (r0, r1, x0, x1, p0, p1)
|
|
40 type r0, r1; type *p0, *p1;
|
|
41 {reg0 = limm1; }
|
|
42
|
|
43 reg0adr1_set (r0, r1, x0, x1, p0, p1)
|
|
44 type r0, r1; type *p0, *p1;
|
|
45 {reg0 = adr1; }
|
|
46
|
|
47 reg0adrreg1_set (r0, r1, x0, x1, p0, p1)
|
|
48 type r0, r1; type *p0, *p1;
|
|
49 {reg0 = adrreg1; }
|
|
50
|
|
51 reg0adrx1_set (r0, r1, x0, x1, p0, p1)
|
|
52 type r0, r1; type *p0, *p1;
|
|
53 {reg0 = adrx1; }
|
|
54
|
|
55 reg0regx1_set (r0, r1, x0, x1, p0, p1)
|
|
56 type r0, r1; type *p0, *p1;
|
|
57 {reg0 = regx1; }
|
|
58
|
|
59 indreg0reg1_set (r0, r1, x0, x1, p0, p1)
|
|
60 type r0, r1; type *p0, *p1;
|
|
61 {indreg0 = reg1; }
|
|
62
|
|
63 indreg0indreg1_set (r0, r1, x0, x1, p0, p1)
|
|
64 type r0, r1; type *p0, *p1;
|
|
65 {indreg0 = indreg1; }
|
|
66
|
|
67 indreg0imm1_set (r0, r1, x0, x1, p0, p1)
|
|
68 type r0, r1; type *p0, *p1;
|
|
69 {indreg0 = imm1; }
|
|
70
|
|
71 indreg0limm1_set (r0, r1, x0, x1, p0, p1)
|
|
72 type r0, r1; type *p0, *p1;
|
|
73 {indreg0 = limm1; }
|
|
74
|
|
75 indreg0adr1_set (r0, r1, x0, x1, p0, p1)
|
|
76 type r0, r1; type *p0, *p1;
|
|
77 {indreg0 = adr1; }
|
|
78
|
|
79 indreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
|
|
80 type r0, r1; type *p0, *p1;
|
|
81 {indreg0 = adrreg1; }
|
|
82
|
|
83 indreg0adrx1_set (r0, r1, x0, x1, p0, p1)
|
|
84 type r0, r1; type *p0, *p1;
|
|
85 {indreg0 = adrx1; }
|
|
86
|
|
87 indreg0regx1_set (r0, r1, x0, x1, p0, p1)
|
|
88 type r0, r1; type *p0, *p1;
|
|
89 {indreg0 = regx1; }
|
|
90
|
|
91 adr0reg1_set (r0, r1, x0, x1, p0, p1)
|
|
92 type r0, r1; type *p0, *p1;
|
|
93 {adr0 = reg1; }
|
|
94
|
|
95 adr0indreg1_set (r0, r1, x0, x1, p0, p1)
|
|
96 type r0, r1; type *p0, *p1;
|
|
97 {adr0 = indreg1; }
|
|
98
|
|
99 adr0imm1_set (r0, r1, x0, x1, p0, p1)
|
|
100 type r0, r1; type *p0, *p1;
|
|
101 {adr0 = imm1; }
|
|
102
|
|
103 adr0limm1_set (r0, r1, x0, x1, p0, p1)
|
|
104 type r0, r1; type *p0, *p1;
|
|
105 {adr0 = limm1; }
|
|
106
|
|
107 adr0adr1_set (r0, r1, x0, x1, p0, p1)
|
|
108 type r0, r1; type *p0, *p1;
|
|
109 {adr0 = adr1; }
|
|
110
|
|
111 adr0adrreg1_set (r0, r1, x0, x1, p0, p1)
|
|
112 type r0, r1; type *p0, *p1;
|
|
113 {adr0 = adrreg1; }
|
|
114
|
|
115 adr0adrx1_set (r0, r1, x0, x1, p0, p1)
|
|
116 type r0, r1; type *p0, *p1;
|
|
117 {adr0 = adrx1; }
|
|
118
|
|
119 adr0regx1_set (r0, r1, x0, x1, p0, p1)
|
|
120 type r0, r1; type *p0, *p1;
|
|
121 {adr0 = regx1; }
|
|
122
|
|
123 adrreg0reg1_set (r0, r1, x0, x1, p0, p1)
|
|
124 type r0, r1; type *p0, *p1;
|
|
125 {adrreg0 = reg1; }
|
|
126
|
|
127 adrreg0indreg1_set (r0, r1, x0, x1, p0, p1)
|
|
128 type r0, r1; type *p0, *p1;
|
|
129 {adrreg0 = indreg1; }
|
|
130
|
|
131 adrreg0imm1_set (r0, r1, x0, x1, p0, p1)
|
|
132 type r0, r1; type *p0, *p1;
|
|
133 {adrreg0 = imm1; }
|
|
134
|
|
135 adrreg0limm1_set (r0, r1, x0, x1, p0, p1)
|
|
136 type r0, r1; type *p0, *p1;
|
|
137 {adrreg0 = limm1; }
|
|
138
|
|
139 adrreg0adr1_set (r0, r1, x0, x1, p0, p1)
|
|
140 type r0, r1; type *p0, *p1;
|
|
141 {adrreg0 = adr1; }
|
|
142
|
|
143 adrreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
|
|
144 type r0, r1; type *p0, *p1;
|
|
145 {adrreg0 = adrreg1; }
|
|
146
|
|
147 adrreg0adrx1_set (r0, r1, x0, x1, p0, p1)
|
|
148 type r0, r1; type *p0, *p1;
|
|
149 {adrreg0 = adrx1; }
|
|
150
|
|
151 adrreg0regx1_set (r0, r1, x0, x1, p0, p1)
|
|
152 type r0, r1; type *p0, *p1;
|
|
153 {adrreg0 = regx1; }
|
|
154
|
|
155 adrx0reg1_set (r0, r1, x0, x1, p0, p1)
|
|
156 type r0, r1; type *p0, *p1;
|
|
157 {adrx0 = reg1; }
|
|
158
|
|
159 adrx0indreg1_set (r0, r1, x0, x1, p0, p1)
|
|
160 type r0, r1; type *p0, *p1;
|
|
161 {adrx0 = indreg1; }
|
|
162
|
|
163 adrx0imm1_set (r0, r1, x0, x1, p0, p1)
|
|
164 type r0, r1; type *p0, *p1;
|
|
165 {adrx0 = imm1; }
|
|
166
|
|
167 adrx0limm1_set (r0, r1, x0, x1, p0, p1)
|
|
168 type r0, r1; type *p0, *p1;
|
|
169 {adrx0 = limm1; }
|
|
170
|
|
171 adrx0adr1_set (r0, r1, x0, x1, p0, p1)
|
|
172 type r0, r1; type *p0, *p1;
|
|
173 {adrx0 = adr1; }
|
|
174
|
|
175 adrx0adrreg1_set (r0, r1, x0, x1, p0, p1)
|
|
176 type r0, r1; type *p0, *p1;
|
|
177 {adrx0 = adrreg1; }
|
|
178
|
|
179 adrx0adrx1_set (r0, r1, x0, x1, p0, p1)
|
|
180 type r0, r1; type *p0, *p1;
|
|
181 {adrx0 = adrx1; }
|
|
182
|
|
183 adrx0regx1_set (r0, r1, x0, x1, p0, p1)
|
|
184 type r0, r1; type *p0, *p1;
|
|
185 {adrx0 = regx1; }
|
|
186
|
|
187 regx0reg1_set (r0, r1, x0, x1, p0, p1)
|
|
188 type r0, r1; type *p0, *p1;
|
|
189 {regx0 = reg1; }
|
|
190
|
|
191 regx0indreg1_set (r0, r1, x0, x1, p0, p1)
|
|
192 type r0, r1; type *p0, *p1;
|
|
193 {regx0 = indreg1; }
|
|
194
|
|
195 regx0imm1_set (r0, r1, x0, x1, p0, p1)
|
|
196 type r0, r1; type *p0, *p1;
|
|
197 {regx0 = imm1; }
|
|
198
|
|
199 regx0limm1_set (r0, r1, x0, x1, p0, p1)
|
|
200 type r0, r1; type *p0, *p1;
|
|
201 {regx0 = limm1; }
|
|
202
|
|
203 regx0adr1_set (r0, r1, x0, x1, p0, p1)
|
|
204 type r0, r1; type *p0, *p1;
|
|
205 {regx0 = adr1; }
|
|
206
|
|
207 regx0adrreg1_set (r0, r1, x0, x1, p0, p1)
|
|
208 type r0, r1; type *p0, *p1;
|
|
209 {regx0 = adrreg1; }
|
|
210
|
|
211 regx0adrx1_set (r0, r1, x0, x1, p0, p1)
|
|
212 type r0, r1; type *p0, *p1;
|
|
213 {regx0 = adrx1; }
|
|
214
|
|
215 regx0regx1_set (r0, r1, x0, x1, p0, p1)
|
|
216 type r0, r1; type *p0, *p1;
|
|
217 {regx0 = regx1; }
|
|
218
|