(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr70542.c
       1  /* PR rtl-optimization/70542 */
       2  /* { dg-do run } */
       3  /* { dg-require-effective-target int32plus } */
       4  
       5  int a[113], d[113];
       6  short b[113], c[113], e[113];
       7  
       8  int
       9  main ()
      10  {
      11    int i;
      12    long j;
      13    for (i = 0; i < 113; ++i)
      14      {
      15        a[i] = -636544305;
      16        b[i] = -31804;
      17      }
      18    for (j = 1; j <= 112; ++j)
      19      {
      20        c[j] = b[j] >> ((a[j] & 1587842570) - 1510214139);
      21        if (a[j])
      22  	d[j] = j;
      23        e[j] = 7 << ((2312631697 - b[j]) - 2312663500);
      24      }
      25    asm volatile ("" : : : "memory");
      26    if (c[0] || d[0] || e[0])
      27      __builtin_abort ();
      28    for (i = 1; i <= 112; ++i)
      29      if (c[i] != -1 || d[i] != i || e[i] != 14)
      30        __builtin_abort ();
      31    return 0;
      32  }