/* This testcase checks that the shift operand of r*sbg instructions is in range. */ /* { dg-do compile } */ /* { dg-options "-O3 -march=zEC12 -Wno-shift-count-overflow" } */ int g; void pos_ll_129 (long long b) { if (b >> 129 & 1) g = b; } void sizepos_ll_134 (long long b) { if (b >> 134 & 1) g = b; } void pos_ll_65 (long long b) { if (b >> 65 & 1) g = b; } void sizepos_ll_70 (long long b) { if (b >> 70 & 1) g = b; } void pos_ll_33 (long long b) { if (b >> 33 & 1) g = b; } void sizepos_ll_38 (long long b) { if (b >> 38 & 1) g = b; } void pos_ll_17 (long long b) { if (b >> 17 & 1) g = b; } void sizepos_ll_22 (long long b) { if (b >> 22 & 1) g = b; } void pos_ll_8 (long long b) { if (b >> 8 & 1) g = b; } void sizepos_ll_13 (long long b) { if (b >> 13 & 1) g = b; } void pos_l_129 (long b) { if (b >> 129 & 1) g = b; } void sizepos_l_134 (long b) { if (b >> 134 & 1) g = b; } void pos_l_65 (long b) { if (b >> 65 & 1) g = b; } void sizepos_l_70 (long b) { if (b >> 70 & 1) g = b; } void pos_l_33 (long b) { if (b >> 33 & 1) g = b; } void sizepos_l_38 (long b) { if (b >> 38 & 1) g = b; } void pos_l_17 (long b) { if (b >> 17 & 1) g = b; } void sizepos_l_22 (long b) { if (b >> 22 & 1) g = b; } void pos_l_8 (long b) { if (b >> 8 & 1) g = b; } void sizepos_l_13 (long b) { if (b >> 13 & 1) g = b; } void pos_i_129 (int b) { if (b >> 129 & 1) g = b; } void sizepos_i_134 (int b) { if (b >> 134 & 1) g = b; } void pos_i_65 (int b) { if (b >> 65 & 1) g = b; } void sizepos_i_70 (int b) { if (b >> 70 & 1) g = b; } void pos_i_33 (int b) { if (b >> 33 & 1) g = b; } void sizepos_i_38 (int b) { if (b >> 38 & 1) g = b; } void pos_i_17 (int b) { if (b >> 17 & 1) g = b; } void sizepos_i_22 (int b) { if (b >> 22 & 1) g = b; } void pos_i_8 (int b) { if (b >> 8 & 1) g = b; } void sizepos_i_13 (int b) { if (b >> 13 & 1) g = b; } void pos_s_129 (short b) { if (b >> 129 & 1) g = b; } void sizepos_s_134 (short b) { if (b >> 134 & 1) g = b; } void pos_s_65 (short b) { if (b >> 65 & 1) g = b; } void sizepos_s_70 (short b) { if (b >> 70 & 1) g = b; } void pos_s_33 (short b) { if (b >> 33 & 1) g = b; } void sizepos_s_38 (short b) { if (b >> 38 & 1) g = b; } void pos_s_17 (short b) { if (b >> 17 & 1) g = b; } void sizepos_s_22 (short b) { if (b >> 22 & 1) g = b; } void pos_s_8 (short b) { if (b >> 8 & 1) g = b; } void sizepos_s_13 (short b) { if (b >> 13 & 1) g = b; } void pos_c_129 (signed char b) { if (b >> 129 & 1) g = b; } void sizepos_c_134 (signed char b) { if (b >> 134 & 1) g = b; } void pos_c_65 (signed char b) { if (b >> 65 & 1) g = b; } void sizepos_c_70 (signed char b) { if (b >> 70 & 1) g = b; } void pos_c_33 (signed char b) { if (b >> 33 & 1) g = b; } void sizepos_c_38 (signed char b) { if (b >> 38 & 1) g = b; } void pos_c_17 (signed char b) { if (b >> 17 & 1) g = b; } void sizepos_c_22 (signed char b) { if (b >> 22 & 1) g = b; } void pos_c_8 (signed char b) { if (b >> 8 & 1) g = b; } void sizepos_c_13 (signed char b) { if (b >> 13 & 1) g = b; } /* { dg-final { scan-assembler-not "risbg.*-\[0-9\]+\\\+1\n" } } */