(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr53533-2.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O2" } */
       3  
       4  #include "pr53533-1.c"
       5  
       6  void
       7  __attribute__((optimize("-O0")))
       8  foo1 (unsigned a[256], unsigned b[256])
       9  {
      10    int i;
      11    for (i = 0; i < 256; ++i)
      12      {
      13        unsigned tmp = a[i] + 12345U;
      14        tmp *= 914237U;
      15        tmp += 12332U;
      16        tmp *= 914237U;
      17        tmp += 12332U;
      18        tmp *= 914237U;
      19        tmp -= 13U;
      20        tmp *= 8000U;
      21        b[i] = tmp;
      22      }
      23  }
      24  
      25  int main()
      26  {
      27    unsigned int a[256];
      28    unsigned int b[256];
      29    unsigned int c[256];
      30    for (unsigned int i = 0; i != 256; i++)
      31      {
      32        b[i] = 0;
      33        c[i] = 1;
      34        a[i] = i * i - 10 * i + 33;
      35      }
      36    foo (a, b);
      37    foo1 (a, c);
      38  
      39    for (unsigned int i = 0; i != 256; i++)
      40      {
      41        if (b[i] != c[i])
      42  	__builtin_abort ();
      43      }
      44  
      45    return 0;
      46  }