(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr94344.c
       1  /* PR rtl-optimization/94344 */
       2  /* { dg-do compile { target { ilp32 || lp64 } } } */
       3  /* { dg-options "-O2 -fdump-tree-forwprop1" } */
       4  /* { dg-final { scan-tree-dump-times " r>> 27;" 4 "forwprop1" } } */
       5  /* { dg-final { scan-tree-dump-times " r>> 59;" 4 "forwprop1" } } */
       6  
       7  int
       8  f1 (int x)
       9  {
      10    return (x << 5) | (int)((unsigned int)x >> 27);
      11  }
      12  
      13  unsigned int
      14  f2 (int x)
      15  {
      16    return (x << 5) | ((unsigned int)x >> 27);
      17  }
      18  
      19  long long int
      20  f3 (long long int x)
      21  {
      22    return (x << 5) | (long long int)((unsigned long long int)x >> 59);
      23  }
      24  
      25  unsigned long long int
      26  f4 (long long int x)
      27  {
      28    return (x << 5) | ((unsigned long long int)x >> 59);
      29  }
      30  
      31  int
      32  f5 (int x)
      33  {
      34    return (int)((unsigned int)x >> 27) | (x << 5);
      35  }
      36  
      37  unsigned int
      38  f6 (int x)
      39  {
      40    return ((unsigned int)x >> 27) | (x << 5);
      41  }
      42  
      43  long long int
      44  f7 (long long int x)
      45  {
      46    return (long long int)((unsigned long long int)x >> 59) | (x << 5);
      47  }
      48  
      49  unsigned long long int
      50  f8 (long long int x)
      51  {
      52    return ((unsigned long long int)x >> 59) | (x << 5);
      53  }