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