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