(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr90756.c
       1  /* PR rtl-optimization/90756 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -Wno-psabi" } */
       4  /* { dg-additional-options "-mno-sse" { target ia32 } } */
       5  /* { dg-additional-options "-fno-common" { target hppa*-*-hpux* } } */
       6  
       7  typedef float B __attribute__((vector_size(4 * sizeof (float))));
       8  typedef unsigned long long C __attribute__((vector_size(4 * sizeof (long long))));
       9  typedef short D __attribute__((vector_size(4 * sizeof (short))));
      10  B z;
      11  void foo (C);
      12  C bar (D);
      13  B baz ();
      14  D qux (B);
      15  
      16  void
      17  quux (int x)
      18  {
      19    B n = z, b = z;
      20    while (1)
      21      switch (x)
      22        {
      23        case 0: n = baz (); /* FALLTHRU */
      24        case 1: { B o = n; n = b; b = o; } /* FALLTHRU */
      25        case 2: { D u = qux (b); C v = bar (u); foo (v); }
      26        }
      27  }