/* PR target/92865 */
/* { dg-do compile } */
/* { dg-options "-Ofast -mavx512bw -mxop -mprefer-vector-width=512" } */
/* { dg-final { scan-assembler-times "vpcmp\[bwdq\]\[\t \]\[^\n\{\]*zmm\[^\n\{\]*k\[0-7\](?:\n|\[ \t\]+#)" 4 } } */
/* { dg-final { scan-assembler-times "vpcmpu\[bwdq\]\[\t \]\[^\n\{\]*zmm\[^\n\{\]*k\[0-7\](?:\n|\[ \t\]+#)" 4 } } */

extern char arraysb[64];
extern short arraysw[32];
extern int arraysd[16];
extern long long arraysq[8];

extern unsigned char arrayub[64];
extern unsigned short arrayuw[32];
extern unsigned int arrayud[16];
extern unsigned long long arrayuq[8];

int f1(char a)
{
  for (int i = 0; i < 64; i++)
    arraysb[i] = arraysb[i] >= a;
}

int f2(short a)
{
  for (int i = 0; i < 32; i++)
    arraysw[i] = arraysw[i] >= a;
}

int f3(int a)
{
  for (int i = 0; i < 16; i++)
    arraysd[i] = arraysd[i] >= a;
}

int f4(long long a)
{
  for (int i = 0; i < 8; i++)
    arraysq[i] = arraysq[i] >= a;
}

int f5(unsigned char a)
{
  for (int i = 0; i < 64; i++)
    arrayub[i] = arrayub[i] >= a;
}

int f6(unsigned short a)
{
  for (int i = 0; i < 32; i++)
    arrayuw[i] = arrayuw[i] >= a;
}

int f7(unsigned int a)
{
  for (int i = 0; i < 16; i++)
    arrayud[i] = arrayud[i] >= a;
}

int f8(unsigned long long a)
{
  for (int i = 0; i < 8; i++)
    arrayuq[i] = arrayuq[i] >= a;
}
