/* 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; }