(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.target/
i386/
avx512vl-pr98537-1.C
/* PR target/98537 */
/* { dg-do compile } */
/* { dg-options "-O2 -march=x86-64 -std=c++11" } */

#ifndef TYPEV
#define TYPEV int
#endif

#ifndef TYPEW
#define TYPEW long long
#endif

#ifndef T_ARR
#define T_ARR					\
  __attribute__ ((target ("avx512vl")))
#endif

typedef TYPEV V __attribute__((__vector_size__(32)));
typedef TYPEW W __attribute__((__vector_size__(32)));

W c, d;
struct B {};
B e;
struct C { W i; };
void foo (C);

C
operator== (B, B)
{
  W r = (V)c == (V)d;
  return {r};
}

void
T_ARR
bar ()
{
  B a;
  foo (a == e);
}