1 /* { dg-do compile } */
2 /* { dg-options "-O2 -ftree-vectorize -msve-vector-bits=scalable -ffast-math -fno-vect-cost-model" } */
6 #define VEC_PERM(TYPE) \
7 void __attribute__ ((noinline, noclone)) \
8 vec_slp_##TYPE (TYPE *restrict a, TYPE *restrict b, int n) \
13 for (int i = 0; i < n; ++i) \
39 /* These loops can't use SLP. */
40 /* { dg-final { scan-assembler-not {\tld1b\t} } } */
41 /* { dg-final { scan-assembler-not {\tld1h\t} } } */
42 /* { dg-final { scan-assembler-not {\tld1w\t} } } */
43 /* { dg-final { scan-assembler-not {\tld1d\t} } } */
44 /* { dg-final { scan-assembler {\tld3b\t} } } */
45 /* { dg-final { scan-assembler {\tld3h\t} } } */
46 /* { dg-final { scan-assembler {\tld3w\t} } } */
47 /* { dg-final { scan-assembler {\tld3d\t} } } */
49 /* { dg-final { scan-assembler-not {\tuqdec} } } */