[testsuite] require sqrt_insn effective target where needed
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / swaps-p8-21.c
blobf50e2659528caef8a4486429d35c1627c9edc357
1 /* { dg-do compile } */
2 /* { dg-require-effective-target powerpc_altivec_ok } */
3 /* { dg-options "-O2 -mdejagnu-cpu=power8 -maltivec" } */
5 /* The expansion for vector character multiply introduces a vperm operation.
6 This tests that changing the vperm mask allows us to remove all swaps
7 from the generated code. */
9 #include <altivec.h>
11 void abort ();
13 vector unsigned char r;
14 vector unsigned char v =
15 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
16 vector unsigned char i =
17 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
19 int main ()
21 int j;
22 r = v * i;
23 return 0;
26 /* { dg-final { scan-assembler-times "vperm" 1 } } */
27 /* { dg-final { scan-assembler-not "xxpermdi" } } */