2014-08-04 Ed Schonberg <schonberg@adacore.com>
[official-gcc.git] / gcc / testsuite / gcc.dg / vmx / insert-vsx.c
blobafb9c70166b787cea3d74a8b2b551d07b2586e29
1 /* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
2 /* { dg-require-effective-target powerpc_vsx_ok } */
3 /* { dg-options "-maltivec -mabi=altivec -std=gnu99 -mvsx" } */
5 #include "harness.h"
7 static int vec_long_long_eq (vector long long x, vector long long y)
9 return (x[0] == y[0] && x[1] == y[1]);
12 static int vec_dbl_eq (vector double x, vector double y)
14 return (x[0] == y[0] && x[1] == y[1]);
17 static void test()
19 vector long long vl = {0, 1};
20 vector double vd = {0.0, 1.0};
21 vector long long vlr = vec_insert (2, vl, 0);
22 vector double vdr = vec_insert (2.0, vd, 1);
23 vector long long vler = {2, 1};
24 vector double vder = {0.0, 2.0};
26 check (vec_long_long_eq (vlr, vler), "vl");
27 check (vec_dbl_eq (vdr, vder), "vd");