| /* { dg-do compile } */ |
| /* { dg-options "-mavx512vl -mavx512bw -O2" } */ |
| /* { dg-final { scan-assembler-times {(?n)(?:vp?broadcast|vmovddup)} 36 } } */ |
| /* { dg-final { scan-assembler-times {(?n)vpcmp[bwdq][ \t]+\$0} 18 } } */ |
| |
| typedef char v64qi __attribute__ ((vector_size (64))); |
| typedef short v32hi __attribute__ ((vector_size (64))); |
| typedef int v16si __attribute__ ((vector_size (64))); |
| typedef long long v8di __attribute__ ((vector_size (64))); |
| typedef float v16sf __attribute__ ((vector_size (64))); |
| typedef double v8df __attribute__ ((vector_size (64))); |
| |
| #include "avx2-vec-set-1.c" |
| |
| FOO (v64qi, char); |
| FOO (v32hi, short); |
| FOO (v16si, int); |
| FOO (v8di, long long); |
| FOO (v16sf, float); |
| FOO (v8df, double); |