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