[testsuite] require sqrt_insn effective target where needed
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / altivec-1.c
blobb1809fe2c9c240de71815404c3ef57637ab3ba46
1 /* { dg-do run { target { powerpc*-*-* && vmx_hw } } } */
2 /* { dg-do compile { target { powerpc*-*-* && { ! vmx_hw } } } } */
3 /* { dg-require-effective-target powerpc_altivec_ok } */
4 /* { dg-options "-maltivec" } */
6 /* Program to test PowerPC AltiVec instructions. */
8 #include <altivec.h>
10 extern void abort (void);
12 vector int a1 = { 100, 200, 300, 400 };
13 vector int a2 = { 500, 600, 700, 800 };
14 vector int addi = { 600, 800, 1000, 1200 };
15 vector int avgi = { 300, 400, 500, 600 };
17 vector float f1 = { 1.0, 2.0, 3.0, 4.0 };
18 vector float f2 = { 5.0, 6.0, 7.0, 8.0 };
19 vector float f3;
20 vector float addf = { 6.0, 8.0, 10.0, 12.0 };
22 vector int k;
23 vector float f, g, h;
25 int main ()
27 k = vec_add (a1, a2);
28 if (!vec_all_eq (addi, k))
29 abort ();
31 k = vec_avg (a1, a2);
32 if (!vec_all_eq (k, avgi))
33 abort ();
35 h = vec_add (f1, f2);
36 if (!vec_all_eq (h, addf))
37 abort ();
39 return 0;