1 /* { dg-do compile { target { powerpc64le-*-* } } } */ 2 /* { dg-options "-mdejagnu-cpu=power8 -O3" } */ 3 /* { dg-final { scan-assembler "lxvd2x" } } */ 4 /* { dg-final { scan-assembler "stxvd2x" } } */ 5 /* { dg-final { scan-assembler-not "xxpermdi" } } */ 6 7 #include <altivec.h> 8 9 extern unsigned char *src, *dst; 10 b(void)11void b(void) 12 { 13 int i; 14 15 unsigned char *s8 = src; 16 unsigned char *d8 = dst; 17 18 for (i = 0; i < 100; i++) { 19 vector unsigned char vs = vec_vsx_ld(0, s8); 20 vector unsigned char vd = vec_vsx_ld(0, d8); 21 vector unsigned char vr = vec_xor(vs, vd); 22 vec_vsx_st(vr, 0, d8); 23 s8 += 16; 24 d8 += 16; 25 } 26 } 27