1 /* { dg-do compile } */ 2 /* { dg-require-ifunc "" } */ 3 /* { dg-options "-O3" } */ 4 /* { dg-final { scan-assembler "vpshufb" } } */ 5 /* { dg-final { scan-assembler "punpcklbw" } } */ 6 7 __attribute__((target_clones("arch=core-avx2","arch=slm","default"))) 8 void foo(char * in,char * out,int size)9foo(char *in, char *out, int size) 10 { 11 int i; 12 for(i = 0; i < size; i++) 13 { 14 out[2 * i] = in[i]; 15 out[2 * i + 1] = in[i]; 16 } 17 } 18