/* { dg-do compile } */ | |
/* { dg-options "-march=skylake-avx512 -O2" } */ | |
/* { dg-final { scan-assembler-times "cmp" 2 } } */ | |
/* { dg-final { scan-assembler-not "and" } } */ | |
typedef long vec __attribute__((vector_size(16))); | |
vec f(vec x, vec y){ | |
return (x < 5) & (y < 8); | |
} | |
/* On x86_64, currently | |
vpcmpq $2, .LC1(%rip), %xmm1, %k1 | |
vpcmpq $2, .LC0(%rip), %xmm0, %k0{%k1} | |
vpmovm2q %k0, %xmm0 | |
*/ |