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