1 /* This testcase checks that the shift operand of r*sbg instructions is in 2 range. */ 3 4 /* { dg-do compile } */ 5 /* { dg-options "-O3 -march=zEC12 -Wno-shift-count-overflow" } */ 6 7 int g; 8 pos_ll_129(long long b)9void pos_ll_129 (long long b) 10 { 11 if (b >> 129 & 1) 12 g = b; 13 } 14 sizepos_ll_134(long long b)15void sizepos_ll_134 (long long b) 16 { 17 if (b >> 134 & 1) 18 g = b; 19 } 20 pos_ll_65(long long b)21void pos_ll_65 (long long b) 22 { 23 if (b >> 65 & 1) 24 g = b; 25 } 26 sizepos_ll_70(long long b)27void sizepos_ll_70 (long long b) 28 { 29 if (b >> 70 & 1) 30 g = b; 31 } 32 pos_ll_33(long long b)33void pos_ll_33 (long long b) 34 { 35 if (b >> 33 & 1) 36 g = b; 37 } 38 sizepos_ll_38(long long b)39void sizepos_ll_38 (long long b) 40 { 41 if (b >> 38 & 1) 42 g = b; 43 } 44 pos_ll_17(long long b)45void pos_ll_17 (long long b) 46 { 47 if (b >> 17 & 1) 48 g = b; 49 } 50 sizepos_ll_22(long long b)51void sizepos_ll_22 (long long b) 52 { 53 if (b >> 22 & 1) 54 g = b; 55 } 56 pos_ll_8(long long b)57void pos_ll_8 (long long b) 58 { 59 if (b >> 8 & 1) 60 g = b; 61 } 62 sizepos_ll_13(long long b)63void sizepos_ll_13 (long long b) 64 { 65 if (b >> 13 & 1) 66 g = b; 67 } 68 pos_l_129(long b)69void pos_l_129 (long b) 70 { 71 if (b >> 129 & 1) 72 g = b; 73 } 74 sizepos_l_134(long b)75void sizepos_l_134 (long b) 76 { 77 if (b >> 134 & 1) 78 g = b; 79 } 80 pos_l_65(long b)81void pos_l_65 (long b) 82 { 83 if (b >> 65 & 1) 84 g = b; 85 } 86 sizepos_l_70(long b)87void sizepos_l_70 (long b) 88 { 89 if (b >> 70 & 1) 90 g = b; 91 } 92 pos_l_33(long b)93void pos_l_33 (long b) 94 { 95 if (b >> 33 & 1) 96 g = b; 97 } 98 sizepos_l_38(long b)99void sizepos_l_38 (long b) 100 { 101 if (b >> 38 & 1) 102 g = b; 103 } 104 pos_l_17(long b)105void pos_l_17 (long b) 106 { 107 if (b >> 17 & 1) 108 g = b; 109 } 110 sizepos_l_22(long b)111void sizepos_l_22 (long b) 112 { 113 if (b >> 22 & 1) 114 g = b; 115 } 116 pos_l_8(long b)117void pos_l_8 (long b) 118 { 119 if (b >> 8 & 1) 120 g = b; 121 } 122 sizepos_l_13(long b)123void sizepos_l_13 (long b) 124 { 125 if (b >> 13 & 1) 126 g = b; 127 } 128 pos_i_129(int b)129void pos_i_129 (int b) 130 { 131 if (b >> 129 & 1) 132 g = b; 133 } 134 sizepos_i_134(int b)135void sizepos_i_134 (int b) 136 { 137 if (b >> 134 & 1) 138 g = b; 139 } 140 pos_i_65(int b)141void pos_i_65 (int b) 142 { 143 if (b >> 65 & 1) 144 g = b; 145 } 146 sizepos_i_70(int b)147void sizepos_i_70 (int b) 148 { 149 if (b >> 70 & 1) 150 g = b; 151 } 152 pos_i_33(int b)153void pos_i_33 (int b) 154 { 155 if (b >> 33 & 1) 156 g = b; 157 } 158 sizepos_i_38(int b)159void sizepos_i_38 (int b) 160 { 161 if (b >> 38 & 1) 162 g = b; 163 } 164 pos_i_17(int b)165void pos_i_17 (int b) 166 { 167 if (b >> 17 & 1) 168 g = b; 169 } 170 sizepos_i_22(int b)171void sizepos_i_22 (int b) 172 { 173 if (b >> 22 & 1) 174 g = b; 175 } 176 pos_i_8(int b)177void pos_i_8 (int b) 178 { 179 if (b >> 8 & 1) 180 g = b; 181 } 182 sizepos_i_13(int b)183void sizepos_i_13 (int b) 184 { 185 if (b >> 13 & 1) 186 g = b; 187 } 188 pos_s_129(short b)189void pos_s_129 (short b) 190 { 191 if (b >> 129 & 1) 192 g = b; 193 } 194 sizepos_s_134(short b)195void sizepos_s_134 (short b) 196 { 197 if (b >> 134 & 1) 198 g = b; 199 } 200 pos_s_65(short b)201void pos_s_65 (short b) 202 { 203 if (b >> 65 & 1) 204 g = b; 205 } 206 sizepos_s_70(short b)207void sizepos_s_70 (short b) 208 { 209 if (b >> 70 & 1) 210 g = b; 211 } 212 pos_s_33(short b)213void pos_s_33 (short b) 214 { 215 if (b >> 33 & 1) 216 g = b; 217 } 218 sizepos_s_38(short b)219void sizepos_s_38 (short b) 220 { 221 if (b >> 38 & 1) 222 g = b; 223 } 224 pos_s_17(short b)225void pos_s_17 (short b) 226 { 227 if (b >> 17 & 1) 228 g = b; 229 } 230 sizepos_s_22(short b)231void sizepos_s_22 (short b) 232 { 233 if (b >> 22 & 1) 234 g = b; 235 } 236 pos_s_8(short b)237void pos_s_8 (short b) 238 { 239 if (b >> 8 & 1) 240 g = b; 241 } 242 sizepos_s_13(short b)243void sizepos_s_13 (short b) 244 { 245 if (b >> 13 & 1) 246 g = b; 247 } 248 pos_c_129(signed char b)249void pos_c_129 (signed char b) 250 { 251 if (b >> 129 & 1) 252 g = b; 253 } 254 sizepos_c_134(signed char b)255void sizepos_c_134 (signed char b) 256 { 257 if (b >> 134 & 1) 258 g = b; 259 } 260 pos_c_65(signed char b)261void pos_c_65 (signed char b) 262 { 263 if (b >> 65 & 1) 264 g = b; 265 } 266 sizepos_c_70(signed char b)267void sizepos_c_70 (signed char b) 268 { 269 if (b >> 70 & 1) 270 g = b; 271 } 272 pos_c_33(signed char b)273void pos_c_33 (signed char b) 274 { 275 if (b >> 33 & 1) 276 g = b; 277 } 278 sizepos_c_38(signed char b)279void sizepos_c_38 (signed char b) 280 { 281 if (b >> 38 & 1) 282 g = b; 283 } 284 pos_c_17(signed char b)285void pos_c_17 (signed char b) 286 { 287 if (b >> 17 & 1) 288 g = b; 289 } 290 sizepos_c_22(signed char b)291void sizepos_c_22 (signed char b) 292 { 293 if (b >> 22 & 1) 294 g = b; 295 } 296 pos_c_8(signed char b)297void pos_c_8 (signed char b) 298 { 299 if (b >> 8 & 1) 300 g = b; 301 } 302 sizepos_c_13(signed char b)303void sizepos_c_13 (signed char b) 304 { 305 if (b >> 13 & 1) 306 g = b; 307 } 308 309 /* { dg-final { scan-assembler-not "risbg.*-\[0-9\]+\\\+1\n" } } */ 310