/* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O3" } */ /* { dg-final { scan-assembler "vpshufb" } } */ /* { dg-final { scan-assembler "punpcklbw" } } */ __attribute__((target_clones("arch=core-avx2","arch=slm","default"))) void foo(char *in, char *out, int size) { int i; for(i = 0; i < size; i++) { out[2 * i] = in[i]; out[2 * i + 1] = in[i]; } }