(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tree-ssa/
loop-36.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fdump-tree-dce3" } */
       3  
       4  struct X { float array[2]; };
       5  
       6  struct X a,b;
       7  
       8  float foobar () {
       9    float s = 0;
      10    unsigned int d;
      11    struct X c;
      12    for (d=0; d<2; ++d)
      13      c.array[d] = a.array[d] * b.array[d];
      14    for (d=0; d<2; ++d)
      15      s+=c.array[d];
      16    return s;
      17  }
      18  
      19  /* The temporary structure should have been promoted to registers
      20     by FRE after the loops have been unrolled by the early unrolling pass.  */
      21  /* { dg-final { scan-tree-dump-not "c\.array" "dce3" } } */