1 /* Check that vector insertion works correctly. */
4 /* { dg-options "-msse" { target { i?86-*-* x86_64-*-* } } } */
5 /* { dg-require-effective-target sse_runtime { target { i?86-*-* x86_64-*-* } } } */
6 /* { dg-options "-mabi=altivec" { target { powerpc-*-* powerpc64-*-* } } } */
7 /* { dg-require-effective-target vmx_hw { target { powerpc-*-* powerpc64--*-* } } } */
9 #define vector __attribute__((vector_size(16) ))
11 extern int memcmp (const void *, const void *, __SIZE_TYPE__
);
13 vector
int f0(vector
int t
, int a
)
18 vector
int f1(vector
int t
, int a
)
23 vector
int f2(vector
int t
, int a
)
28 vector
int f3(vector
int t
, int a
)
35 vector
int a
= {0, 0, 0, 0};
36 vector
int b
= {1, 0, 0, 0};
37 vector
int c
= {0, 1, 0, 0};
38 vector
int d
= {0, 0, 1, 0};
39 vector
int e
= {0, 0, 0, 1};
42 if (memcmp (&a0
, &b
, sizeof(a0
)))
45 if (memcmp (&a0
, &c
, sizeof(a0
)))
48 if (memcmp (&a0
, &d
, sizeof(a0
)))
51 if (memcmp (&a0
, &e
, sizeof(a0
)))