1 /* { dg-require-effective-target int32plus } */
2 /* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */
3 /* { dg-additional-options "-std=gnu89" } */
5 #define E0 ((type *)10000000)
9 #define limm0 ((type)(int)&glob0)
11 #define adrreg0 (p0[10000000])
12 #define adrx0 (E0[x0])
13 #define regx0 (p0[x0])
15 #define E1 ((type *)(11111111 & ~(__alignof__ (type) - 1)))
19 #define limm1 ((type)(int)&glob1)
21 #define adrreg1 (p1[1111111/4])
22 #define adrx1 (E1[x1])
23 #define regx1 (p1[x1])
29 reg0reg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
30 type r0
, r1
; type
*p0
, *p1
;
33 reg0indreg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
34 type r0
, r1
; type
*p0
, *p1
;
37 reg0imm1_set (r0
, r1
, x0
, x1
, p0
, p1
)
38 type r0
, r1
; type
*p0
, *p1
;
41 reg0limm1_set (r0
, r1
, x0
, x1
, p0
, p1
)
42 type r0
, r1
; type
*p0
, *p1
;
45 reg0adr1_set (r0
, r1
, x0
, x1
, p0
, p1
)
46 type r0
, r1
; type
*p0
, *p1
;
49 reg0adrreg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
50 type r0
, r1
; type
*p0
, *p1
;
53 reg0adrx1_set (r0
, r1
, x0
, x1
, p0
, p1
)
54 type r0
, r1
; type
*p0
, *p1
;
57 reg0regx1_set (r0
, r1
, x0
, x1
, p0
, p1
)
58 type r0
, r1
; type
*p0
, *p1
;
61 indreg0reg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
62 type r0
, r1
; type
*p0
, *p1
;
65 indreg0indreg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
66 type r0
, r1
; type
*p0
, *p1
;
69 indreg0imm1_set (r0
, r1
, x0
, x1
, p0
, p1
)
70 type r0
, r1
; type
*p0
, *p1
;
73 indreg0limm1_set (r0
, r1
, x0
, x1
, p0
, p1
)
74 type r0
, r1
; type
*p0
, *p1
;
77 indreg0adr1_set (r0
, r1
, x0
, x1
, p0
, p1
)
78 type r0
, r1
; type
*p0
, *p1
;
81 indreg0adrreg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
82 type r0
, r1
; type
*p0
, *p1
;
85 indreg0adrx1_set (r0
, r1
, x0
, x1
, p0
, p1
)
86 type r0
, r1
; type
*p0
, *p1
;
89 indreg0regx1_set (r0
, r1
, x0
, x1
, p0
, p1
)
90 type r0
, r1
; type
*p0
, *p1
;
93 adr0reg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
94 type r0
, r1
; type
*p0
, *p1
;
97 adr0indreg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
98 type r0
, r1
; type
*p0
, *p1
;
101 adr0imm1_set (r0
, r1
, x0
, x1
, p0
, p1
)
102 type r0
, r1
; type
*p0
, *p1
;
105 adr0limm1_set (r0
, r1
, x0
, x1
, p0
, p1
)
106 type r0
, r1
; type
*p0
, *p1
;
109 adr0adr1_set (r0
, r1
, x0
, x1
, p0
, p1
)
110 type r0
, r1
; type
*p0
, *p1
;
113 adr0adrreg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
114 type r0
, r1
; type
*p0
, *p1
;
117 adr0adrx1_set (r0
, r1
, x0
, x1
, p0
, p1
)
118 type r0
, r1
; type
*p0
, *p1
;
121 adr0regx1_set (r0
, r1
, x0
, x1
, p0
, p1
)
122 type r0
, r1
; type
*p0
, *p1
;
125 adrreg0reg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
126 type r0
, r1
; type
*p0
, *p1
;
129 adrreg0indreg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
130 type r0
, r1
; type
*p0
, *p1
;
131 {adrreg0
= indreg1
; }
133 adrreg0imm1_set (r0
, r1
, x0
, x1
, p0
, p1
)
134 type r0
, r1
; type
*p0
, *p1
;
137 adrreg0limm1_set (r0
, r1
, x0
, x1
, p0
, p1
)
138 type r0
, r1
; type
*p0
, *p1
;
141 adrreg0adr1_set (r0
, r1
, x0
, x1
, p0
, p1
)
142 type r0
, r1
; type
*p0
, *p1
;
145 adrreg0adrreg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
146 type r0
, r1
; type
*p0
, *p1
;
147 {adrreg0
= adrreg1
; }
149 adrreg0adrx1_set (r0
, r1
, x0
, x1
, p0
, p1
)
150 type r0
, r1
; type
*p0
, *p1
;
153 adrreg0regx1_set (r0
, r1
, x0
, x1
, p0
, p1
)
154 type r0
, r1
; type
*p0
, *p1
;
157 adrx0reg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
158 type r0
, r1
; type
*p0
, *p1
;
161 adrx0indreg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
162 type r0
, r1
; type
*p0
, *p1
;
165 adrx0imm1_set (r0
, r1
, x0
, x1
, p0
, p1
)
166 type r0
, r1
; type
*p0
, *p1
;
169 adrx0limm1_set (r0
, r1
, x0
, x1
, p0
, p1
)
170 type r0
, r1
; type
*p0
, *p1
;
173 adrx0adr1_set (r0
, r1
, x0
, x1
, p0
, p1
)
174 type r0
, r1
; type
*p0
, *p1
;
177 adrx0adrreg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
178 type r0
, r1
; type
*p0
, *p1
;
181 adrx0adrx1_set (r0
, r1
, x0
, x1
, p0
, p1
)
182 type r0
, r1
; type
*p0
, *p1
;
185 adrx0regx1_set (r0
, r1
, x0
, x1
, p0
, p1
)
186 type r0
, r1
; type
*p0
, *p1
;
189 regx0reg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
190 type r0
, r1
; type
*p0
, *p1
;
193 regx0indreg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
194 type r0
, r1
; type
*p0
, *p1
;
197 regx0imm1_set (r0
, r1
, x0
, x1
, p0
, p1
)
198 type r0
, r1
; type
*p0
, *p1
;
201 regx0limm1_set (r0
, r1
, x0
, x1
, p0
, p1
)
202 type r0
, r1
; type
*p0
, *p1
;
205 regx0adr1_set (r0
, r1
, x0
, x1
, p0
, p1
)
206 type r0
, r1
; type
*p0
, *p1
;
209 regx0adrreg1_set (r0
, r1
, x0
, x1
, p0
, p1
)
210 type r0
, r1
; type
*p0
, *p1
;
213 regx0adrx1_set (r0
, r1
, x0
, x1
, p0
, p1
)
214 type r0
, r1
; type
*p0
, *p1
;
217 regx0regx1_set (r0
, r1
, x0
, x1
, p0
, p1
)
218 type r0
, r1
; type
*p0
, *p1
;