1/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ 2/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ 3/* { dg-require-effective-target powerpc_vsx_ok } */ 4/* { dg-options "-O2 -ftree-vectorize -mcpu=power7" } */ 5/* { dg-final { scan-assembler "xvadddp" } } */ 6/* { dg-final { scan-assembler "xvsubdp" } } */ 7/* { dg-final { scan-assembler "xvmuldp" } } */ 8/* { dg-final { scan-assembler "xvdivdp" } } */ 9/* { dg-final { scan-assembler "xvmadd" } } */ 10/* { dg-final { scan-assembler "xvmsub" } } */ 11 12__vector double a, b, c, d; 13 14void 15vector_add (void) 16{ 17 a = b + c; 18} 19 20void 21vector_subtract (void) 22{ 23 a = b - c; 24} 25 26void 27vector_multiply (void) 28{ 29 a = b * c; 30} 31 32void 33vector_multiply_add (void) 34{ 35 a = (b * c) + d; 36} 37 38void 39vector_multiply_subtract (void) 40{ 41 a = (b * c) - d; 42} 43 44void 45vector_divide (void) 46{ 47 a = b / c; 48} 49