(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr87485.c
       1  /* PR rtl-optimization/87485 */
       2  /* { dg-do compile { target int128 } } */
       3  /* { dg-options "-O2 -fschedule-insns -fno-guess-branch-probability -fno-isolate-erroneous-paths-dereference -fno-omit-frame-pointer -fno-split-wide-types -fno-tree-ccp -fno-tree-sra" } */
       4  /* { dg-additional-options "-fstack-protector-strong" { target fstack_protector } } */
       5  /* { dg-require-effective-target scheduling } */
       6  
       7  int *a;
       8  
       9  int
      10  foo (__int128 x, int y, int z)
      11  {
      12    __int128 b;
      13    *a = ((!!y ? y : x) * y | x) * 2;
      14    if (z == 0)
      15      {
      16        unsigned int c = 1;
      17        __int128 *d = &b;
      18        for (*a = 0; *a < 1; *a += y)
      19  	;
      20        *a += b < (c / 0);	/* { dg-warning "division by zero" } */
      21        goto l;
      22   m:
      23        while (b < 1)
      24  	;
      25        ++*a;
      26      }
      27    goto m;
      28   l:
      29    return 0;
      30  }