1 /* Origin: Aldy Hernandez <aldyh@redhat.com>
3 Purpose: Test generic SIMD support. This test should work
4 regardless of if the target has SIMD instructions.
10 typedef int __attribute__((mode(SI
))) __attribute__((vector_size (16))) vecint
;
11 typedef int __attribute__((mode(SI
))) siint
;
13 vecint i
= { 150, 100, 150, 200 };
14 vecint j
= { 10, 13, 20, 30 };
22 /* This should go away once we can use == and != on vector types. */
24 verify (siint a1
, siint a2
, siint a3
, siint a4
,
25 siint b1
, siint b2
, siint b3
, siint b4
)
40 verify (res
.i
[0], res
.i
[1], res
.i
[2], res
.i
[3], 160, 113, 170, 230);
45 verify (res
.i
[0], res
.i
[1], res
.i
[2], res
.i
[3], 1500, 1300, 3000, 6000);
50 verify (res
.i
[0], res
.i
[1], res
.i
[2], res
.i
[3], 15, 7, 7, 6);
55 verify (res
.i
[0], res
.i
[1], res
.i
[2], res
.i
[3], 2, 4, 20, 8);
60 verify (res
.i
[0], res
.i
[1], res
.i
[2], res
.i
[3], 158, 109, 150, 222);
65 verify (res
.i
[0], res
.i
[1], res
.i
[2], res
.i
[3], 156, 105, 130, 214);
69 verify (res
.i
[0], res
.i
[1], res
.i
[2], res
.i
[3],
70 -150, -100, -150, -200);
74 verify (res
.i
[0], res
.i
[1], res
.i
[2], res
.i
[3], -151, -101, -151, -201);