modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/SFset.c (about) 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 23 int glob0, glob1; 24 25 #define type float 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