(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
tree-ssa/
pr34063.C
// { PR tree-optimization/34063 }
// { dg-do compile }
// { dg-options "-O2" }

struct S
{
  double e[9];

  double const &
  operator() (int r, int c) const
  {
    return e[r * 3 + c];
  }
};

void
foo()
{
  S r;
  double *p;
  for (int j = 0; j < 3; j++)
    for (int k = 0; k < 3; k++)
      for (int l = k + 1; l < 3; l++)
        *p++ = r (k, 0) * r (l, j) + r (k, j) * r (l, 0);
}