blob: fc2d5819631c36f51ea7287f706effc742b4a76d [file] [log] [blame]
Christophe Lyonf91ba872014-07-11 13:05:38 +02001
2VLD1/VLD1Q output:
3VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
4VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
5VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
6VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
7VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
8VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
9VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
10VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
11VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
12VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
13VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
14VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
15VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
16VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
17VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
18VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
19VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
20VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
21VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
22VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
23VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
24VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0xc1600000, 0xc1500000 };
25
26VADD/VADDQ output:
27VECT_VAR_DECL(expected,int,8,8) [] = { 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9 };
28VECT_VAR_DECL(expected,int,16,4) [] = { 0xffec, 0xffed, 0xffee, 0xffef };
29VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff3, 0xfffffff4 };
30VECT_VAR_DECL(expected,int,64,1) [] = { 0x54 };
31VECT_VAR_DECL(expected,uint,8,8) [] = { 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb };
32VECT_VAR_DECL(expected,uint,16,4) [] = { 0xe, 0xf, 0x10, 0x11 };
33VECT_VAR_DECL(expected,uint,32,2) [] = { 0x18, 0x19 };
34VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff2 };
35VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
36VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
37VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
38VECT_VAR_DECL(expected,int,8,16) [] = { 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5 };
39VECT_VAR_DECL(expected,int,16,8) [] = { 0xffdc, 0xffdd, 0xffde, 0xffdf, 0xffe0, 0xffe1, 0xffe2, 0xffe3 };
40VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffd2, 0xffffffd3, 0xffffffd4, 0xffffffd5 };
41VECT_VAR_DECL(expected,int,64,2) [] = { 0x8, 0x9 };
42VECT_VAR_DECL(expected,uint,8,16) [] = { 0xfc, 0xfd, 0xfe, 0xff, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb };
43VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7, 0xfff8, 0xfff9, 0xfffa };
44VECT_VAR_DECL(expected,uint,32,4) [] = { 0x27, 0x28, 0x29, 0x2a };
45VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff3, 0xfffffffffffffff4 };
46VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
47VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
48VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
49VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x40d9999a, 0x40d9999a };
50VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x41100000, 0x41100000, 0x41100000, 0x41100000 };
51
52VLD1_LANE/VLD1_LANEQ output:
53VECT_VAR_DECL(expected,int,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xf0, 0xaa };
54VECT_VAR_DECL(expected,int,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xfff0 };
55VECT_VAR_DECL(expected,int,32,2) [] = { 0xaaaaaaaa, 0xfffffff0 };
56VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
57VECT_VAR_DECL(expected,uint,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xf0 };
58VECT_VAR_DECL(expected,uint,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xfff0 };
59VECT_VAR_DECL(expected,uint,32,2) [] = { 0xaaaaaaaa, 0xfffffff0 };
60VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
61VECT_VAR_DECL(expected,poly,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xf0 };
62VECT_VAR_DECL(expected,poly,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xfff0 };
63VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xaaaaaaaa, 0xc1800000 };
64VECT_VAR_DECL(expected,int,8,16) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xf0 };
65VECT_VAR_DECL(expected,int,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xfff0, 0xaaaa, 0xaaaa };
66VECT_VAR_DECL(expected,int,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xfffffff0, 0xaaaaaaaa };
67VECT_VAR_DECL(expected,int,64,2) [] = { 0xaaaaaaaaaaaaaaaa, 0xfffffffffffffff0 };
68VECT_VAR_DECL(expected,uint,8,16) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xf0, 0xaa, 0xaa, 0xaa };
69VECT_VAR_DECL(expected,uint,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xfff0, 0xaaaa };
70VECT_VAR_DECL(expected,uint,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xfffffff0, 0xaaaaaaaa };
71VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0xaaaaaaaaaaaaaaaa };
72VECT_VAR_DECL(expected,poly,8,16) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xf0, 0xaa, 0xaa, 0xaa };
73VECT_VAR_DECL(expected,poly,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xfff0, 0xaaaa };
74VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xc1800000, 0xaaaaaaaa };
75
76VLD1_DUP/VLD1_DUPQ output:
77VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
78VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
79VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff0 };
80VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
81VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
82VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
83VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff0 };
84VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
85VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
86VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
87VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1800000 };
88VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
89VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
90VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff0, 0xfffffff0, 0xfffffff0 };
91VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff0 };
92VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
93VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
94VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff0, 0xfffffff0, 0xfffffff0 };
95VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff0 };
96VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
97VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
98VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1800000, 0xc1800000, 0xc1800000 };
99
100VLD1_DUP/VLD1_DUPQ output:
101VECT_VAR_DECL(expected,int,8,8) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
102VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
103VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff1, 0xfffffff1 };
104VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff1 };
105VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
106VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
107VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff1, 0xfffffff1 };
108VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff1 };
109VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
110VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
111VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1700000, 0xc1700000 };
112VECT_VAR_DECL(expected,int,8,16) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
113VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
114VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff1, 0xfffffff1, 0xfffffff1, 0xfffffff1 };
115VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff1, 0xfffffffffffffff1 };
116VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
117VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
118VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff1, 0xfffffff1, 0xfffffff1, 0xfffffff1 };
119VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff1, 0xfffffffffffffff1 };
120VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
121VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
122VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1700000, 0xc1700000, 0xc1700000, 0xc1700000 };
123
124VLD1_DUP/VLD1_DUPQ output:
125VECT_VAR_DECL(expected,int,8,8) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
126VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
127VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff2, 0xfffffff2 };
128VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff2 };
129VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
130VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
131VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff2, 0xfffffff2 };
132VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff2 };
133VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
134VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
135VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1600000, 0xc1600000 };
136VECT_VAR_DECL(expected,int,8,16) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
137VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
138VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff2, 0xfffffff2, 0xfffffff2, 0xfffffff2 };
139VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff2, 0xfffffffffffffff2 };
140VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
141VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
142VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff2, 0xfffffff2, 0xfffffff2, 0xfffffff2 };
143VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff2, 0xfffffffffffffff2 };
144VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
145VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
146VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1600000, 0xc1600000, 0xc1600000, 0xc1600000 };
147
148VDUP/VDUPQ output:
149VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
150VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
151VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff0 };
152VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
153VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
154VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
155VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff0 };
156VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
157VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
158VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
159VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1800000 };
160VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
161VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
162VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff0, 0xfffffff0, 0xfffffff0 };
163VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff0 };
164VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
165VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
166VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff0, 0xfffffff0, 0xfffffff0 };
167VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff0 };
168VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
169VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
170VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1800000, 0xc1800000, 0xc1800000 };
171
172VDUP/VDUPQ output:
173VECT_VAR_DECL(expected,int,8,8) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
174VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
175VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff1, 0xfffffff1 };
176VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff1 };
177VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
178VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
179VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff1, 0xfffffff1 };
180VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff1 };
181VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
182VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
183VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1700000, 0xc1700000 };
184VECT_VAR_DECL(expected,int,8,16) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
185VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
186VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff1, 0xfffffff1, 0xfffffff1, 0xfffffff1 };
187VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff1, 0xfffffffffffffff1 };
188VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
189VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
190VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff1, 0xfffffff1, 0xfffffff1, 0xfffffff1 };
191VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff1, 0xfffffffffffffff1 };
192VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
193VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
194VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1700000, 0xc1700000, 0xc1700000, 0xc1700000 };
195
196VDUP/VDUPQ output:
197VECT_VAR_DECL(expected,int,8,8) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
198VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
199VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff2, 0xfffffff2 };
200VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff2 };
201VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
202VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
203VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff2, 0xfffffff2 };
204VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff2 };
205VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
206VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
207VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1600000, 0xc1600000 };
208VECT_VAR_DECL(expected,int,8,16) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
209VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
210VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff2, 0xfffffff2, 0xfffffff2, 0xfffffff2 };
211VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff2, 0xfffffffffffffff2 };
212VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
213VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
214VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff2, 0xfffffff2, 0xfffffff2, 0xfffffff2 };
215VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff2, 0xfffffffffffffff2 };
216VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
217VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
218VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1600000, 0xc1600000, 0xc1600000, 0xc1600000 };
219
220VMOV/VMOVQ output:
221VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
222VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
223VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff0 };
224VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
225VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
226VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
227VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff0 };
228VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
229VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
230VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
231VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1800000 };
232VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
233VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
234VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff0, 0xfffffff0, 0xfffffff0 };
235VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff0 };
236VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
237VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
238VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff0, 0xfffffff0, 0xfffffff0 };
239VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff0 };
240VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
241VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
242VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1800000, 0xc1800000, 0xc1800000 };
243
244VMOV/VMOVQ output:
245VECT_VAR_DECL(expected,int,8,8) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
246VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
247VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff1, 0xfffffff1 };
248VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff1 };
249VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
250VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
251VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff1, 0xfffffff1 };
252VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff1 };
253VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
254VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
255VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1700000, 0xc1700000 };
256VECT_VAR_DECL(expected,int,8,16) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
257VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
258VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff1, 0xfffffff1, 0xfffffff1, 0xfffffff1 };
259VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff1, 0xfffffffffffffff1 };
260VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
261VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
262VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff1, 0xfffffff1, 0xfffffff1, 0xfffffff1 };
263VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff1, 0xfffffffffffffff1 };
264VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
265VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
266VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1700000, 0xc1700000, 0xc1700000, 0xc1700000 };
267
268VMOV/VMOVQ output:
269VECT_VAR_DECL(expected,int,8,8) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
270VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
271VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff2, 0xfffffff2 };
272VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff2 };
273VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
274VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
275VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff2, 0xfffffff2 };
276VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff2 };
277VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
278VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
279VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1600000, 0xc1600000 };
280VECT_VAR_DECL(expected,int,8,16) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
281VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
282VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff2, 0xfffffff2, 0xfffffff2, 0xfffffff2 };
283VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff2, 0xfffffffffffffff2 };
284VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
285VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
286VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff2, 0xfffffff2, 0xfffffff2, 0xfffffff2 };
287VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff2, 0xfffffffffffffff2 };
288VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
289VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
290VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1600000, 0xc1600000, 0xc1600000, 0xc1600000 };
291
292VGET_HIGH output:
293VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
294VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
295VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff2, 0xfffffff3 };
296VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff1 };
297VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
298VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
299VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff2, 0xfffffff3 };
300VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff1 };
301VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
302VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
303VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1600000, 0xc1500000 };
304VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
305VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
306VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
307VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
308VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
309VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
310VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
311VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
312VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
313VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
314VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
315
316VGET_LOW output:
317VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
318VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
319VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
320VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
321VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
322VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
323VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
324VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
325VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
326VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
327VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
328VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
329VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
330VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
331VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
332VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
333VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
334VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
335VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
336VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
337VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
338VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
339int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
340int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
341
342VQDMLAL_LANE output:
343VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
344VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
345VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
346VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
347VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
348VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
349VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
350VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
351VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
352VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
353VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
354VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
355VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
356VECT_VAR_DECL(expected,int,32,4) [] = { 0x7c1e, 0x7c1f, 0x7c20, 0x7c21 };
357VECT_VAR_DECL(expected,int,64,2) [] = { 0x7c1e, 0x7c1f };
358VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
359VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
360VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
361VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
362VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
363VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
364VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
365int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
366int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
367
368VQDMLAL_LANE (mul with input=0) output:
369VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
370VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
371VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
372VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
373VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
374VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
375VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
376VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
377VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
378VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
379VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
380VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
381VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
382VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
383VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
384VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
385VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
386VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
387VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
388VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
389VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
390VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
391int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
392int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
393
394VQDMLAL_LANE (check mul cumulative saturation) output:
395VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
396VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
397VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
398VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
399VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
400VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
401VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
402VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
403VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
404VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
405VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
406VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
407VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
408VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffef, 0x7ffffff0, 0x7ffffff1, 0x7ffffff2 };
409VECT_VAR_DECL(expected,int,64,2) [] = { 0x7fffffffffffffef, 0x7ffffffffffffff0 };
410VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
411VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
412VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
413VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
414VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
415VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
416VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
417int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
418int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
419
420VQDMLSL_LANE output:
421VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
422VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
423VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
424VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
425VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
426VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
427VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
428VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
429VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
430VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
431VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
432VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
433VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
434VECT_VAR_DECL(expected,int,32,4) [] = { 0xffff83c2, 0xffff83c3, 0xffff83c4, 0xffff83c5 };
435VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffff83c2, 0xffffffffffff83c3 };
436VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
437VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
438VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
439VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
440VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
441VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
442VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
443int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
444int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
445
446VQDMLSL_LANE (mul with input=0) output:
447VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
448VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
449VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
450VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
451VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
452VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
453VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
454VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
455VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
456VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
457VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
458VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
459VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
460VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
461VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
462VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
463VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
464VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
465VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
466VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
467VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
468VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
469int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
470int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
471
472VQDMLSL_LANE (check mul cumulative saturation) output:
473VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
474VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
475VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
476VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
477VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
478VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
479VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
480VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
481VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
482VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
483VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
484VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
485VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
486VECT_VAR_DECL(expected,int,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
487VECT_VAR_DECL(expected,int,64,2) [] = { 0x8000000000000000, 0x8000000000000000 };
488VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
489VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
490VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
491VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
492VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
493VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
494VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
495int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
496int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
497
498VQDMLAL_N output:
499VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
500VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
501VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
502VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
503VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
504VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
505VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
506VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
507VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
508VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
509VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
510VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
511VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
512VECT_VAR_DECL(expected,int,32,4) [] = { 0x1684, 0x1685, 0x1686, 0x1687 };
513VECT_VAR_DECL(expected,int,64,2) [] = { 0x21ce, 0x21cf };
514VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
515VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
516VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
517VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
518VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
519VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
520VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
521int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
522int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
523
524VQDMLAL_N (check mul cumulative saturation) output:
525VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
526VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
527VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
528VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
529VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
530VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
531VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
532VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
533VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
534VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
535VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
536VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
537VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
538VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffef, 0x7ffffff0, 0x7ffffff1, 0x7ffffff2 };
539VECT_VAR_DECL(expected,int,64,2) [] = { 0x7fffffffffffffef, 0x7ffffffffffffff0 };
540VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
541VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
542VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
543VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
544VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
545VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
546VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
547int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
548int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
549
550VQDMLSL_N output:
551VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
552VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
553VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
554VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
555VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
556VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
557VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
558VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
559VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
560VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
561VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
562VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
563VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
564VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffe95c, 0xffffe95d, 0xffffe95e, 0xffffe95f };
565VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffde12, 0xffffffffffffde13 };
566VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
567VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
568VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
569VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
570VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
571VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
572VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
573int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
574int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
575
576VQDMLSL_N (check mul cumulative saturation) output:
577VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
578VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
579VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
580VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
581VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
582VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
583VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
584VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
585VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
586VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
587VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
588VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
589VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
590VECT_VAR_DECL(expected,int,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
591VECT_VAR_DECL(expected,int,64,2) [] = { 0x8000000000000000, 0x8000000000000000 };
592VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
593VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
594VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
595VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
596VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
597VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
598VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
599
600VEXT/VEXTQ output:
601VECT_VAR_DECL(expected,int,8,8) [] = { 0xf7, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 };
602VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff3, 0x22, 0x22, 0x22 };
603VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff1, 0x33 };
604VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
605VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf6, 0xf7, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55 };
606VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff2, 0xfff3, 0x66, 0x66 };
607VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff1, 0x77 };
608VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
609VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf6, 0xf7, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55 };
610VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff2, 0xfff3, 0x66, 0x66 };
611VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1700000, 0x42066666 };
612VECT_VAR_DECL(expected,int,8,16) [] = { 0xfe, 0xff, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 };
613VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff7, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 };
614VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff3, 0x33, 0x33, 0x33 };
615VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff1, 0x44 };
616VECT_VAR_DECL(expected,uint,8,16) [] = { 0xfc, 0xfd, 0xfe, 0xff, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55 };
617VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff6, 0xfff7, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66 };
618VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff3, 0x77, 0x77, 0x77 };
619VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff1, 0x88 };
620VECT_VAR_DECL(expected,poly,8,16) [] = { 0xfc, 0xfd, 0xfe, 0xff, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55 };
621VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff6, 0xfff7, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66 };
622VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1500000, 0x4204cccd, 0x4204cccd, 0x4204cccd };
623
624VSHR_N output:
625VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb };
626VECT_VAR_DECL(expected,int,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
627VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffffc, 0xfffffffc };
628VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffffff };
629VECT_VAR_DECL(expected,uint,8,8) [] = { 0x3c, 0x3c, 0x3c, 0x3c, 0x3d, 0x3d, 0x3d, 0x3d };
630VECT_VAR_DECL(expected,uint,16,4) [] = { 0x1ffe, 0x1ffe, 0x1ffe, 0x1ffe };
631VECT_VAR_DECL(expected,uint,32,2) [] = { 0x7ffffff, 0x7ffffff };
632VECT_VAR_DECL(expected,uint,64,1) [] = { 0x7fffffff };
633VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
634VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
635VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
636VECT_VAR_DECL(expected,int,8,16) [] = { 0xf8, 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff };
637VECT_VAR_DECL(expected,int,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
638VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffffc, 0xfffffffc, 0xfffffffc, 0xfffffffc };
639VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
640VECT_VAR_DECL(expected,uint,8,16) [] = { 0x3c, 0x3c, 0x3c, 0x3c, 0x3d, 0x3d, 0x3d, 0x3d, 0x3e, 0x3e, 0x3e, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f };
641VECT_VAR_DECL(expected,uint,16,8) [] = { 0x1ffe, 0x1ffe, 0x1ffe, 0x1ffe, 0x1ffe, 0x1ffe, 0x1ffe, 0x1ffe };
642VECT_VAR_DECL(expected,uint,32,4) [] = { 0x7ffffff, 0x7ffffff, 0x7ffffff, 0x7ffffff };
643VECT_VAR_DECL(expected,uint,64,2) [] = { 0x7fffffff, 0x7fffffff };
644VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
645VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
646VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
647
648VSHRN_N output:
649VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb };
650VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff8, 0xfff8, 0xfff9, 0xfff9 };
651VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffffc, 0xfffffffc };
652VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
653VECT_VAR_DECL(expected,uint,8,8) [] = { 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd };
654VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfffe, 0xfffe, 0xfffe, 0xfffe };
655VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffffe, 0xfffffffe };
656VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
657VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
658VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
659VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
660VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
661VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
662VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
663VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
664VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
665VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
666VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
667VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
668VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
669VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
670VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
671
672VRSHRN_N (with input = 0) output:
673VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
674VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
675VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
676VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
677VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
678VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
679VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
680VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
681VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
682VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
683VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
684VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
685VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
686VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
687VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
688VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
689VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
690VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
691VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
692VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
693VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
694VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
695
696VRSHRN_N output:
697VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc };
698VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff8, 0xfff9, 0xfff9, 0xfffa };
699VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffffc, 0xfffffffc };
700VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
701VECT_VAR_DECL(expected,uint,8,8) [] = { 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe };
702VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfffe, 0xfffe, 0xfffe, 0xfffe };
703VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffffe, 0xfffffffe };
704VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
705VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
706VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
707VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
708VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
709VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
710VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
711VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
712VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
713VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
714VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
715VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
716VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
717VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
718VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
719
720VRSHRN_N (with large shift amount) output:
721VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
722VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
723VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
724VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
725VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
726VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
727VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
728VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
729VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
730VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
731VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
732VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
733VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
734VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
735VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
736VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
737VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
738VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
739VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
740VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
741VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
742VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
743int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
744int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
745int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
746int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
747int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
748int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
749
750VQRSHRN_N output:
751VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc };
752VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff8, 0xfff9, 0xfff9, 0xfffa };
753VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffffc, 0xfffffffc };
754VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
755VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
756VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
757VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
758VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
759VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
760VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
761VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
762VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
763VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
764VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
765VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
766VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
767VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
768VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
769VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
770VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
771VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
772VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
773int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
774int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
775int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
776int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
777int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
778int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
779
780VQRSHRN_N (check saturation: shift by 3) output:
781VECT_VAR_DECL(expected,int,8,8) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
782VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
783VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
784VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
785VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
786VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
787VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
788VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
789VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
790VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
791VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
792VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
793VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
794VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
795VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
796VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
797VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
798VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
799VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
800VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
801VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
802VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
803int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
804int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
805int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
806int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
807int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
808int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
809
810VQRSHRN_N (check saturation: shift by max) output:
811VECT_VAR_DECL(expected,int,8,8) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
812VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
813VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
814VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
815VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
816VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
817VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
818VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
819VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
820VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
821VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
822VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
823VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
824VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
825VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
826VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
827VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
828VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
829VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
830VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
831VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
832VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
833
834VSET_LANE/VSET_LANEQ output:
835VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0x11 };
836VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0x22 };
837VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0x33 };
838VECT_VAR_DECL(expected,int,64,1) [] = { 0x44 };
839VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0x55, 0xf7 };
840VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0x66, 0xfff3 };
841VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0x77 };
842VECT_VAR_DECL(expected,uint,64,1) [] = { 0x88 };
843VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0x55, 0xf7 };
844VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0x66, 0xfff3 };
845VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0x4204cccd };
846VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x99 };
847VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xaa, 0xfff6, 0xfff7 };
848VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xbb };
849VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xcc };
850VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xdd, 0xff };
851VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xee, 0xfff7 };
852VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xff, 0xfffffff3 };
853VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0x11 };
854VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xdd, 0xff };
855VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xee, 0xfff7 };
856VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0xc1600000, 0x41333333 };
857int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
858int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
859int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
860int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
861int VECT_VAR(expected_cumulative_sat,uint,8,8) = 0;
862int VECT_VAR(expected_cumulative_sat,uint,16,4) = 0;
863int VECT_VAR(expected_cumulative_sat,uint,32,2) = 0;
864int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
865int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
866int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
867int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
868int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
869int VECT_VAR(expected_cumulative_sat,uint,8,16) = 0;
870int VECT_VAR(expected_cumulative_sat,uint,16,8) = 0;
871int VECT_VAR(expected_cumulative_sat,uint,32,4) = 0;
872int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
873
874VQSUB/VQSUBQ output:
875VECT_VAR_DECL(expected,int,8,8) [] = { 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6 };
876VECT_VAR_DECL(expected,int,16,4) [] = { 0xffce, 0xffcf, 0xffd0, 0xffd1 };
877VECT_VAR_DECL(expected,int,32,2) [] = { 0xffffffbd, 0xffffffbe };
878VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffffac };
879VECT_VAR_DECL(expected,uint,8,8) [] = { 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2 };
880VECT_VAR_DECL(expected,uint,16,4) [] = { 0xff8a, 0xff8b, 0xff8c, 0xff8d };
881VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffff79, 0xffffff7a };
882VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffff68 };
883VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
884VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
885VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
886VECT_VAR_DECL(expected,int,8,16) [] = { 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee };
887VECT_VAR_DECL(expected,int,16,8) [] = { 0xffce, 0xffcf, 0xffd0, 0xffd1, 0xffd2, 0xffd3, 0xffd4, 0xffd5 };
888VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffbd, 0xffffffbe, 0xffffffbf, 0xffffffc0 };
889VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffffac, 0xffffffffffffffad };
890VECT_VAR_DECL(expected,uint,8,16) [] = { 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa };
891VECT_VAR_DECL(expected,uint,16,8) [] = { 0xff8a, 0xff8b, 0xff8c, 0xff8d, 0xff8e, 0xff8f, 0xff90, 0xff91 };
892VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffff79, 0xffffff7a, 0xffffff7b, 0xffffff7c };
893VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffff68, 0xffffffffffffff69 };
894VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
895VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
896VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
897int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
898int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
899int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
900int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
901VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
902VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
903VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
904VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
905int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
906int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
907int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
908int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
909VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffffac };
910VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffff68 };
911VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffffac, 0xffffffffffffffad };
912VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffff68, 0xffffffffffffff69 };
913int VECT_VAR(expected_cumulative_sat,int,64,1) = 1;
914int VECT_VAR(expected_cumulative_sat,uint,64,1) = 1;
915int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
916int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
917VECT_VAR_DECL(expected,int,64,1) [] = { 0x8000000000000000 };
918VECT_VAR_DECL(expected,uint,64,1) [] = { 0x0 };
919VECT_VAR_DECL(expected,int,64,2) [] = { 0x7fffffffffffffff, 0x7fffffffffffffff };
920VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x0 };
921int VECT_VAR(expected_cumulative_sat,int,8,8) = 1;
922int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
923int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
924int VECT_VAR(expected_cumulative_sat,int,8,16) = 1;
925int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
926int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
927VECT_VAR_DECL(expected,int,8,8) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
928VECT_VAR_DECL(expected,int,16,4) [] = { 0x8000, 0x8000, 0x8000, 0x8000 };
929VECT_VAR_DECL(expected,int,32,2) [] = { 0x80000000, 0x80000000 };
930VECT_VAR_DECL(expected,int,8,16) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
931VECT_VAR_DECL(expected,int,16,8) [] = { 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000 };
932VECT_VAR_DECL(expected,int,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
933int VECT_VAR(expected_cumulative_sat,uint,8,8) = 1;
934int VECT_VAR(expected_cumulative_sat,uint,16,4) = 1;
935int VECT_VAR(expected_cumulative_sat,uint,32,2) = 1;
936int VECT_VAR(expected_cumulative_sat,uint,8,16) = 1;
937int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
938int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
939VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
940VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
941VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
942VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
943VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
944VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
945int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
946int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
947int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
948int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
949
950VQDMULH output:
951VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
952VECT_VAR_DECL(expected,int,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
953VECT_VAR_DECL(expected,int,32,2) [] = { 0xffffffff, 0xffffffff };
954VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
955VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
956VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
957VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
958VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
959VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
960VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
961VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
962VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
963VECT_VAR_DECL(expected,int,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
964VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
965VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
966VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
967VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
968VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
969VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
970VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
971VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
972VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
973int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
974int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
975int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
976int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
977
978VQDMULH output:
979VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
980VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
981VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
982VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
983VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
984VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
985VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
986VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
987VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
988VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
989VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
990VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
991VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
992VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
993VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
994VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
995VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
996VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
997VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
998VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
999VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1000VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1001int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
1002int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
1003int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
1004int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
1005
1006VQDMULH_LANE output:
1007VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1008VECT_VAR_DECL(expected,int,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
1009VECT_VAR_DECL(expected,int,32,2) [] = { 0xffffffff, 0xffffffff };
1010VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
1011VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1012VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1013VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
1014VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
1015VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1016VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1017VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1018VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1019VECT_VAR_DECL(expected,int,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
1020VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
1021VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
1022VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1023VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1024VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1025VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
1026VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1027VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1028VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1029int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
1030int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
1031int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
1032int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
1033
1034VQDMULH_LANE (check mul cumulative saturation) output:
1035VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1036VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
1037VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
1038VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
1039VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1040VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1041VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
1042VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
1043VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1044VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1045VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1046VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1047VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
1048VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
1049VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
1050VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1051VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1052VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1053VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
1054VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1055VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1056VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1057int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
1058int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
1059int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
1060int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
1061
1062VQDMULH_N output:
1063VECT_VAR_DECL(expected,int,16,4) [] = { 0x19, 0x19, 0x19, 0x19 };
1064VECT_VAR_DECL(expected,int,32,2) [] = { 0x4, 0x4 };
1065VECT_VAR_DECL(expected,int,16,8) [] = { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 };
1066VECT_VAR_DECL(expected,int,32,4) [] = { 0xa, 0xa, 0xa, 0xa };
1067int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
1068int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
1069int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
1070int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
1071
1072VQDMULH_N (check mul cumulative saturation) output:
1073VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1074VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
1075VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
1076VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
1077VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1078VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1079VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
1080VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
1081VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1082VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1083VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1084VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1085VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
1086VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
1087VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
1088VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1089VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1090VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1091VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
1092VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1093VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1094VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1095int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
1096int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
1097
1098VQDMULL output:
1099VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1100VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1101VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
1102VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
1103VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1104VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1105VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
1106VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
1107VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1108VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1109VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1110VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1111VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1112VECT_VAR_DECL(expected,int,32,4) [] = { 0x200, 0x1c2, 0x188, 0x152 };
1113VECT_VAR_DECL(expected,int,64,2) [] = { 0x200, 0x1c2 };
1114VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1115VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1116VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1117VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
1118VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1119VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1120VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1121int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
1122int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
1123
1124VQDMULL (check mul cumulative saturation) output:
1125VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1126VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1127VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
1128VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
1129VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1130VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1131VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
1132VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
1133VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1134VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1135VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1136VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1137VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1138VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
1139VECT_VAR_DECL(expected,int,64,2) [] = { 0x7fffffffffffffff, 0x7fffffffffffffff };
1140VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1141VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1142VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1143VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
1144VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1145VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1146VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1147int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
1148int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
1149
1150VQDMLAL output:
1151VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1152VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1153VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
1154VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
1155VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1156VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1157VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
1158VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
1159VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1160VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1161VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1162VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1163VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1164VECT_VAR_DECL(expected,int,32,4) [] = { 0x7c1e, 0x7c1f, 0x7c20, 0x7c21 };
1165VECT_VAR_DECL(expected,int,64,2) [] = { 0x7c1e, 0x7c1f };
1166VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1167VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1168VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1169VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
1170VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1171VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1172VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1173int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
1174int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
1175
1176VQDMLAL (check mul cumulative saturation) output:
1177VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1178VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1179VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
1180VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
1181VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1182VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1183VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
1184VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
1185VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1186VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1187VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1188VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1189VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1190VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffef, 0x7ffffff0, 0x7ffffff1, 0x7ffffff2 };
1191VECT_VAR_DECL(expected,int,64,2) [] = { 0x7fffffffffffffef, 0x7ffffffffffffff0 };
1192VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1193VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1194VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1195VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
1196VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1197VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1198VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1199int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
1200int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
1201
1202VQDMLSL output:
1203VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1204VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1205VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
1206VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
1207VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1208VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1209VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
1210VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
1211VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1212VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1213VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1214VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1215VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1216VECT_VAR_DECL(expected,int,32,4) [] = { 0xffff83c2, 0xffff83c3, 0xffff83c4, 0xffff83c5 };
1217VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffff83c2, 0xffffffffffff83c3 };
1218VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1219VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1220VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1221VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
1222VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1223VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1224VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1225int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
1226int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
1227
1228VQDMLSL (check mul cumulative saturation) output:
1229VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1230VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1231VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
1232VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
1233VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1234VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1235VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
1236VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
1237VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1238VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1239VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1240VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1241VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1242VECT_VAR_DECL(expected,int,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
1243VECT_VAR_DECL(expected,int,64,2) [] = { 0x8000000000000000, 0x8000000000000000 };
1244VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1245VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1246VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1247VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
1248VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1249VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1250VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1251
1252VCEQ/VCEQQ output:
1253VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0 };
1254VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0xffff, 0x0 };
1255VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0x0 };
1256VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0 };
1257VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0xffff, 0x0 };
1258VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0xffffffff };
1259VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0 };
1260VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0 };
1261VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0xffffffff, 0x0 };
1262VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1263VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0 };
1264VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0xffffffff, 0x0 };
1265VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0xffffffff };
1266VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0xffffffff, 0x0 };
1267VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0x0 };
1268VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0xffffffff };
1269VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0x0 };
1270VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1271VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1272VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1273VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1274VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1275VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1276VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1277VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0 };
1278VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1279
1280VCGE/VCGEQ output:
1281VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff };
1282VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0xffff, 0xffff };
1283VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1284VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff };
1285VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0xffff, 0xffff };
1286VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0xffffffff };
1287VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff };
1288VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff };
1289VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0xffffffff, 0xffffffff };
1290VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1291VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0xffff };
1292VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0xffffffff, 0xffffffff };
1293VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0xffffffff };
1294VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0xffffffff, 0xffffffff };
1295VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1296VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0xffffffff };
1297VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1298VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1299VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1300VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1301VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1302VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1303VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1304VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1305
1306VCLE/VCLEQ output:
1307VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0 };
1308VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0x0 };
1309VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0x0 };
1310VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0 };
1311VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0x0 };
1312VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1313VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0 };
1314VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0 };
1315VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0x0 };
1316VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1317VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0 };
1318VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0x0 };
1319VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1320VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0x0 };
1321VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0x0 };
1322VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1323VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0x0 };
1324VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1325VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1326VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1327VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1328VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1329VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1330VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1331
1332VCGT/VCGTQ output:
1333VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff };
1334VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0xffff };
1335VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0xffffffff };
1336VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff };
1337VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0xffff };
1338VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1339VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff };
1340VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff };
1341VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0xffffffff };
1342VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1343VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff };
1344VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0xffffffff };
1345VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1346VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0xffffffff };
1347VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0xffffffff };
1348VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1349VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0xffffffff };
1350VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1351VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1352VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1353VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1354VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1355VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1356VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1357
1358VCLT/VCLTQ output:
1359VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0 };
1360VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0x0, 0x0 };
1361VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1362VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0 };
1363VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0x0, 0x0 };
1364VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0x0 };
1365VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0 };
1366VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0 };
1367VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0x0, 0x0 };
1368VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1369VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0 };
1370VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0x0, 0x0 };
1371VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0x0 };
1372VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0x0, 0x0 };
1373VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1374VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0x0 };
1375VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1376VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1377VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1378VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1379VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1380VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1381VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1382VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1383
1384VBSL/VBSLQ output:
1385VECT_VAR_DECL(expected,int,8,8) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf6, 0xf6, 0xf6, 0xf6 };
1386VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff0, 0xfff2, 0xfff2 };
1387VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff0 };
1388VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffffd };
1389VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf3, 0xf3, 0xf3, 0xf3, 0xf7, 0xf7, 0xf7, 0xf7 };
1390VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff0, 0xfff2, 0xfff2 };
1391VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff0 };
1392VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffff1 };
1393VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf3, 0xf3, 0xf3, 0xf3, 0xf7, 0xf7, 0xf7, 0xf7 };
1394VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff0, 0xfff2, 0xfff2 };
1395VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800004, 0xc1700004 };
1396VECT_VAR_DECL(expected,int,8,16) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf6, 0xf6, 0xf6, 0xf6, 0xf2, 0xf2, 0xf2, 0xf2, 0xf6, 0xf6, 0xf6, 0xf6 };
1397VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff0, 0xfff2, 0xfff2, 0xfff4, 0xfff4, 0xfff6, 0xfff6 };
1398VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff0, 0xfffffff2, 0xfffffff2 };
1399VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffffd, 0xfffffffffffffffd };
1400VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf3, 0xf3, 0xf3, 0xf3, 0xf7, 0xf7, 0xf7, 0xf7, 0xf3, 0xf3, 0xf3, 0xf3, 0xf7, 0xf7, 0xf7, 0xf7 };
1401VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff0, 0xfff2, 0xfff2, 0xfff4, 0xfff4, 0xfff6, 0xfff6 };
1402VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff0, 0xfffffff2, 0xfffffff2 };
1403VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffff1, 0xfffffff1 };
1404VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf3, 0xf3, 0xf3, 0xf3, 0xf7, 0xf7, 0xf7, 0xf7, 0xf3, 0xf3, 0xf3, 0xf3, 0xf7, 0xf7, 0xf7, 0xf7 };
1405VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff0, 0xfff2, 0xfff2, 0xfff4, 0xfff4, 0xfff6, 0xfff6 };
1406VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800001, 0xc1700001, 0xc1600001, 0xc1500001 };
1407
1408VSHL/VSHLQ output:
1409VECT_VAR_DECL(expected,int,8,8) [] = { 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee };
1410VECT_VAR_DECL(expected,int,16,4) [] = { 0xff80, 0xff88, 0xff90, 0xff98 };
1411VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffff000, 0xfffff100 };
1412VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffff80 };
1413VECT_VAR_DECL(expected,uint,8,8) [] = { 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee };
1414VECT_VAR_DECL(expected,uint,16,4) [] = { 0xff80, 0xff88, 0xff90, 0xff98 };
1415VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffff000, 0xfffff100 };
1416VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffff80 };
1417VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1418VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1419VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1420VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x20, 0x40, 0x60, 0x80, 0xa0, 0xc0, 0xe0, 0x0, 0x20, 0x40, 0x60, 0x80, 0xa0, 0xc0, 0xe0 };
1421VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x1000, 0x2000, 0x3000, 0x4000, 0x5000, 0x6000, 0x7000 };
1422VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x40000000, 0x80000000, 0xc0000000 };
1423VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x8000000000000000 };
1424VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x20, 0x40, 0x60, 0x80, 0xa0, 0xc0, 0xe0, 0x0, 0x20, 0x40, 0x60, 0x80, 0xa0, 0xc0, 0xe0 };
1425VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x1000, 0x2000, 0x3000, 0x4000, 0x5000, 0x6000, 0x7000 };
1426VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x40000000, 0x80000000, 0xc0000000 };
1427VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x8000000000000000 };
1428VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1429VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1430VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1431
1432VSHL/VSHLQ (large shift amount) output:
1433VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1434VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1435VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
1436VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
1437VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1438VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1439VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1440VECT_VAR_DECL(expected,uint,64,1) [] = { 0x0 };
1441VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1442VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1443VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1444VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1445VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1446VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1447VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
1448VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1449VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1450VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1451VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x0 };
1452VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1453VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1454VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1455
1456VSHL/VSHLQ (negative shift amount) output:
1457VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb };
1458VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff8, 0xfff8, 0xfff9, 0xfff9 };
1459VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffffc, 0xfffffffc };
1460VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffffff };
1461VECT_VAR_DECL(expected,uint,8,8) [] = { 0x78, 0x78, 0x79, 0x79, 0x7a, 0x7a, 0x7b, 0x7b };
1462VECT_VAR_DECL(expected,uint,16,4) [] = { 0x7ff8, 0x7ff8, 0x7ff9, 0x7ff9 };
1463VECT_VAR_DECL(expected,uint,32,2) [] = { 0x3ffffffc, 0x3ffffffc };
1464VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff };
1465VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1466VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1467VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1468VECT_VAR_DECL(expected,int,8,16) [] = { 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff };
1469VECT_VAR_DECL(expected,int,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
1470VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe };
1471VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
1472VECT_VAR_DECL(expected,uint,8,16) [] = { 0x3c, 0x3c, 0x3c, 0x3c, 0x3d, 0x3d, 0x3d, 0x3d, 0x3e, 0x3e, 0x3e, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f };
1473VECT_VAR_DECL(expected,uint,16,8) [] = { 0x7ff, 0x7ff, 0x7ff, 0x7ff, 0x7ff, 0x7ff, 0x7ff, 0x7ff };
1474VECT_VAR_DECL(expected,uint,32,4) [] = { 0x1ffffffe, 0x1ffffffe, 0x1ffffffe, 0x1ffffffe };
1475VECT_VAR_DECL(expected,uint,64,2) [] = { 0x7ffffffffffffff, 0x7ffffffffffffff };
1476VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1477VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1478VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1479
1480VSHL_N output:
1481VECT_VAR_DECL(expected,int,8,8) [] = { 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee };
1482VECT_VAR_DECL(expected,int,16,4) [] = { 0xffe0, 0xffe2, 0xffe4, 0xffe6 };
1483VECT_VAR_DECL(expected,int,32,2) [] = { 0xffffff80, 0xffffff88 };
1484VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffffc0 };
1485VECT_VAR_DECL(expected,uint,8,8) [] = { 0xc0, 0xc4, 0xc8, 0xcc, 0xd0, 0xd4, 0xd8, 0xdc };
1486VECT_VAR_DECL(expected,uint,16,4) [] = { 0xff00, 0xff10, 0xff20, 0xff30 };
1487VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffff80, 0xffffff88 };
1488VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffffe0 };
1489VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1490VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1491VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1492VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x20, 0x40, 0x60, 0x80, 0xa0, 0xc0, 0xe0, 0x0, 0x20, 0x40, 0x60, 0x80, 0xa0, 0xc0, 0xe0 };
1493VECT_VAR_DECL(expected,int,16,8) [] = { 0xffe0, 0xffe2, 0xffe4, 0xffe6, 0xffe8, 0xffea, 0xffec, 0xffee };
1494VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffc0, 0xffffffc4, 0xffffffc8, 0xffffffcc };
1495VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffffc0, 0xffffffffffffffc4 };
1496VECT_VAR_DECL(expected,uint,8,16) [] = { 0xc0, 0xc4, 0xc8, 0xcc, 0xd0, 0xd4, 0xd8, 0xdc, 0xe0, 0xe4, 0xe8, 0xec, 0xf0, 0xf4, 0xf8, 0xfc };
1497VECT_VAR_DECL(expected,uint,16,8) [] = { 0xff80, 0xff88, 0xff90, 0xff98, 0xffa0, 0xffa8, 0xffb0, 0xffb8 };
1498VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffc0, 0xffffffc4, 0xffffffc8, 0xffffffcc };
1499VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffe0, 0xffffffffffffffe2 };
1500VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1501VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1502VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1503int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
1504int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
1505int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
1506int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
1507int VECT_VAR(expected_cumulative_sat,uint,8,8) = 0;
1508int VECT_VAR(expected_cumulative_sat,uint,16,4) = 0;
1509int VECT_VAR(expected_cumulative_sat,uint,32,2) = 0;
1510int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
1511int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
1512int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
1513int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
1514int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
1515int VECT_VAR(expected_cumulative_sat,uint,8,16) = 0;
1516int VECT_VAR(expected_cumulative_sat,uint,16,8) = 0;
1517int VECT_VAR(expected_cumulative_sat,uint,32,4) = 0;
1518int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
1519
1520VQSHL/VQSHLQ (with input = 0) output:
1521VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1522VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1523VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
1524VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
1525VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1526VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1527VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1528VECT_VAR_DECL(expected,uint,64,1) [] = { 0x0 };
1529VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1530VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1531VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1532VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1533VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1534VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1535VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
1536VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1537VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1538VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1539VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x0 };
1540VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1541VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1542VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1543int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
1544int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
1545int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
1546int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
1547int VECT_VAR(expected_cumulative_sat,uint,8,8) = 0;
1548int VECT_VAR(expected_cumulative_sat,uint,16,4) = 0;
1549int VECT_VAR(expected_cumulative_sat,uint,32,2) = 0;
1550int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
1551int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
1552int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
1553int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
1554int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
1555int VECT_VAR(expected_cumulative_sat,uint,8,16) = 0;
1556int VECT_VAR(expected_cumulative_sat,uint,16,8) = 0;
1557int VECT_VAR(expected_cumulative_sat,uint,32,4) = 0;
1558int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
1559
1560VQSHL/VQSHLQ (input 0 and negative shift amount) output:
1561VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1562VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1563VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
1564VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
1565VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1566VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1567VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1568VECT_VAR_DECL(expected,uint,64,1) [] = { 0x0 };
1569VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1570VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1571VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1572VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1573VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1574VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1575VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
1576VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1577VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1578VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1579VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x0 };
1580VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1581VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1582VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1583int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
1584int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
1585int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
1586int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
1587int VECT_VAR(expected_cumulative_sat,uint,8,8) = 1;
1588int VECT_VAR(expected_cumulative_sat,uint,16,4) = 1;
1589int VECT_VAR(expected_cumulative_sat,uint,32,2) = 1;
1590int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
1591int VECT_VAR(expected_cumulative_sat,int,8,16) = 1;
1592int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
1593int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
1594int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
1595int VECT_VAR(expected_cumulative_sat,uint,8,16) = 1;
1596int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
1597int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
1598int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
1599
1600VQSHL/VQSHLQ output:
1601VECT_VAR_DECL(expected,int,8,8) [] = { 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee };
1602VECT_VAR_DECL(expected,int,16,4) [] = { 0xff80, 0xff88, 0xff90, 0xff98 };
1603VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffff000, 0xfffff100 };
1604VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffffe };
1605VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1606VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
1607VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1608VECT_VAR_DECL(expected,uint,64,1) [] = { 0x1ffffffffffffffe };
1609VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1610VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1611VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1612VECT_VAR_DECL(expected,int,8,16) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
1613VECT_VAR_DECL(expected,int,16,8) [] = { 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000 };
1614VECT_VAR_DECL(expected,int,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
1615VECT_VAR_DECL(expected,int,64,2) [] = { 0x8000000000000000, 0x8000000000000000 };
1616VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1617VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
1618VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
1619VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
1620VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1621VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1622VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1623int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
1624int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
1625int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
1626int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
1627int VECT_VAR(expected_cumulative_sat,uint,8,8) = 0;
1628int VECT_VAR(expected_cumulative_sat,uint,16,4) = 0;
1629int VECT_VAR(expected_cumulative_sat,uint,32,2) = 0;
1630int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
1631int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
1632int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
1633int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
1634int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
1635int VECT_VAR(expected_cumulative_sat,uint,8,16) = 0;
1636int VECT_VAR(expected_cumulative_sat,uint,16,8) = 0;
1637int VECT_VAR(expected_cumulative_sat,uint,32,4) = 0;
1638int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
1639
1640VQSHL/VQSHLQ (negative shift amount) output:
1641VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb };
1642VECT_VAR_DECL(expected,int,16,4) [] = { 0xfffc, 0xfffc, 0xfffc, 0xfffc };
1643VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffffe, 0xfffffffe };
1644VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffffff };
1645VECT_VAR_DECL(expected,uint,8,8) [] = { 0x78, 0x78, 0x79, 0x79, 0x7a, 0x7a, 0x7b, 0x7b };
1646VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3ffc, 0x3ffc, 0x3ffc, 0x3ffc };
1647VECT_VAR_DECL(expected,uint,32,2) [] = { 0x1ffffffe, 0x1ffffffe };
1648VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff };
1649VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1650VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1651VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1652VECT_VAR_DECL(expected,int,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1653VECT_VAR_DECL(expected,int,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
1654VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
1655VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
1656VECT_VAR_DECL(expected,uint,8,16) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
1657VECT_VAR_DECL(expected,uint,16,8) [] = { 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f };
1658VECT_VAR_DECL(expected,uint,32,4) [] = { 0x7ffff, 0x7ffff, 0x7ffff, 0x7ffff };
1659VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffff, 0xfffffffffff };
1660VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1661VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1662VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1663int VECT_VAR(expected_cumulative_sat,int,8,8) = 1;
1664int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
1665int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
1666int VECT_VAR(expected_cumulative_sat,int,64,1) = 1;
1667int VECT_VAR(expected_cumulative_sat,uint,8,8) = 1;
1668int VECT_VAR(expected_cumulative_sat,uint,16,4) = 1;
1669int VECT_VAR(expected_cumulative_sat,uint,32,2) = 1;
1670int VECT_VAR(expected_cumulative_sat,uint,64,1) = 1;
1671int VECT_VAR(expected_cumulative_sat,int,8,16) = 1;
1672int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
1673int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
1674int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
1675int VECT_VAR(expected_cumulative_sat,uint,8,16) = 1;
1676int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
1677int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
1678int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
1679
1680VQSHL/VQSHLQ (large shift amount, negative input) output:
1681VECT_VAR_DECL(expected,int,8,8) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
1682VECT_VAR_DECL(expected,int,16,4) [] = { 0x8000, 0x8000, 0x8000, 0x8000 };
1683VECT_VAR_DECL(expected,int,32,2) [] = { 0x80000000, 0x80000000 };
1684VECT_VAR_DECL(expected,int,64,1) [] = { 0x8000000000000000 };
1685VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1686VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
1687VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1688VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffffff };
1689VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1690VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1691VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1692VECT_VAR_DECL(expected,int,8,16) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
1693VECT_VAR_DECL(expected,int,16,8) [] = { 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000 };
1694VECT_VAR_DECL(expected,int,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
1695VECT_VAR_DECL(expected,int,64,2) [] = { 0x8000000000000000, 0x8000000000000000 };
1696VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1697VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
1698VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
1699VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
1700VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1701VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1702VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1703int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
1704int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
1705int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
1706int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
1707int VECT_VAR(expected_cumulative_sat,uint,8,8) = 0;
1708int VECT_VAR(expected_cumulative_sat,uint,16,4) = 0;
1709int VECT_VAR(expected_cumulative_sat,uint,32,2) = 0;
1710int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
1711int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
1712int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
1713int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
1714int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
1715int VECT_VAR(expected_cumulative_sat,uint,8,16) = 0;
1716int VECT_VAR(expected_cumulative_sat,uint,16,8) = 0;
1717int VECT_VAR(expected_cumulative_sat,uint,32,4) = 0;
1718int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
1719
1720VQSHL/VQSHLQ (check cumulative saturation) output:
1721VECT_VAR_DECL(expected,int,8,8) [] = { 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f };
1722VECT_VAR_DECL(expected,int,16,4) [] = { 0x3fff, 0x3fff, 0x3fff, 0x3fff };
1723VECT_VAR_DECL(expected,int,32,2) [] = { 0x3fffffff, 0x3fffffff };
1724VECT_VAR_DECL(expected,int,64,1) [] = { 0x3fffffffffffffff };
1725VECT_VAR_DECL(expected,uint,8,8) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
1726VECT_VAR_DECL(expected,uint,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
1727VECT_VAR_DECL(expected,uint,32,2) [] = { 0x7fffffff, 0x7fffffff };
1728VECT_VAR_DECL(expected,uint,64,1) [] = { 0x7fffffffffffffff };
1729VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1730VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1731VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1732VECT_VAR_DECL(expected,int,8,16) [] = { 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f };
1733VECT_VAR_DECL(expected,int,16,8) [] = { 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff, 0x3fff };
1734VECT_VAR_DECL(expected,int,32,4) [] = { 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff };
1735VECT_VAR_DECL(expected,int,64,2) [] = { 0x3fffffffffffffff, 0x3fffffffffffffff };
1736VECT_VAR_DECL(expected,uint,8,16) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
1737VECT_VAR_DECL(expected,uint,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
1738VECT_VAR_DECL(expected,uint,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
1739VECT_VAR_DECL(expected,uint,64,2) [] = { 0x7fffffffffffffff, 0x7fffffffffffffff };
1740VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1741VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1742VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1743int VECT_VAR(expected_cumulative_sat,int,8,8) = 1;
1744int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
1745int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
1746int VECT_VAR(expected_cumulative_sat,int,64,1) = 1;
1747int VECT_VAR(expected_cumulative_sat,uint,8,8) = 1;
1748int VECT_VAR(expected_cumulative_sat,uint,16,4) = 1;
1749int VECT_VAR(expected_cumulative_sat,uint,32,2) = 1;
1750int VECT_VAR(expected_cumulative_sat,uint,64,1) = 1;
1751int VECT_VAR(expected_cumulative_sat,int,8,16) = 1;
1752int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
1753int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
1754int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
1755int VECT_VAR(expected_cumulative_sat,uint,8,16) = 1;
1756int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
1757int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
1758int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
1759
1760VQSHL/VQSHLQ (large shift amount, positive input) output:
1761VECT_VAR_DECL(expected,int,8,8) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
1762VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
1763VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
1764VECT_VAR_DECL(expected,int,64,1) [] = { 0x7fffffffffffffff };
1765VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1766VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
1767VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1768VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffffff };
1769VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1770VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1771VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1772VECT_VAR_DECL(expected,int,8,16) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
1773VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
1774VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
1775VECT_VAR_DECL(expected,int,64,2) [] = { 0x7fffffffffffffff, 0x7fffffffffffffff };
1776VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1777VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
1778VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
1779VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
1780VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1781VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1782VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1783int VECT_VAR(expected_cumulative_sat,int,8,8) = 1;
1784int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
1785int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
1786int VECT_VAR(expected_cumulative_sat,int,64,1) = 1;
1787int VECT_VAR(expected_cumulative_sat,uint,8,8) = 1;
1788int VECT_VAR(expected_cumulative_sat,uint,16,4) = 1;
1789int VECT_VAR(expected_cumulative_sat,uint,32,2) = 1;
1790int VECT_VAR(expected_cumulative_sat,uint,64,1) = 1;
1791int VECT_VAR(expected_cumulative_sat,int,8,16) = 1;
1792int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
1793int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
1794int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
1795int VECT_VAR(expected_cumulative_sat,uint,8,16) = 1;
1796int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
1797int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
1798int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
1799
1800VQSHL/VQSHLQ (check saturation on 64 bits) output:
1801VECT_VAR_DECL(expected,int,8,8) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
1802VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
1803VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
1804VECT_VAR_DECL(expected,int,64,1) [] = { 0x8000000000000000 };
1805VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1806VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
1807VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1808VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffffff };
1809VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1810VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1811VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1812VECT_VAR_DECL(expected,int,8,16) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
1813VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
1814VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
1815VECT_VAR_DECL(expected,int,64,2) [] = { 0x7fffffffffffffff, 0x7fffffffffffffff };
1816VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1817VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
1818VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
1819VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
1820VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1821VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1822VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1823int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
1824int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
1825int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
1826int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
1827int VECT_VAR(expected_cumulative_sat,uint,8,8) = 1;
1828int VECT_VAR(expected_cumulative_sat,uint,16,4) = 1;
1829int VECT_VAR(expected_cumulative_sat,uint,32,2) = 1;
1830int VECT_VAR(expected_cumulative_sat,uint,64,1) = 1;
1831int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
1832int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
1833int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
1834int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
1835int VECT_VAR(expected_cumulative_sat,uint,8,16) = 1;
1836int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
1837int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
1838int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
1839
1840VQSHL_N/VQSHLQ_N output:
1841VECT_VAR_DECL(expected,int,8,8) [] = { 0xc0, 0xc4, 0xc8, 0xcc, 0xd0, 0xd4, 0xd8, 0xdc };
1842VECT_VAR_DECL(expected,int,16,4) [] = { 0xffe0, 0xffe2, 0xffe4, 0xffe6 };
1843VECT_VAR_DECL(expected,int,32,2) [] = { 0xffffffe0, 0xffffffe2 };
1844VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffffc0 };
1845VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1846VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
1847VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1848VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffffff };
1849VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1850VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1851VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1852VECT_VAR_DECL(expected,int,8,16) [] = { 0xc0, 0xc4, 0xc8, 0xcc, 0xd0, 0xd4, 0xd8, 0xdc, 0xe0, 0xe4, 0xe8, 0xec, 0xf0, 0xf4, 0xf8, 0xfc };
1853VECT_VAR_DECL(expected,int,16,8) [] = { 0xffe0, 0xffe2, 0xffe4, 0xffe6, 0xffe8, 0xffea, 0xffec, 0xffee };
1854VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffe0, 0xffffffe2, 0xffffffe4, 0xffffffe6 };
1855VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffffc0, 0xffffffffffffffc4 };
1856VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1857VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
1858VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
1859VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
1860VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1861VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1862VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1863int VECT_VAR(expected_cumulative_sat,int,8,8) = 1;
1864int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
1865int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
1866int VECT_VAR(expected_cumulative_sat,int,64,1) = 1;
1867int VECT_VAR(expected_cumulative_sat,uint,8,8) = 1;
1868int VECT_VAR(expected_cumulative_sat,uint,16,4) = 1;
1869int VECT_VAR(expected_cumulative_sat,uint,32,2) = 1;
1870int VECT_VAR(expected_cumulative_sat,uint,64,1) = 1;
1871int VECT_VAR(expected_cumulative_sat,int,8,16) = 1;
1872int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
1873int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
1874int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
1875int VECT_VAR(expected_cumulative_sat,uint,8,16) = 1;
1876int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
1877int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
1878int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
1879
1880VQSHL_N/VQSHLQ_N (check saturation with large positive input) output:
1881VECT_VAR_DECL(expected,int,8,8) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
1882VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
1883VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
1884VECT_VAR_DECL(expected,int,64,1) [] = { 0x7fffffffffffffff };
1885VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1886VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
1887VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
1888VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffffff };
1889VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1890VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1891VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1892VECT_VAR_DECL(expected,int,8,16) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
1893VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
1894VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
1895VECT_VAR_DECL(expected,int,64,2) [] = { 0x7fffffffffffffff, 0x7fffffffffffffff };
1896VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1897VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
1898VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
1899VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
1900VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1901VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1902VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1903
1904VRSHL/VRSHLQ (with input = 0) output:
1905VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1906VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1907VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
1908VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
1909VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1910VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1911VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1912VECT_VAR_DECL(expected,uint,64,1) [] = { 0x0 };
1913VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1914VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1915VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1916VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1917VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1918VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1919VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
1920VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1921VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1922VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1923VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x0 };
1924VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1925VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1926VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1927
1928VRSHL/VRSHLQ (input 0 and negative shift amount) output:
1929VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1930VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1931VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
1932VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
1933VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1934VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1935VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
1936VECT_VAR_DECL(expected,uint,64,1) [] = { 0x0 };
1937VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1938VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1939VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1940VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1941VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1942VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1943VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
1944VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1945VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1946VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1947VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x0 };
1948VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1949VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1950VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1951
1952VRSHL/VRSHLQ output:
1953VECT_VAR_DECL(expected,int,8,8) [] = { 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee };
1954VECT_VAR_DECL(expected,int,16,4) [] = { 0xff80, 0xff88, 0xff90, 0xff98 };
1955VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffff000, 0xfffff100 };
1956VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffffe };
1957VECT_VAR_DECL(expected,uint,8,8) [] = { 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee };
1958VECT_VAR_DECL(expected,uint,16,4) [] = { 0xff80, 0xff88, 0xff90, 0xff98 };
1959VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffff000, 0xfffff100 };
1960VECT_VAR_DECL(expected,uint,64,1) [] = { 0x1ffffffffffffffe };
1961VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1962VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1963VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1964VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1965VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x1000, 0x2000, 0x3000, 0x4000, 0x5000, 0x6000, 0x7000 };
1966VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1967VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x8000000000000000 };
1968VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1969VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x1000, 0x2000, 0x3000, 0x4000, 0x5000, 0x6000, 0x7000 };
1970VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1971VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x8000000000000000 };
1972VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1973VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1974VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1975
1976VRSHL/VRSHLQ (negative shift amount) output:
1977VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc };
1978VECT_VAR_DECL(expected,int,16,4) [] = { 0xfffc, 0xfffc, 0xfffd, 0xfffd };
1979VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffffe, 0xfffffffe };
1980VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffffff };
1981VECT_VAR_DECL(expected,uint,8,8) [] = { 0x78, 0x79, 0x79, 0x7a, 0x7a, 0x7b, 0x7b, 0x7c };
1982VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3ffc, 0x3ffc, 0x3ffd, 0x3ffd };
1983VECT_VAR_DECL(expected,uint,32,2) [] = { 0x1ffffffe, 0x1ffffffe };
1984VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff };
1985VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1986VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
1987VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
1988VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1989VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
1990VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
1991VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
1992VECT_VAR_DECL(expected,uint,8,16) [] = { 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2 };
1993VECT_VAR_DECL(expected,uint,16,8) [] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
1994VECT_VAR_DECL(expected,uint,32,4) [] = { 0x80000, 0x80000, 0x80000, 0x80000 };
1995VECT_VAR_DECL(expected,uint,64,2) [] = { 0x100000000000, 0x100000000000 };
1996VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
1997VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
1998VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
1999
2000VRSHL/VRSHLQ (checking round_const overflow: shift by -1) output:
2001VECT_VAR_DECL(expected,int,8,8) [] = { 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 };
2002VECT_VAR_DECL(expected,int,16,4) [] = { 0x4000, 0x4000, 0x4000, 0x4000 };
2003VECT_VAR_DECL(expected,int,32,2) [] = { 0x40000000, 0x40000000 };
2004VECT_VAR_DECL(expected,int,64,1) [] = { 0x4000000000000000 };
2005VECT_VAR_DECL(expected,uint,8,8) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
2006VECT_VAR_DECL(expected,uint,16,4) [] = { 0x8000, 0x8000, 0x8000, 0x8000 };
2007VECT_VAR_DECL(expected,uint,32,2) [] = { 0x80000000, 0x80000000 };
2008VECT_VAR_DECL(expected,uint,64,1) [] = { 0x8000000000000000 };
2009VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2010VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2011VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2012VECT_VAR_DECL(expected,int,8,16) [] = { 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 };
2013VECT_VAR_DECL(expected,int,16,8) [] = { 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000 };
2014VECT_VAR_DECL(expected,int,32,4) [] = { 0x40000000, 0x40000000, 0x40000000, 0x40000000 };
2015VECT_VAR_DECL(expected,int,64,2) [] = { 0x4000000000000000, 0x4000000000000000 };
2016VECT_VAR_DECL(expected,uint,8,16) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
2017VECT_VAR_DECL(expected,uint,16,8) [] = { 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000 };
2018VECT_VAR_DECL(expected,uint,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
2019VECT_VAR_DECL(expected,uint,64,2) [] = { 0x8000000000000000, 0x8000000000000000 };
2020VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2021VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2022VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2023
2024VRSHL/VRSHLQ (checking round_const overflow: shift by -3) output:
2025VECT_VAR_DECL(expected,int,8,8) [] = { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 };
2026VECT_VAR_DECL(expected,int,16,4) [] = { 0x1000, 0x1000, 0x1000, 0x1000 };
2027VECT_VAR_DECL(expected,int,32,2) [] = { 0x10000000, 0x10000000 };
2028VECT_VAR_DECL(expected,int,64,1) [] = { 0x1000000000000000 };
2029VECT_VAR_DECL(expected,uint,8,8) [] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
2030VECT_VAR_DECL(expected,uint,16,4) [] = { 0x2000, 0x2000, 0x2000, 0x2000 };
2031VECT_VAR_DECL(expected,uint,32,2) [] = { 0x20000000, 0x20000000 };
2032VECT_VAR_DECL(expected,uint,64,1) [] = { 0x2000000000000000 };
2033VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2034VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2035VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2036VECT_VAR_DECL(expected,int,8,16) [] = { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 };
2037VECT_VAR_DECL(expected,int,16,8) [] = { 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000 };
2038VECT_VAR_DECL(expected,int,32,4) [] = { 0x10000000, 0x10000000, 0x10000000, 0x10000000 };
2039VECT_VAR_DECL(expected,int,64,2) [] = { 0x1000000000000000, 0x1000000000000000 };
2040VECT_VAR_DECL(expected,uint,8,16) [] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
2041VECT_VAR_DECL(expected,uint,16,8) [] = { 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000 };
2042VECT_VAR_DECL(expected,uint,32,4) [] = { 0x20000000, 0x20000000, 0x20000000, 0x20000000 };
2043VECT_VAR_DECL(expected,uint,64,2) [] = { 0x2000000000000000, 0x2000000000000000 };
2044VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2045VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2046VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2047
2048VRSHL/VRSHLQ (checking negative shift amount as large as input vector width) output:
2049VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
2050VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
2051VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
2052VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
2053VECT_VAR_DECL(expected,uint,8,8) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
2054VECT_VAR_DECL(expected,uint,16,4) [] = { 0x1, 0x1, 0x1, 0x1 };
2055VECT_VAR_DECL(expected,uint,32,2) [] = { 0x1, 0x1 };
2056VECT_VAR_DECL(expected,uint,64,1) [] = { 0x1 };
2057VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2058VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2059VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2060VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
2061VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
2062VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
2063VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
2064VECT_VAR_DECL(expected,uint,8,16) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
2065VECT_VAR_DECL(expected,uint,16,8) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
2066VECT_VAR_DECL(expected,uint,32,4) [] = { 0x1, 0x1, 0x1, 0x1 };
2067VECT_VAR_DECL(expected,uint,64,2) [] = { 0x1, 0x1 };
2068VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2069VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2070VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2071
2072VRSHL/VRSHLQ (large shift amount) output:
2073VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
2074VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
2075VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
2076VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
2077VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
2078VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
2079VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
2080VECT_VAR_DECL(expected,uint,64,1) [] = { 0x0 };
2081VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2082VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2083VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2084VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
2085VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
2086VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
2087VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
2088VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
2089VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
2090VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
2091VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x0 };
2092VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2093VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2094VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2095
2096VRSHL/VRSHLQ (large negative shift amount) output:
2097VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
2098VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
2099VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
2100VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
2101VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
2102VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
2103VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
2104VECT_VAR_DECL(expected,uint,64,1) [] = { 0x0 };
2105VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2106VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2107VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2108VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
2109VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
2110VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
2111VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
2112VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
2113VECT_VAR_DECL(expected,uint,16,8) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
2114VECT_VAR_DECL(expected,uint,32,4) [] = { 0x1, 0x1, 0x1, 0x1 };
2115VECT_VAR_DECL(expected,uint,64,2) [] = { 0x1, 0x1 };
2116VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2117VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2118VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2119
2120VLD2/VLD2Q chunk 0 output:
2121VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
2122VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
2123VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
2124VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
2125VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
2126VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
2127VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
2128VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
2129VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
2130VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
2131VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
2132VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2133VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2134VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
2135VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2136VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2137VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2138VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
2139VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2140VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2141VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2142VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0xc1600000, 0xc1500000 };
2143
2144VLD2/VLD2Q chunk 1 output:
2145VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2146VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2147VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff2, 0xfffffff3 };
2148VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff1 };
2149VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2150VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2151VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff2, 0xfffffff3 };
2152VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff1 };
2153VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2154VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2155VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1600000, 0xc1500000 };
2156VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2157VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc, 0xfffd, 0xfffe, 0xffff };
2158VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff4, 0xfffffff5, 0xfffffff6, 0xfffffff7 };
2159VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2160VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2161VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc, 0xfffd, 0xfffe, 0xffff };
2162VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff4, 0xfffffff5, 0xfffffff6, 0xfffffff7 };
2163VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2164VECT_VAR_DECL(expected,poly,8,16) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2165VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc, 0xfffd, 0xfffe, 0xffff };
2166VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1400000, 0xc1300000, 0xc1200000, 0xc1100000 };
2167
2168VLD3/VLD3Q chunk 0 output:
2169VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
2170VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
2171VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
2172VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
2173VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
2174VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
2175VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
2176VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
2177VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
2178VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
2179VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
2180VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2181VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2182VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
2183VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2184VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2185VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2186VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
2187VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2188VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2189VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2190VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0xc1600000, 0xc1500000 };
2191
2192VLD3/VLD3Q chunk 1 output:
2193VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2194VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2195VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff2, 0xfffffff3 };
2196VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff1 };
2197VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2198VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2199VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff2, 0xfffffff3 };
2200VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff1 };
2201VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2202VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2203VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1600000, 0xc1500000 };
2204VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2205VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc, 0xfffd, 0xfffe, 0xffff };
2206VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff4, 0xfffffff5, 0xfffffff6, 0xfffffff7 };
2207VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2208VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2209VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc, 0xfffd, 0xfffe, 0xffff };
2210VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff4, 0xfffffff5, 0xfffffff6, 0xfffffff7 };
2211VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2212VECT_VAR_DECL(expected,poly,8,16) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2213VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc, 0xfffd, 0xfffe, 0xffff };
2214VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1400000, 0xc1300000, 0xc1200000, 0xc1100000 };
2215
2216VLD3/VLD3Q chunk 2 output:
2217VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 };
2218VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb };
2219VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff4, 0xfffffff5 };
2220VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff2 };
2221VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 };
2222VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb };
2223VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff4, 0xfffffff5 };
2224VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff2 };
2225VECT_VAR_DECL(expected,poly,8,8) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 };
2226VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb };
2227VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1400000, 0xc1300000 };
2228VECT_VAR_DECL(expected,int,8,16) [] = { 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f };
2229VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 };
2230VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff8, 0xfffffff9, 0xfffffffa, 0xfffffffb };
2231VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2232VECT_VAR_DECL(expected,uint,8,16) [] = { 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f };
2233VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 };
2234VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff8, 0xfffffff9, 0xfffffffa, 0xfffffffb };
2235VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2236VECT_VAR_DECL(expected,poly,8,16) [] = { 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f };
2237VECT_VAR_DECL(expected,poly,16,8) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 };
2238VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1000000, 0xc0e00000, 0xc0c00000, 0xc0a00000 };
2239
2240VLD4/VLD4Q chunk 0 output:
2241VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
2242VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
2243VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
2244VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
2245VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
2246VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
2247VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
2248VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
2249VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
2250VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
2251VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
2252VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2253VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2254VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
2255VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2256VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2257VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2258VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
2259VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2260VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2261VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2262VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0xc1600000, 0xc1500000 };
2263
2264VLD4/VLD4Q chunk 1 output:
2265VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2266VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2267VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff2, 0xfffffff3 };
2268VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff1 };
2269VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2270VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2271VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff2, 0xfffffff3 };
2272VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff1 };
2273VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2274VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2275VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1600000, 0xc1500000 };
2276VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2277VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc, 0xfffd, 0xfffe, 0xffff };
2278VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff4, 0xfffffff5, 0xfffffff6, 0xfffffff7 };
2279VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2280VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2281VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc, 0xfffd, 0xfffe, 0xffff };
2282VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff4, 0xfffffff5, 0xfffffff6, 0xfffffff7 };
2283VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2284VECT_VAR_DECL(expected,poly,8,16) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2285VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc, 0xfffd, 0xfffe, 0xffff };
2286VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1400000, 0xc1300000, 0xc1200000, 0xc1100000 };
2287
2288VLD4/VLD4Q chunk 2 output:
2289VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 };
2290VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb };
2291VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff4, 0xfffffff5 };
2292VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff2 };
2293VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 };
2294VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb };
2295VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff4, 0xfffffff5 };
2296VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff2 };
2297VECT_VAR_DECL(expected,poly,8,8) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 };
2298VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff8, 0xfff9, 0xfffa, 0xfffb };
2299VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1400000, 0xc1300000 };
2300VECT_VAR_DECL(expected,int,8,16) [] = { 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f };
2301VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 };
2302VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff8, 0xfffffff9, 0xfffffffa, 0xfffffffb };
2303VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2304VECT_VAR_DECL(expected,uint,8,16) [] = { 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f };
2305VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 };
2306VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff8, 0xfffffff9, 0xfffffffa, 0xfffffffb };
2307VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2308VECT_VAR_DECL(expected,poly,8,16) [] = { 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f };
2309VECT_VAR_DECL(expected,poly,16,8) [] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 };
2310VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1000000, 0xc0e00000, 0xc0c00000, 0xc0a00000 };
2311
2312VLD4/VLD4Q chunk 3 output:
2313VECT_VAR_DECL(expected,int,8,8) [] = { 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2314VECT_VAR_DECL(expected,int,16,4) [] = { 0xfffc, 0xfffd, 0xfffe, 0xffff };
2315VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff6, 0xfffffff7 };
2316VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff3 };
2317VECT_VAR_DECL(expected,uint,8,8) [] = { 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2318VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfffc, 0xfffd, 0xfffe, 0xffff };
2319VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff6, 0xfffffff7 };
2320VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff3 };
2321VECT_VAR_DECL(expected,poly,8,8) [] = { 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2322VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfffc, 0xfffd, 0xfffe, 0xffff };
2323VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1200000, 0xc1100000 };
2324VECT_VAR_DECL(expected,int,8,16) [] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f };
2325VECT_VAR_DECL(expected,int,16,8) [] = { 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2326VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffffc, 0xfffffffd, 0xfffffffe, 0xffffffff };
2327VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2328VECT_VAR_DECL(expected,uint,8,16) [] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f };
2329VECT_VAR_DECL(expected,uint,16,8) [] = { 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2330VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffffc, 0xfffffffd, 0xfffffffe, 0xffffffff };
2331VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2332VECT_VAR_DECL(expected,poly,8,16) [] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f };
2333VECT_VAR_DECL(expected,poly,16,8) [] = { 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };
2334VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc0800000, 0xc0400000, 0xc0000000, 0xbf800000 };
2335
2336VDUP_LANE/VDUP_LANEQ output:
2337VECT_VAR_DECL(expected,int,8,8) [] = { 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1 };
2338VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
2339VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff1, 0xfffffff1 };
2340VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
2341VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7 };
2342VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff3, 0xfff3, 0xfff3, 0xfff3 };
2343VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff1, 0xfffffff1 };
2344VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
2345VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7 };
2346VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff3, 0xfff3, 0xfff3, 0xfff3 };
2347VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1700000, 0xc1700000 };
2348VECT_VAR_DECL(expected,int,8,16) [] = { 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2 };
2349VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff3, 0xfff3, 0xfff3, 0xfff3, 0xfff3, 0xfff3, 0xfff3, 0xfff3 };
2350VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff1, 0xfffffff1, 0xfffffff1, 0xfffffff1 };
2351VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff0 };
2352VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5 };
2353VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
2354VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff0, 0xfffffff0, 0xfffffff0 };
2355VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff0 };
2356VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5 };
2357VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1, 0xfff1 };
2358VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1700000, 0xc1700000, 0xc1700000, 0xc1700000 };
2359int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
2360int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
2361
2362VQDMULL_LANE output:
2363VECT_VAR_DECL(expected,int,32,4) [] = { 0x8000, 0x8000, 0x8000, 0x8000 };
2364VECT_VAR_DECL(expected,int,64,2) [] = { 0x4000, 0x4000 };
2365int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
2366int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
2367VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
2368VECT_VAR_DECL(expected,int,64,2) [] = { 0x7fffffffffffffff, 0x7fffffffffffffff };
2369int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
2370int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
2371
2372VQDMULL_N output:
2373VECT_VAR_DECL(expected,int,32,4) [] = { 0x44000, 0x44000, 0x44000, 0x44000 };
2374VECT_VAR_DECL(expected,int,64,2) [] = { 0xaa000, 0xaa000 };
2375int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
2376int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
2377VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
2378VECT_VAR_DECL(expected,int,64,2) [] = { 0x7fffffffffffffff, 0x7fffffffffffffff };
2379
2380VST1_LANE/VST1_LANEQ output:
2381VECT_VAR_DECL(expected,int,8,8) [] = { 0xf7, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2382VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff3, 0x3333, 0x3333, 0x3333 };
2383VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff1, 0x33333333 };
2384VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
2385VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf6, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2386VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff2, 0x3333, 0x3333, 0x3333 };
2387VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0x33333333 };
2388VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
2389VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf6, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2390VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff2, 0x3333, 0x3333, 0x3333 };
2391VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1700000, 0x33333333 };
2392VECT_VAR_DECL(expected,int,8,16) [] = { 0xff, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2393VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff5, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2394VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff1, 0x33333333, 0x33333333, 0x33333333 };
2395VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff1, 0x3333333333333333 };
2396VECT_VAR_DECL(expected,uint,8,16) [] = { 0xfa, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2397VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff4, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2398VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff3, 0x33333333, 0x33333333, 0x33333333 };
2399VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0x3333333333333333 };
2400VECT_VAR_DECL(expected,poly,8,16) [] = { 0xfa, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2401VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff4, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2402VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1700000, 0x33333333, 0x33333333, 0x33333333 };
2403
2404VSUB/VSUBQ output:
2405VECT_VAR_DECL(expected,int,8,8) [] = { 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5 };
2406VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2407VECT_VAR_DECL(expected,int,32,2) [] = { 0xffffffed, 0xffffffee };
2408VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffff8c };
2409VECT_VAR_DECL(expected,uint,8,8) [] = { 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3 };
2410VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffd2, 0xffd3, 0xffd4, 0xffd5 };
2411VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffc8, 0xffffffc9 };
2412VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffffee };
2413VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2414VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2415VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2416VECT_VAR_DECL(expected,int,8,16) [] = { 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9 };
2417VECT_VAR_DECL(expected,int,16,8) [] = { 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb };
2418VECT_VAR_DECL(expected,int,32,4) [] = { 0xe, 0xf, 0x10, 0x11 };
2419VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffffd8, 0xffffffffffffffd9 };
2420VECT_VAR_DECL(expected,uint,8,16) [] = { 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3 };
2421VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffed, 0xffee, 0xffef, 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4 };
2422VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffb9, 0xffffffba, 0xffffffbb, 0xffffffbc };
2423VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffed, 0xffffffffffffffee };
2424VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2425VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2426VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2427VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc00ccccd, 0xc00ccccd };
2428VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc00ccccc, 0xc00ccccc, 0xc00ccccc, 0xc00ccccc };
2429int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
2430int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
2431int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
2432int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
2433int VECT_VAR(expected_cumulative_sat,uint,8,8) = 1;
2434int VECT_VAR(expected_cumulative_sat,uint,16,4) = 1;
2435int VECT_VAR(expected_cumulative_sat,uint,32,2) = 1;
2436int VECT_VAR(expected_cumulative_sat,uint,64,1) = 1;
2437int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
2438int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
2439int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
2440int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
2441int VECT_VAR(expected_cumulative_sat,uint,8,16) = 1;
2442int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
2443int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
2444int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
2445
2446VQADD/VQADDQ output:
2447VECT_VAR_DECL(expected,int,8,8) [] = { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8 };
2448VECT_VAR_DECL(expected,int,16,4) [] = { 0x12, 0x13, 0x14, 0x15 };
2449VECT_VAR_DECL(expected,int,32,2) [] = { 0x23, 0x24 };
2450VECT_VAR_DECL(expected,int,64,1) [] = { 0x34 };
2451VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
2452VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
2453VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
2454VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffffff };
2455VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2456VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2457VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2458VECT_VAR_DECL(expected,int,8,16) [] = { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10 };
2459VECT_VAR_DECL(expected,int,16,8) [] = { 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19 };
2460VECT_VAR_DECL(expected,int,32,4) [] = { 0x23, 0x24, 0x25, 0x26 };
2461VECT_VAR_DECL(expected,int,64,2) [] = { 0x34, 0x35 };
2462VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
2463VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
2464VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
2465VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
2466VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2467VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2468VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2469int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
2470int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
2471int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
2472int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
2473VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
2474VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
2475VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
2476VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
2477int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
2478int VECT_VAR(expected_cumulative_sat,uint,64,1) = 1;
2479int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
2480int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
2481VECT_VAR_DECL(expected,int,64,1) [] = { 0x34 };
2482VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffffff };
2483VECT_VAR_DECL(expected,int,64,2) [] = { 0x34, 0x35 };
2484VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
2485int VECT_VAR(expected_cumulative_sat,int,64,1) = 1;
2486int VECT_VAR(expected_cumulative_sat,uint,64,1) = 1;
2487int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
2488int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
2489VECT_VAR_DECL(expected,int,64,1) [] = { 0x8000000000000000 };
2490VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffffff };
2491VECT_VAR_DECL(expected,int,64,2) [] = { 0x7fffffffffffffff, 0x7fffffffffffffff };
2492VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
2493int VECT_VAR(expected_cumulative_sat,int,8,8) = 1;
2494int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
2495int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
2496int VECT_VAR(expected_cumulative_sat,int,8,16) = 1;
2497int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
2498int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
2499VECT_VAR_DECL(expected,int,8,8) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
2500VECT_VAR_DECL(expected,int,16,4) [] = { 0x8000, 0x8000, 0x8000, 0x8000 };
2501VECT_VAR_DECL(expected,int,32,2) [] = { 0x80000000, 0x80000000 };
2502VECT_VAR_DECL(expected,int,8,16) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
2503VECT_VAR_DECL(expected,int,16,8) [] = { 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000 };
2504VECT_VAR_DECL(expected,int,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
2505int VECT_VAR(expected_cumulative_sat,uint,8,8) = 1;
2506int VECT_VAR(expected_cumulative_sat,uint,16,4) = 1;
2507int VECT_VAR(expected_cumulative_sat,uint,32,2) = 1;
2508int VECT_VAR(expected_cumulative_sat,uint,8,16) = 1;
2509int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
2510int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
2511VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
2512VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
2513VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
2514VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
2515VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
2516VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
2517
2518VABS/VABSQ output:
2519VECT_VAR_DECL(expected,int,8,8) [] = { 0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9 };
2520VECT_VAR_DECL(expected,int,16,4) [] = { 0x10, 0xf, 0xe, 0xd };
2521VECT_VAR_DECL(expected,int,32,2) [] = { 0x10, 0xf };
2522VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2523VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2524VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2525VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2526VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2527VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2528VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2529VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2530VECT_VAR_DECL(expected,int,8,16) [] = { 0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1 };
2531VECT_VAR_DECL(expected,int,16,8) [] = { 0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9 };
2532VECT_VAR_DECL(expected,int,32,4) [] = { 0x10, 0xf, 0xe, 0xd };
2533VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2534VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2535VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2536VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2537VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2538VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2539VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2540VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2541VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x40133333, 0x40133333 };
2542VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x4059999a, 0x4059999a, 0x4059999a, 0x4059999a };
2543int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
2544int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
2545int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
2546int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
2547int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
2548int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
2549
2550VQABS/VQABSQ output:
2551VECT_VAR_DECL(expected,int,8,8) [] = { 0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9 };
2552VECT_VAR_DECL(expected,int,16,4) [] = { 0x10, 0xf, 0xe, 0xd };
2553VECT_VAR_DECL(expected,int,32,2) [] = { 0x10, 0xf };
2554VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2555VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2556VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2557VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2558VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2559VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2560VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2561VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2562VECT_VAR_DECL(expected,int,8,16) [] = { 0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1 };
2563VECT_VAR_DECL(expected,int,16,8) [] = { 0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9 };
2564VECT_VAR_DECL(expected,int,32,4) [] = { 0x10, 0xf, 0xe, 0xd };
2565VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2566VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2567VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2568VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2569VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2570VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2571VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2572VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2573int VECT_VAR(expected_cumulative_sat,int,8,8) = 1;
2574int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
2575int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
2576int VECT_VAR(expected_cumulative_sat,int,8,16) = 1;
2577int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
2578int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
2579
2580VQABS/VQABSQ output:
2581VECT_VAR_DECL(expected,int,8,8) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
2582VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
2583VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
2584VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2585VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2586VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2587VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2588VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2589VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2590VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2591VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2592VECT_VAR_DECL(expected,int,8,16) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
2593VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
2594VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
2595VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2596VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2597VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2598VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2599VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2600VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2601VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2602VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2603
2604VCOMBINE output:
2605VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2606VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2607VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
2608VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2609VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2610VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2611VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2612VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2613VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2614VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2615VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2616VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 };
2617VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0x22, 0x22, 0x22, 0x22 };
2618VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0x33, 0x33 };
2619VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0x44 };
2620VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55 };
2621VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0x66, 0x66, 0x66, 0x66 };
2622VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0x77, 0x77 };
2623VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0x88 };
2624VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55 };
2625VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0x66, 0x66, 0x66, 0x66 };
2626VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0x40533333, 0x40533333 };
2627
2628VMAX/VMAXQ output:
2629VECT_VAR_DECL(expected,int,8,8) [] = { 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
2630VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff3 };
2631VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
2632VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2633VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
2634VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff1, 0xfff1, 0xfff2, 0xfff3 };
2635VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
2636VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2637VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2638VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2639VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1780000, 0xc1700000 };
2640VECT_VAR_DECL(expected,int,8,16) [] = { 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2641VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff3, 0xfff3, 0xfff3, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2642VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff1, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
2643VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2644VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
2645VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff2, 0xfff2, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2646VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff1, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
2647VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2648VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2649VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2650VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1680000, 0xc1680000, 0xc1600000, 0xc1500000 };
2651VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x7fc00000, 0x7fc00000, 0x7fc00000, 0x7fc00000 };
2652VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x7fc00000, 0x7fc00000, 0x7fc00000, 0x7fc00000 };
2653VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 };
2654VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 };
2655VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
2656VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
2657
2658VMIN/VMINQ output:
2659VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3 };
2660VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff2 };
2661VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff0 };
2662VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2663VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3 };
2664VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff1, 0xfff1 };
2665VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff0 };
2666VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2667VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2668VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2669VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1780000 };
2670VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4 };
2671VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff3, 0xfff3, 0xfff3, 0xfff3 };
2672VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff1, 0xfffffff1 };
2673VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2674VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9 };
2675VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2, 0xfff2 };
2676VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff1, 0xfffffff1 };
2677VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2678VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2679VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2680VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0xc1680000, 0xc1680000 };
2681VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x7fc00000, 0x7fc00000, 0x7fc00000, 0x7fc00000 };
2682VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x7fc00000, 0x7fc00000, 0x7fc00000, 0x7fc00000 };
2683VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 };
2684VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xff800000, 0xff800000, 0xff800000, 0xff800000 };
2685VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
2686VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
2687
2688VNEG/VNEGQ output:
2689VECT_VAR_DECL(expected,int,8,8) [] = { 0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9 };
2690VECT_VAR_DECL(expected,int,16,4) [] = { 0x10, 0xf, 0xe, 0xd };
2691VECT_VAR_DECL(expected,int,32,2) [] = { 0x10, 0xf };
2692VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2693VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2694VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2695VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2696VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2697VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2698VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2699VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2700VECT_VAR_DECL(expected,int,8,16) [] = { 0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1 };
2701VECT_VAR_DECL(expected,int,16,8) [] = { 0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9 };
2702VECT_VAR_DECL(expected,int,32,4) [] = { 0x10, 0xf, 0xe, 0xd };
2703VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2704VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2705VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2706VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2707VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2708VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2709VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2710VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2711VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc0133333, 0xc0133333 };
2712VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc059999a, 0xc059999a, 0xc059999a, 0xc059999a };
2713int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
2714int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
2715int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
2716int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
2717int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
2718int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
2719
2720VQNEG/VQNEGQ output:
2721VECT_VAR_DECL(expected,int,8,8) [] = { 0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9 };
2722VECT_VAR_DECL(expected,int,16,4) [] = { 0x10, 0xf, 0xe, 0xd };
2723VECT_VAR_DECL(expected,int,32,2) [] = { 0x10, 0xf };
2724VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2725VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2726VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2727VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2728VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2729VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2730VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2731VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2732VECT_VAR_DECL(expected,int,8,16) [] = { 0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1 };
2733VECT_VAR_DECL(expected,int,16,8) [] = { 0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9 };
2734VECT_VAR_DECL(expected,int,32,4) [] = { 0x10, 0xf, 0xe, 0xd };
2735VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2736VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2737VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2738VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2739VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2740VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2741VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2742VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2743int VECT_VAR(expected_cumulative_sat,int,8,8) = 1;
2744int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
2745int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
2746int VECT_VAR(expected_cumulative_sat,int,8,16) = 1;
2747int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
2748int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
2749
2750VQNEG/VQNEGQ output:
2751VECT_VAR_DECL(expected,int,8,8) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
2752VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
2753VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
2754VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2755VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2756VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2757VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2758VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2759VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2760VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2761VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2762VECT_VAR_DECL(expected,int,8,16) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
2763VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
2764VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
2765VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2766VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2767VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2768VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2769VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2770VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2771VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2772VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2773
2774VMLAL output:
2775VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2776VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2777VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
2778VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2779VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2780VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2781VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2782VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2783VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2784VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2785VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2786VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2787VECT_VAR_DECL(expected,int,16,8) [] = { 0xe907, 0xe908, 0xe909, 0xe90a, 0xe90b, 0xe90c, 0xe90d, 0xe90e };
2788VECT_VAR_DECL(expected,int,32,4) [] = { 0x3e07, 0x3e08, 0x3e09, 0x3e0a };
2789VECT_VAR_DECL(expected,int,64,2) [] = { 0x3e07, 0x3e08 };
2790VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2791VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3e07, 0x3e08, 0x3e09, 0x3e0a, 0x3e0b, 0x3e0c, 0x3e0d, 0x3e0e };
2792VECT_VAR_DECL(expected,uint,32,4) [] = { 0x3e07, 0x3e08, 0x3e09, 0x3e0a };
2793VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3e07, 0x3e08 };
2794VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2795VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2796VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2797
2798VMLSL output:
2799VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2800VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2801VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
2802VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2803VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2804VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2805VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2806VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2807VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2808VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2809VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2810VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2811VECT_VAR_DECL(expected,int,16,8) [] = { 0x16d9, 0x16da, 0x16db, 0x16dc, 0x16dd, 0x16de, 0x16df, 0x16e0 };
2812VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffc1d9, 0xffffc1da, 0xffffc1db, 0xffffc1dc };
2813VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffc1d9, 0xffffffffffffc1da };
2814VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2815VECT_VAR_DECL(expected,uint,16,8) [] = { 0xc1d9, 0xc1da, 0xc1db, 0xc1dc, 0xc1dd, 0xc1de, 0xc1df, 0xc1e0 };
2816VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffc1d9, 0xffffc1da, 0xffffc1db, 0xffffc1dc };
2817VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffc1d9, 0xffffffffffffc1da };
2818VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2819VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2820VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2821
2822VMLAL_LANE output:
2823VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2824VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2825VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
2826VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2827VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2828VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2829VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2830VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2831VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2832VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2833VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2834VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2835VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2836VECT_VAR_DECL(expected,int,32,4) [] = { 0x3e07, 0x3e08, 0x3e09, 0x3e0a };
2837VECT_VAR_DECL(expected,int,64,2) [] = { 0x3e07, 0x3e08 };
2838VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2839VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2840VECT_VAR_DECL(expected,uint,32,4) [] = { 0x3e07, 0x3e08, 0x3e09, 0x3e0a };
2841VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3e07, 0x3e08 };
2842VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2843VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2844VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2845
2846VMLSL_LANE output:
2847VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2848VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2849VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
2850VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2851VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2852VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2853VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2854VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2855VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2856VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2857VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2858VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2859VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2860VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffc1d9, 0xffffc1da, 0xffffc1db, 0xffffc1dc };
2861VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffc1d9, 0xffffffffffffc1da };
2862VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2863VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2864VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffc1d9, 0xffffc1da, 0xffffc1db, 0xffffc1dc };
2865VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffc1d9, 0xffffffffffffc1da };
2866VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2867VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2868VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2869
2870VMLAL_N output:
2871VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2872VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2873VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
2874VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2875VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2876VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2877VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2878VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2879VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2880VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2881VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2882VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2883VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2884VECT_VAR_DECL(expected,int,32,4) [] = { 0x595, 0x596, 0x597, 0x598 };
2885VECT_VAR_DECL(expected,int,64,2) [] = { 0xb3a, 0xb3b };
2886VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2887VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2888VECT_VAR_DECL(expected,uint,32,4) [] = { 0x10df, 0x10e0, 0x10e1, 0x10e2 };
2889VECT_VAR_DECL(expected,uint,64,2) [] = { 0x10df, 0x10e0 };
2890VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2891VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2892VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2893
2894VMLSL_N output:
2895VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2896VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2897VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
2898VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2899VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2900VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2901VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2902VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2903VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2904VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2905VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2906VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2907VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2908VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffa4b, 0xfffffa4c, 0xfffffa4d, 0xfffffa4e };
2909VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffff4a6, 0xfffffffffffff4a7 };
2910VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2911VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2912VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffef01, 0xffffef02, 0xffffef03, 0xffffef04 };
2913VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffef01, 0xffffffffffffef02 };
2914VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2915VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2916VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2917
2918VMOVL output:
2919VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2920VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2921VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
2922VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2923VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2924VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2925VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2926VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2927VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2928VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2929VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2930VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2931VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
2932VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
2933VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
2934VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2935VECT_VAR_DECL(expected,uint,16,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
2936VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
2937VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffff0, 0xfffffff1 };
2938VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2939VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2940VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2941
2942VMOVN output:
2943VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
2944VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
2945VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
2946VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2947VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
2948VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
2949VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
2950VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2951VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2952VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2953VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2954VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2955VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2956VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2957VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2958VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2959VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2960VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2961VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
2962VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2963VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
2964VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2965
2966VMULL output:
2967VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2968VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2969VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
2970VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2971VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2972VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2973VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2974VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2975VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2976VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2977VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
2978VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2979VECT_VAR_DECL(expected,int,16,8) [] = { 0x100, 0xe1, 0xc4, 0xa9, 0x90, 0x79, 0x64, 0x51 };
2980VECT_VAR_DECL(expected,int,32,4) [] = { 0x100, 0xe1, 0xc4, 0xa9 };
2981VECT_VAR_DECL(expected,int,64,2) [] = { 0x100, 0xe1 };
2982VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2983VECT_VAR_DECL(expected,uint,16,8) [] = { 0xe100, 0xe2e1, 0xe4c4, 0xe6a9, 0xe890, 0xea79, 0xec64, 0xee51 };
2984VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffe00100, 0xffe200e1, 0xffe400c4, 0xffe600a9 };
2985VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffe000000100, 0xffffffe2000000e1 };
2986VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2987VECT_VAR_DECL(expected,poly,16,8) [] = { 0x5500, 0x5501, 0x5504, 0x5505, 0x5510, 0x5511, 0x5514, 0x5515 };
2988VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
2989
2990VMULL_LANE output:
2991VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2992VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2993VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
2994VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
2995VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
2996VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
2997VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
2998VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
2999VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3000VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3001VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3002VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3003VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3004VECT_VAR_DECL(expected,int,32,4) [] = { 0x4000, 0x4000, 0x4000, 0x4000 };
3005VECT_VAR_DECL(expected,int,64,2) [] = { 0x2000, 0x2000 };
3006VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3007VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3008VECT_VAR_DECL(expected,uint,32,4) [] = { 0x4000, 0x4000, 0x4000, 0x4000 };
3009VECT_VAR_DECL(expected,uint,64,2) [] = { 0x2000, 0x2000 };
3010VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3011VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3012VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3013
3014VREV16 output:
3015VECT_VAR_DECL(expected,int,8,8) [] = { 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6 };
3016VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3017VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
3018VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3019VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6 };
3020VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3021VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
3022VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3023VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6 };
3024VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3025VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3026VECT_VAR_DECL(expected,int,8,16) [] = { 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe };
3027VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3028VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3029VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3030VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe };
3031VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3032VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3033VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3034VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf1, 0xf0, 0xf3, 0xf2, 0xf5, 0xf4, 0xf7, 0xf6, 0xf9, 0xf8, 0xfb, 0xfa, 0xfd, 0xfc, 0xff, 0xfe };
3035VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3036VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3037
3038VREV32 output:
3039VECT_VAR_DECL(expected,int,8,8) [] = { 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4 };
3040VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff1, 0xfff0, 0xfff3, 0xfff2 };
3041VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
3042VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3043VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4 };
3044VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff1, 0xfff0, 0xfff3, 0xfff2 };
3045VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
3046VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3047VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4 };
3048VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff1, 0xfff0, 0xfff3, 0xfff2 };
3049VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3050VECT_VAR_DECL(expected,int,8,16) [] = { 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4, 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc };
3051VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff1, 0xfff0, 0xfff3, 0xfff2, 0xfff5, 0xfff4, 0xfff7, 0xfff6 };
3052VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3053VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3054VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4, 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc };
3055VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff1, 0xfff0, 0xfff3, 0xfff2, 0xfff5, 0xfff4, 0xfff7, 0xfff6 };
3056VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3057VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3058VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf3, 0xf2, 0xf1, 0xf0, 0xf7, 0xf6, 0xf5, 0xf4, 0xfb, 0xfa, 0xf9, 0xf8, 0xff, 0xfe, 0xfd, 0xfc };
3059VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff1, 0xfff0, 0xfff3, 0xfff2, 0xfff5, 0xfff4, 0xfff7, 0xfff6 };
3060VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3061
3062VREV64 output:
3063VECT_VAR_DECL(expected,int,8,8) [] = { 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0 };
3064VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff3, 0xfff2, 0xfff1, 0xfff0 };
3065VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff1, 0xfffffff0 };
3066VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3067VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0 };
3068VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff3, 0xfff2, 0xfff1, 0xfff0 };
3069VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff1, 0xfffffff0 };
3070VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3071VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0 };
3072VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff3, 0xfff2, 0xfff1, 0xfff0 };
3073VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1700000, 0xc1800000 };
3074VECT_VAR_DECL(expected,int,8,16) [] = { 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0, 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8 };
3075VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff3, 0xfff2, 0xfff1, 0xfff0, 0xfff7, 0xfff6, 0xfff5, 0xfff4 };
3076VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff1, 0xfffffff0, 0xfffffff3, 0xfffffff2 };
3077VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3078VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0, 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8 };
3079VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff3, 0xfff2, 0xfff1, 0xfff0, 0xfff7, 0xfff6, 0xfff5, 0xfff4 };
3080VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff1, 0xfffffff0, 0xfffffff3, 0xfffffff2 };
3081VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3082VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0, 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8 };
3083VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff3, 0xfff2, 0xfff1, 0xfff0, 0xfff7, 0xfff6, 0xfff5, 0xfff4 };
3084VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1700000, 0xc1800000, 0xc1500000, 0xc1600000 };
3085
3086VSRA_N output:
3087VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
3088VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
3089VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffffc, 0xfffffffd };
3090VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
3091VECT_VAR_DECL(expected,uint,8,8) [] = { 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc };
3092VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfffc, 0xfffd, 0xfffe, 0xffff };
3093VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff3, 0xfffffff4 };
3094VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
3095VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3096VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3097VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3098VECT_VAR_DECL(expected,int,8,16) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 };
3099VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
3100VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffffc, 0xfffffffd, 0xfffffffe, 0xffffffff };
3101VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
3102VECT_VAR_DECL(expected,uint,8,16) [] = { 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14 };
3103VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfffc, 0xfffd, 0xfffe, 0xffff, 0x0, 0x1, 0x2, 0x3 };
3104VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff3, 0xfffffff4, 0xfffffff5, 0xfffffff6 };
3105VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
3106VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3107VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3108VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3109
3110VTRN/VTRNQ chunk 0 output:
3111VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0x11, 0x11, 0xf2, 0xf3, 0x11, 0x11 };
3112VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0x22, 0x22 };
3113VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
3114VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3115VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0x55, 0x55, 0xf2, 0xf3, 0x55, 0x55 };
3116VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0x66, 0x66 };
3117VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
3118VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3119VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0x55, 0x55, 0xf2, 0xf3, 0x55, 0x55 };
3120VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0x66, 0x66 };
3121VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
3122VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf1, 0x11, 0x11, 0xf2, 0xf3, 0x11, 0x11, 0xf4, 0xf5, 0x11, 0x11, 0xf6, 0xf7, 0x11, 0x11 };
3123VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0x22, 0x22, 0xfff2, 0xfff3, 0x22, 0x22 };
3124VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0x33, 0x33 };
3125VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3126VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf1, 0x55, 0x55, 0xf2, 0xf3, 0x55, 0x55, 0xf4, 0xf5, 0x55, 0x55, 0xf6, 0xf7, 0x55, 0x55 };
3127VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0x66, 0x66, 0xfff2, 0xfff3, 0x66, 0x66 };
3128VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0x77, 0x77 };
3129VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3130VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf0, 0xf1, 0x55, 0x55, 0xf2, 0xf3, 0x55, 0x55, 0xf4, 0xf5, 0x55, 0x55, 0xf6, 0xf7, 0x55, 0x55 };
3131VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff1, 0x66, 0x66, 0xfff2, 0xfff3, 0x66, 0x66 };
3132VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0x42073333, 0x42073333 };
3133
3134VTRN/VTRNQ chunk 1 output:
3135VECT_VAR_DECL(expected,int,8,8) [] = { 0xf4, 0xf5, 0x11, 0x11, 0xf6, 0xf7, 0x11, 0x11 };
3136VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff2, 0xfff3, 0x22, 0x22 };
3137VECT_VAR_DECL(expected,int,32,2) [] = { 0x33, 0x33 };
3138VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3139VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf4, 0xf5, 0x55, 0x55, 0xf6, 0xf7, 0x55, 0x55 };
3140VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff2, 0xfff3, 0x66, 0x66 };
3141VECT_VAR_DECL(expected,uint,32,2) [] = { 0x77, 0x77 };
3142VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3143VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf4, 0xf5, 0x55, 0x55, 0xf6, 0xf7, 0x55, 0x55 };
3144VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff2, 0xfff3, 0x66, 0x66 };
3145VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x42066666, 0x42066666 };
3146VECT_VAR_DECL(expected,int,8,16) [] = { 0xf8, 0xf9, 0x11, 0x11, 0xfa, 0xfb, 0x11, 0x11, 0xfc, 0xfd, 0x11, 0x11, 0xfe, 0xff, 0x11, 0x11 };
3147VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff4, 0xfff5, 0x22, 0x22, 0xfff6, 0xfff7, 0x22, 0x22 };
3148VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff2, 0xfffffff3, 0x33, 0x33 };
3149VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3150VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf8, 0xf9, 0x55, 0x55, 0xfa, 0xfb, 0x55, 0x55, 0xfc, 0xfd, 0x55, 0x55, 0xfe, 0xff, 0x55, 0x55 };
3151VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff4, 0xfff5, 0x66, 0x66, 0xfff6, 0xfff7, 0x66, 0x66 };
3152VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff2, 0xfffffff3, 0x77, 0x77 };
3153VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3154VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf8, 0xf9, 0x55, 0x55, 0xfa, 0xfb, 0x55, 0x55, 0xfc, 0xfd, 0x55, 0x55, 0xfe, 0xff, 0x55, 0x55 };
3155VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff4, 0xfff5, 0x66, 0x66, 0xfff6, 0xfff7, 0x66, 0x66 };
3156VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1600000, 0xc1500000, 0x42073333, 0x42073333 };
3157
3158VUZP/VUZPQ chunk 0 output:
3159VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
3160VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
3161VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
3162VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3163VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
3164VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
3165VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
3166VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3167VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
3168VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
3169VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
3170VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
3171VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
3172VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
3173VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3174VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
3175VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
3176VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
3177VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3178VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
3179VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
3180VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0xc1600000, 0xc1500000 };
3181
3182VUZP/VUZPQ chunk 1 output:
3183VECT_VAR_DECL(expected,int,8,8) [] = { 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 };
3184VECT_VAR_DECL(expected,int,16,4) [] = { 0x22, 0x22, 0x22, 0x22 };
3185VECT_VAR_DECL(expected,int,32,2) [] = { 0x33, 0x33 };
3186VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3187VECT_VAR_DECL(expected,uint,8,8) [] = { 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55 };
3188VECT_VAR_DECL(expected,uint,16,4) [] = { 0x66, 0x66, 0x66, 0x66 };
3189VECT_VAR_DECL(expected,uint,32,2) [] = { 0x77, 0x77 };
3190VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3191VECT_VAR_DECL(expected,poly,8,8) [] = { 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55 };
3192VECT_VAR_DECL(expected,poly,16,4) [] = { 0x66, 0x66, 0x66, 0x66 };
3193VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x42066666, 0x42066666 };
3194VECT_VAR_DECL(expected,int,8,16) [] = { 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 };
3195VECT_VAR_DECL(expected,int,16,8) [] = { 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 };
3196VECT_VAR_DECL(expected,int,32,4) [] = { 0x33, 0x33, 0x33, 0x33 };
3197VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3198VECT_VAR_DECL(expected,uint,8,16) [] = { 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55 };
3199VECT_VAR_DECL(expected,uint,16,8) [] = { 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66 };
3200VECT_VAR_DECL(expected,uint,32,4) [] = { 0x77, 0x77, 0x77, 0x77 };
3201VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3202VECT_VAR_DECL(expected,poly,8,16) [] = { 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55 };
3203VECT_VAR_DECL(expected,poly,16,8) [] = { 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66 };
3204VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x42073333, 0x42073333, 0x42073333, 0x42073333 };
3205
3206VZIP/VZIPQ chunk 0 output:
3207VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf4, 0x11, 0x11, 0xf1, 0xf5, 0x11, 0x11 };
3208VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff2, 0x22, 0x22 };
3209VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
3210VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3211VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf4, 0x55, 0x55, 0xf1, 0xf5, 0x55, 0x55 };
3212VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff2, 0x66, 0x66 };
3213VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
3214VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3215VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf4, 0x55, 0x55, 0xf1, 0xf5, 0x55, 0x55 };
3216VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff2, 0x66, 0x66 };
3217VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
3218VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf8, 0x11, 0x11, 0xf1, 0xf9, 0x11, 0x11, 0xf2, 0xfa, 0x11, 0x11, 0xf3, 0xfb, 0x11, 0x11 };
3219VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff4, 0x22, 0x22, 0xfff1, 0xfff5, 0x22, 0x22 };
3220VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff2, 0x33, 0x33 };
3221VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3222VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf8, 0x55, 0x55, 0xf1, 0xf9, 0x55, 0x55, 0xf2, 0xfa, 0x55, 0x55, 0xf3, 0xfb, 0x55, 0x55 };
3223VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff4, 0x66, 0x66, 0xfff1, 0xfff5, 0x66, 0x66 };
3224VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff2, 0x77, 0x77 };
3225VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3226VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf0, 0xf8, 0x55, 0x55, 0xf1, 0xf9, 0x55, 0x55, 0xf2, 0xfa, 0x55, 0x55, 0xf3, 0xfb, 0x55, 0x55 };
3227VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff4, 0x66, 0x66, 0xfff1, 0xfff5, 0x66, 0x66 };
3228VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1600000, 0x42073333, 0x42073333 };
3229
3230VZIP/VZIPQ chunk 1 output:
3231VECT_VAR_DECL(expected,int,8,8) [] = { 0xf2, 0xf6, 0x11, 0x11, 0xf3, 0xf7, 0x11, 0x11 };
3232VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff1, 0xfff3, 0x22, 0x22 };
3233VECT_VAR_DECL(expected,int,32,2) [] = { 0x33, 0x33 };
3234VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3235VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf2, 0xf6, 0x55, 0x55, 0xf3, 0xf7, 0x55, 0x55 };
3236VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff1, 0xfff3, 0x66, 0x66 };
3237VECT_VAR_DECL(expected,uint,32,2) [] = { 0x77, 0x77 };
3238VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3239VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf2, 0xf6, 0x55, 0x55, 0xf3, 0xf7, 0x55, 0x55 };
3240VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff1, 0xfff3, 0x66, 0x66 };
3241VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x42066666, 0x42066666 };
3242VECT_VAR_DECL(expected,int,8,16) [] = { 0xf4, 0xfc, 0x11, 0x11, 0xf5, 0xfd, 0x11, 0x11, 0xf6, 0xfe, 0x11, 0x11, 0xf7, 0xff, 0x11, 0x11 };
3243VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff2, 0xfff6, 0x22, 0x22, 0xfff3, 0xfff7, 0x22, 0x22 };
3244VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff1, 0xfffffff3, 0x33, 0x33 };
3245VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3246VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf4, 0xfc, 0x55, 0x55, 0xf5, 0xfd, 0x55, 0x55, 0xf6, 0xfe, 0x55, 0x55, 0xf7, 0xff, 0x55, 0x55 };
3247VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff2, 0xfff6, 0x66, 0x66, 0xfff3, 0xfff7, 0x66, 0x66 };
3248VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff1, 0xfffffff3, 0x77, 0x77 };
3249VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3250VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf4, 0xfc, 0x55, 0x55, 0xf5, 0xfd, 0x55, 0x55, 0xf6, 0xfe, 0x55, 0x55, 0xf7, 0xff, 0x55, 0x55 };
3251VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff2, 0xfff6, 0x66, 0x66, 0xfff3, 0xfff7, 0x66, 0x66 };
3252VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1700000, 0xc1500000, 0x42073333, 0x42073333 };
3253
3254VREINTERPRET/VREINTERPRETQ output:
3255VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff };
3256VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff };
3257VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3258VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
3259VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff };
3260VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff };
3261VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3262VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
3263VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff };
3264VECT_VAR_DECL(expected,int,16,4) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6 };
3265VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xffff, 0xfff1, 0xffff };
3266VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xffff, 0xffff, 0xffff };
3267VECT_VAR_DECL(expected,int,16,4) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6 };
3268VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
3269VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xffff, 0xfff1, 0xffff };
3270VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xffff, 0xffff, 0xffff };
3271VECT_VAR_DECL(expected,int,16,4) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6 };
3272VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
3273VECT_VAR_DECL(expected,int,32,2) [] = { 0xf3f2f1f0, 0xf7f6f5f4 };
3274VECT_VAR_DECL(expected,int,32,2) [] = { 0xfff1fff0, 0xfff3fff2 };
3275VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xffffffff };
3276VECT_VAR_DECL(expected,int,32,2) [] = { 0xf3f2f1f0, 0xf7f6f5f4 };
3277VECT_VAR_DECL(expected,int,32,2) [] = { 0xfff1fff0, 0xfff3fff2 };
3278VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
3279VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xffffffff };
3280VECT_VAR_DECL(expected,int,32,2) [] = { 0xf3f2f1f0, 0xf7f6f5f4 };
3281VECT_VAR_DECL(expected,int,32,2) [] = { 0xfff1fff0, 0xfff3fff2 };
3282VECT_VAR_DECL(expected,int,64,1) [] = { 0xf7f6f5f4f3f2f1f0 };
3283VECT_VAR_DECL(expected,int,64,1) [] = { 0xfff3fff2fff1fff0 };
3284VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffff1fffffff0 };
3285VECT_VAR_DECL(expected,int,64,1) [] = { 0xf7f6f5f4f3f2f1f0 };
3286VECT_VAR_DECL(expected,int,64,1) [] = { 0xfff3fff2fff1fff0 };
3287VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffff1fffffff0 };
3288VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
3289VECT_VAR_DECL(expected,int,64,1) [] = { 0xf7f6f5f4f3f2f1f0 };
3290VECT_VAR_DECL(expected,int,64,1) [] = { 0xfff3fff2fff1fff0 };
3291VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
3292VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff };
3293VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff };
3294VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3295VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff };
3296VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff };
3297VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3298VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
3299VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff };
3300VECT_VAR_DECL(expected,uint,16,4) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6 };
3301VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
3302VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xffff, 0xfff1, 0xffff };
3303VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xffff, 0xffff, 0xffff };
3304VECT_VAR_DECL(expected,uint,16,4) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6 };
3305VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xffff, 0xfff1, 0xffff };
3306VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xffff, 0xffff, 0xffff };
3307VECT_VAR_DECL(expected,uint,16,4) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6 };
3308VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
3309VECT_VAR_DECL(expected,uint,32,2) [] = { 0xf3f2f1f0, 0xf7f6f5f4 };
3310VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfff1fff0, 0xfff3fff2 };
3311VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
3312VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xffffffff };
3313VECT_VAR_DECL(expected,uint,32,2) [] = { 0xf3f2f1f0, 0xf7f6f5f4 };
3314VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfff1fff0, 0xfff3fff2 };
3315VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xffffffff };
3316VECT_VAR_DECL(expected,uint,32,2) [] = { 0xf3f2f1f0, 0xf7f6f5f4 };
3317VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfff1fff0, 0xfff3fff2 };
3318VECT_VAR_DECL(expected,uint,64,1) [] = { 0xf7f6f5f4f3f2f1f0 };
3319VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfff3fff2fff1fff0 };
3320VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffff1fffffff0 };
3321VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
3322VECT_VAR_DECL(expected,uint,64,1) [] = { 0xf7f6f5f4f3f2f1f0 };
3323VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfff3fff2fff1fff0 };
3324VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffff1fffffff0 };
3325VECT_VAR_DECL(expected,uint,64,1) [] = { 0xf7f6f5f4f3f2f1f0 };
3326VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfff3fff2fff1fff0 };
3327VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
3328VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff };
3329VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff };
3330VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3331VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
3332VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff };
3333VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff };
3334VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3335VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff };
3336VECT_VAR_DECL(expected,poly,16,4) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6 };
3337VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
3338VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xffff, 0xfff1, 0xffff };
3339VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xffff, 0xffff, 0xffff };
3340VECT_VAR_DECL(expected,poly,16,4) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6 };
3341VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
3342VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xffff, 0xfff1, 0xffff };
3343VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xffff, 0xffff, 0xffff };
3344VECT_VAR_DECL(expected,poly,16,4) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6 };
3345VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff, 0xf4, 0xff, 0xf5, 0xff, 0xf6, 0xff, 0xf7, 0xff };
3346VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xf2, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff };
3347VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3348VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
3349VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff, 0xf4, 0xff, 0xf5, 0xff, 0xf6, 0xff, 0xf7, 0xff };
3350VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xf2, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff };
3351VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3352VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
3353VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff, 0xf4, 0xff, 0xf5, 0xff, 0xf6, 0xff, 0xf7, 0xff };
3354VECT_VAR_DECL(expected,int,16,8) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6, 0xf9f8, 0xfbfa, 0xfdfc, 0xfffe };
3355VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xffff, 0xfff1, 0xffff, 0xfff2, 0xffff, 0xfff3, 0xffff };
3356VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xffff, 0xffff, 0xffff, 0xfff1, 0xffff, 0xffff, 0xffff };
3357VECT_VAR_DECL(expected,int,16,8) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6, 0xf9f8, 0xfbfa, 0xfdfc, 0xfffe };
3358VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
3359VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xffff, 0xfff1, 0xffff, 0xfff2, 0xffff, 0xfff3, 0xffff };
3360VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xffff, 0xffff, 0xffff, 0xfff1, 0xffff, 0xffff, 0xffff };
3361VECT_VAR_DECL(expected,int,16,8) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6, 0xf9f8, 0xfbfa, 0xfdfc, 0xfffe };
3362VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
3363VECT_VAR_DECL(expected,int,32,4) [] = { 0xf3f2f1f0, 0xf7f6f5f4, 0xfbfaf9f8, 0xfffefdfc };
3364VECT_VAR_DECL(expected,int,32,4) [] = { 0xfff1fff0, 0xfff3fff2, 0xfff5fff4, 0xfff7fff6 };
3365VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xffffffff, 0xfffffff1, 0xffffffff };
3366VECT_VAR_DECL(expected,int,32,4) [] = { 0xf3f2f1f0, 0xf7f6f5f4, 0xfbfaf9f8, 0xfffefdfc };
3367VECT_VAR_DECL(expected,int,32,4) [] = { 0xfff1fff0, 0xfff3fff2, 0xfff5fff4, 0xfff7fff6 };
3368VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
3369VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xffffffff, 0xfffffff1, 0xffffffff };
3370VECT_VAR_DECL(expected,int,32,4) [] = { 0xf3f2f1f0, 0xf7f6f5f4, 0xfbfaf9f8, 0xfffefdfc };
3371VECT_VAR_DECL(expected,int,32,4) [] = { 0xfff1fff0, 0xfff3fff2, 0xfff5fff4, 0xfff7fff6 };
3372VECT_VAR_DECL(expected,int,64,2) [] = { 0xf7f6f5f4f3f2f1f0, 0xfffefdfcfbfaf9f8 };
3373VECT_VAR_DECL(expected,int,64,2) [] = { 0xfff3fff2fff1fff0, 0xfff7fff6fff5fff4 };
3374VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffff1fffffff0, 0xfffffff3fffffff2 };
3375VECT_VAR_DECL(expected,int,64,2) [] = { 0xf7f6f5f4f3f2f1f0, 0xfffefdfcfbfaf9f8 };
3376VECT_VAR_DECL(expected,int,64,2) [] = { 0xfff3fff2fff1fff0, 0xfff7fff6fff5fff4 };
3377VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffff1fffffff0, 0xfffffff3fffffff2 };
3378VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
3379VECT_VAR_DECL(expected,int,64,2) [] = { 0xf7f6f5f4f3f2f1f0, 0xfffefdfcfbfaf9f8 };
3380VECT_VAR_DECL(expected,int,64,2) [] = { 0xfff3fff2fff1fff0, 0xfff7fff6fff5fff4 };
3381VECT_VAR_DECL(expected,uint,16,8) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6, 0xf9f8, 0xfbfa, 0xfdfc, 0xfffe };
3382VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
3383VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xffff, 0xfff1, 0xffff, 0xfff2, 0xffff, 0xfff3, 0xffff };
3384VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xffff, 0xffff, 0xffff, 0xfff1, 0xffff, 0xffff, 0xffff };
3385VECT_VAR_DECL(expected,uint,16,8) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6, 0xf9f8, 0xfbfa, 0xfdfc, 0xfffe };
3386VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xffff, 0xfff1, 0xffff, 0xfff2, 0xffff, 0xfff3, 0xffff };
3387VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xffff, 0xffff, 0xffff, 0xfff1, 0xffff, 0xffff, 0xffff };
3388VECT_VAR_DECL(expected,uint,16,8) [] = { 0xf1f0, 0xf3f2, 0xf5f4, 0xf7f6, 0xf9f8, 0xfbfa, 0xfdfc, 0xfffe };
3389VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
3390VECT_VAR_DECL(expected,uint,32,4) [] = { 0xf3f2f1f0, 0xf7f6f5f4, 0xfbfaf9f8, 0xfffefdfc };
3391VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfff1fff0, 0xfff3fff2, 0xfff5fff4, 0xfff7fff6 };
3392VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
3393VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xffffffff, 0xfffffff1, 0xffffffff };
3394VECT_VAR_DECL(expected,uint,32,4) [] = { 0xf3f2f1f0, 0xf7f6f5f4, 0xfbfaf9f8, 0xfffefdfc };
3395VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfff1fff0, 0xfff3fff2, 0xfff5fff4, 0xfff7fff6 };
3396VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xffffffff, 0xfffffff1, 0xffffffff };
3397VECT_VAR_DECL(expected,uint,32,4) [] = { 0xf3f2f1f0, 0xf7f6f5f4, 0xfbfaf9f8, 0xfffefdfc };
3398VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfff1fff0, 0xfff3fff2, 0xfff5fff4, 0xfff7fff6 };
3399VECT_VAR_DECL(expected,uint,64,2) [] = { 0xf7f6f5f4f3f2f1f0, 0xfffefdfcfbfaf9f8 };
3400VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfff3fff2fff1fff0, 0xfff7fff6fff5fff4 };
3401VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffff1fffffff0, 0xfffffff3fffffff2 };
3402VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
3403VECT_VAR_DECL(expected,uint,64,2) [] = { 0xf7f6f5f4f3f2f1f0, 0xfffefdfcfbfaf9f8 };
3404VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfff3fff2fff1fff0, 0xfff7fff6fff5fff4 };
3405VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffff1fffffff0, 0xfffffff3fffffff2 };
3406VECT_VAR_DECL(expected,uint,64,2) [] = { 0xf7f6f5f4f3f2f1f0, 0xfffefdfcfbfaf9f8 };
3407VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfff3fff2fff1fff0, 0xfff7fff6fff5fff4 };
3408VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
3409VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff, 0xf4, 0xff, 0xf5, 0xff, 0xf6, 0xff, 0xf7, 0xff };
3410VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xf2, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff };
3411VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3412VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff, 0xf4, 0xff, 0xf5, 0xff, 0xf6, 0xff, 0xf7, 0xff };
3413VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xf2, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff };
3414VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3415VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
3416VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xff, 0xf1, 0xff, 0xf2, 0xff, 0xf3, 0xff, 0xf4, 0xff, 0xf5, 0xff, 0xf6, 0xff, 0xf7, 0xff };
3417VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xf3f2f1f0, 0xf7f6f5f4 };
3418VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xfff1fff0, 0xfff3fff2 };
3419VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xfffffff0, 0xfffffff1 };
3420VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xfffffff0, 0xffffffff };
3421VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xf3f2f1f0, 0xf7f6f5f4 };
3422VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xfff1fff0, 0xfff3fff2 };
3423VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xfffffff0, 0xfffffff1 };
3424VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xfffffff0, 0xffffffff };
3425VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xf3f2f1f0, 0xf7f6f5f4 };
3426VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xfff1fff0, 0xfff3fff2 };
3427VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xf3f2f1f0, 0xf7f6f5f4, 0xfbfaf9f8, 0xfffefdfc };
3428VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xfff1fff0, 0xfff3fff2, 0xfff5fff4, 0xfff7fff6 };
3429VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
3430VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xfffffff0, 0xffffffff, 0xfffffff1, 0xffffffff };
3431VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xf3f2f1f0, 0xf7f6f5f4, 0xfbfaf9f8, 0xfffefdfc };
3432VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xfff1fff0, 0xfff3fff2, 0xfff5fff4, 0xfff7fff6 };
3433VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
3434VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xfffffff0, 0xffffffff, 0xfffffff1, 0xffffffff };
3435VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xf3f2f1f0, 0xf7f6f5f4, 0xfbfaf9f8, 0xfffefdfc };
3436VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xfff1fff0, 0xfff3fff2, 0xfff5fff4, 0xfff7fff6 };
3437VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x80, 0xc1, 0x0, 0x0, 0x70, 0xc1 };
3438VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0xc180, 0x0, 0xc170 };
3439VECT_VAR_DECL(expected,int,32,2) [] = { 0xc1800000, 0xc1700000 };
3440VECT_VAR_DECL(expected,int,64,1) [] = { 0xc1700000c1800000 };
3441VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x80, 0xc1, 0x0, 0x0, 0x70, 0xc1 };
3442VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0xc180, 0x0, 0xc170 };
3443VECT_VAR_DECL(expected,uint,32,2) [] = { 0xc1800000, 0xc1700000 };
3444VECT_VAR_DECL(expected,uint,64,1) [] = { 0xc1700000c1800000 };
3445VECT_VAR_DECL(expected,poly,8,8) [] = { 0x0, 0x0, 0x80, 0xc1, 0x0, 0x0, 0x70, 0xc1 };
3446VECT_VAR_DECL(expected,poly,16,4) [] = { 0x0, 0xc180, 0x0, 0xc170 };
3447VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x80, 0xc1, 0x0, 0x0, 0x70, 0xc1, 0x0, 0x0, 0x60, 0xc1, 0x0, 0x0, 0x50, 0xc1 };
3448VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0xc180, 0x0, 0xc170, 0x0, 0xc160, 0x0, 0xc150 };
3449VECT_VAR_DECL(expected,int,32,4) [] = { 0xc1800000, 0xc1700000, 0xc1600000, 0xc1500000 };
3450VECT_VAR_DECL(expected,int,64,2) [] = { 0xc1700000c1800000, 0xc1500000c1600000 };
3451VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x80, 0xc1, 0x0, 0x0, 0x70, 0xc1, 0x0, 0x0, 0x60, 0xc1, 0x0, 0x0, 0x50, 0xc1 };
3452VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0xc180, 0x0, 0xc170, 0x0, 0xc160, 0x0, 0xc150 };
3453VECT_VAR_DECL(expected,uint,32,4) [] = { 0xc1800000, 0xc1700000, 0xc1600000, 0xc1500000 };
3454VECT_VAR_DECL(expected,uint,64,2) [] = { 0xc1700000c1800000, 0xc1500000c1600000 };
3455VECT_VAR_DECL(expected,poly,8,16) [] = { 0x0, 0x0, 0x80, 0xc1, 0x0, 0x0, 0x70, 0xc1, 0x0, 0x0, 0x60, 0xc1, 0x0, 0x0, 0x50, 0xc1 };
3456VECT_VAR_DECL(expected,poly,16,8) [] = { 0x0, 0xc180, 0x0, 0xc170, 0x0, 0xc160, 0x0, 0xc150 };
3457int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
3458int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
3459int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
3460int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
3461
3462VQRDMULH output:
3463VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3464VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff5, 0xfff6, 0xfff7, 0xfff7 };
3465VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
3466VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3467VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3468VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3469VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
3470VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3471VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3472VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3473VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3474VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3475VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3476VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
3477VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3478VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3479VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3480VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3481VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3482VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3483VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3484VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3485int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
3486int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
3487int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
3488int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
3489
3490VQRDMULH (check mul cumulative saturation) output:
3491VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3492VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
3493VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
3494VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3495VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3496VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3497VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
3498VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3499VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3500VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3501VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3502VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3503VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
3504VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
3505VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3506VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3507VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3508VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3509VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3510VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3511VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3512VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3513int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
3514int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
3515int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
3516int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
3517
3518VQRDMULH (check rounding cumulative saturation) output:
3519VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3520VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
3521VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
3522VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3523VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3524VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3525VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
3526VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3527VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3528VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3529VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3530VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3531VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
3532VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
3533VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3534VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3535VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3536VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3537VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3538VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3539VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3540VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3541int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
3542int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
3543int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
3544int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
3545
3546VQRDMULH_LANE output:
3547VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3548VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
3549VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
3550VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3551VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3552VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3553VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
3554VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3555VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3556VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3557VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3558VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3559VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3560VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
3561VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3562VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3563VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3564VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3565VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3566VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3567VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3568VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3569int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
3570int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
3571int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
3572int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
3573
3574VQRDMULH_LANE (check mul cumulative saturation) output:
3575VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3576VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
3577VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
3578VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3579VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3580VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3581VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
3582VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3583VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3584VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3585VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3586VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3587VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
3588VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
3589VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3590VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3591VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3592VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3593VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3594VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3595VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3596VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3597int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
3598int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
3599int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
3600int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
3601
3602VQRDMULH_LANE (check rounding cumulative saturation) output:
3603VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3604VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
3605VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
3606VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3607VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3608VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3609VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
3610VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3611VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3612VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3613VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3614VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3615VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
3616VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
3617VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3618VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3619VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3620VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3621VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3622VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3623VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3624VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3625int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
3626int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
3627int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
3628int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
3629
3630VQRDMULH_N output:
3631VECT_VAR_DECL(expected,int,16,4) [] = { 0xfffc, 0xfffc, 0xfffc, 0xfffd };
3632VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffffe, 0xfffffffe };
3633VECT_VAR_DECL(expected,int,16,8) [] = { 0x6, 0x6, 0x6, 0x5, 0x5, 0x4, 0x4, 0x4 };
3634VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe };
3635int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
3636int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
3637int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
3638int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
3639
3640VQRDMULH_N (check mul cumulative saturation) output:
3641VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3642VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
3643VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
3644VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3645VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3646VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3647VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
3648VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3649VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3650VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3651VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3652VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3653VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
3654VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
3655VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3656VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3657VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3658VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3659VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3660VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3661VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3662VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3663int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
3664int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
3665int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
3666int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
3667
3668VQRDMULH_N (check rounding cumulative saturation) output:
3669VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3670VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
3671VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
3672VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
3673VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3674VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3675VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
3676VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
3677VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3678VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3679VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3680VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3681VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
3682VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
3683VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3684VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3685VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3686VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3687VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
3688VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3689VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3690VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3691int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
3692int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
3693int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
3694int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
3695int VECT_VAR(expected_cumulative_sat,uint,8,8) = 0;
3696int VECT_VAR(expected_cumulative_sat,uint,16,4) = 0;
3697int VECT_VAR(expected_cumulative_sat,uint,32,2) = 0;
3698int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
3699int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
3700int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
3701int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
3702int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
3703int VECT_VAR(expected_cumulative_sat,uint,8,16) = 0;
3704int VECT_VAR(expected_cumulative_sat,uint,16,8) = 0;
3705int VECT_VAR(expected_cumulative_sat,uint,32,4) = 0;
3706int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
3707
3708VQRSHL/VQRSHLQ (with input = 0) output:
3709VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3710VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
3711VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
3712VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
3713VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3714VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
3715VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
3716VECT_VAR_DECL(expected,uint,64,1) [] = { 0x0 };
3717VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3718VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3719VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3720VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3721VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3722VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
3723VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
3724VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3725VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3726VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
3727VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x0 };
3728VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3729VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3730VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3731int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
3732int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
3733int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
3734int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
3735int VECT_VAR(expected_cumulative_sat,uint,8,8) = 0;
3736int VECT_VAR(expected_cumulative_sat,uint,16,4) = 0;
3737int VECT_VAR(expected_cumulative_sat,uint,32,2) = 0;
3738int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
3739int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
3740int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
3741int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
3742int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
3743int VECT_VAR(expected_cumulative_sat,uint,8,16) = 0;
3744int VECT_VAR(expected_cumulative_sat,uint,16,8) = 0;
3745int VECT_VAR(expected_cumulative_sat,uint,32,4) = 0;
3746int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
3747
3748VQRSHL/VQRSHLQ (input 0 and negative shift amount) output:
3749VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3750VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
3751VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
3752VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
3753VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3754VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
3755VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
3756VECT_VAR_DECL(expected,uint,64,1) [] = { 0x0 };
3757VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3758VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3759VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3760VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3761VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3762VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
3763VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
3764VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3765VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3766VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
3767VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x0 };
3768VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3769VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3770VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3771int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
3772int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
3773int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
3774int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
3775int VECT_VAR(expected_cumulative_sat,uint,8,8) = 1;
3776int VECT_VAR(expected_cumulative_sat,uint,16,4) = 1;
3777int VECT_VAR(expected_cumulative_sat,uint,32,2) = 1;
3778int VECT_VAR(expected_cumulative_sat,uint,64,1) = 1;
3779int VECT_VAR(expected_cumulative_sat,int,8,16) = 1;
3780int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
3781int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
3782int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
3783int VECT_VAR(expected_cumulative_sat,uint,8,16) = 1;
3784int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
3785int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
3786int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
3787
3788VQRSHL/VQRSHLQ output:
3789VECT_VAR_DECL(expected,int,8,8) [] = { 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee };
3790VECT_VAR_DECL(expected,int,16,4) [] = { 0xff80, 0xff88, 0xff90, 0xff98 };
3791VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffff000, 0xfffff100 };
3792VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffff80 };
3793VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3794VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
3795VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
3796VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffffff };
3797VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3798VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3799VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3800VECT_VAR_DECL(expected,int,8,16) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
3801VECT_VAR_DECL(expected,int,16,8) [] = { 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000 };
3802VECT_VAR_DECL(expected,int,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
3803VECT_VAR_DECL(expected,int,64,2) [] = { 0x8000000000000000, 0x8000000000000000 };
3804VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3805VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
3806VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
3807VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
3808VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3809VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3810VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3811int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
3812int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
3813int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
3814int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
3815int VECT_VAR(expected_cumulative_sat,uint,8,8) = 0;
3816int VECT_VAR(expected_cumulative_sat,uint,16,4) = 0;
3817int VECT_VAR(expected_cumulative_sat,uint,32,2) = 0;
3818int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
3819int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
3820int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
3821int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
3822int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
3823int VECT_VAR(expected_cumulative_sat,uint,8,16) = 0;
3824int VECT_VAR(expected_cumulative_sat,uint,16,8) = 0;
3825int VECT_VAR(expected_cumulative_sat,uint,32,4) = 0;
3826int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
3827
3828VQRSHL/VQRSHLQ (negative shift amount) output:
3829VECT_VAR_DECL(expected,int,8,8) [] = { 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe };
3830VECT_VAR_DECL(expected,int,16,4) [] = { 0xfffc, 0xfffc, 0xfffd, 0xfffd };
3831VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffffe, 0xfffffffe };
3832VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffffff };
3833VECT_VAR_DECL(expected,uint,8,8) [] = { 0x3c, 0x3c, 0x3d, 0x3d, 0x3d, 0x3d, 0x3e, 0x3e };
3834VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3ffc, 0x3ffc, 0x3ffd, 0x3ffd };
3835VECT_VAR_DECL(expected,uint,32,2) [] = { 0x1ffffffe, 0x1ffffffe };
3836VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff };
3837VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3838VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3839VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3840VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3841VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
3842VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
3843VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
3844VECT_VAR_DECL(expected,uint,8,16) [] = { 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2 };
3845VECT_VAR_DECL(expected,uint,16,8) [] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
3846VECT_VAR_DECL(expected,uint,32,4) [] = { 0x80000, 0x80000, 0x80000, 0x80000 };
3847VECT_VAR_DECL(expected,uint,64,2) [] = { 0x100000000000, 0x100000000000 };
3848VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3849VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3850VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3851int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
3852int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
3853int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
3854int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
3855int VECT_VAR(expected_cumulative_sat,uint,8,8) = 0;
3856int VECT_VAR(expected_cumulative_sat,uint,16,4) = 0;
3857int VECT_VAR(expected_cumulative_sat,uint,32,2) = 0;
3858int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
3859int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
3860int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
3861int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
3862int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
3863int VECT_VAR(expected_cumulative_sat,uint,8,16) = 0;
3864int VECT_VAR(expected_cumulative_sat,uint,16,8) = 0;
3865int VECT_VAR(expected_cumulative_sat,uint,32,4) = 0;
3866int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
3867
3868VQRSHL/VQRSHLQ (checking cumulative saturation: shift by -1) output:
3869VECT_VAR_DECL(expected,int,8,8) [] = { 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 };
3870VECT_VAR_DECL(expected,int,16,4) [] = { 0x4000, 0x4000, 0x4000, 0x4000 };
3871VECT_VAR_DECL(expected,int,32,2) [] = { 0x40000000, 0x40000000 };
3872VECT_VAR_DECL(expected,int,64,1) [] = { 0x4000000000000000 };
3873VECT_VAR_DECL(expected,uint,8,8) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
3874VECT_VAR_DECL(expected,uint,16,4) [] = { 0x8000, 0x8000, 0x8000, 0x8000 };
3875VECT_VAR_DECL(expected,uint,32,2) [] = { 0x80000000, 0x80000000 };
3876VECT_VAR_DECL(expected,uint,64,1) [] = { 0x8000000000000000 };
3877VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3878VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3879VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3880VECT_VAR_DECL(expected,int,8,16) [] = { 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 };
3881VECT_VAR_DECL(expected,int,16,8) [] = { 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000 };
3882VECT_VAR_DECL(expected,int,32,4) [] = { 0x40000000, 0x40000000, 0x40000000, 0x40000000 };
3883VECT_VAR_DECL(expected,int,64,2) [] = { 0x4000000000000000, 0x4000000000000000 };
3884VECT_VAR_DECL(expected,uint,8,16) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
3885VECT_VAR_DECL(expected,uint,16,8) [] = { 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000 };
3886VECT_VAR_DECL(expected,uint,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
3887VECT_VAR_DECL(expected,uint,64,2) [] = { 0x8000000000000000, 0x8000000000000000 };
3888VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3889VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3890VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3891int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
3892int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
3893int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
3894int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
3895int VECT_VAR(expected_cumulative_sat,uint,8,8) = 0;
3896int VECT_VAR(expected_cumulative_sat,uint,16,4) = 0;
3897int VECT_VAR(expected_cumulative_sat,uint,32,2) = 0;
3898int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
3899int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
3900int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
3901int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
3902int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
3903int VECT_VAR(expected_cumulative_sat,uint,8,16) = 0;
3904int VECT_VAR(expected_cumulative_sat,uint,16,8) = 0;
3905int VECT_VAR(expected_cumulative_sat,uint,32,4) = 0;
3906int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
3907
3908VQRSHL/VQRSHLQ (checking cumulative saturation: shift by -3) output:
3909VECT_VAR_DECL(expected,int,8,8) [] = { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 };
3910VECT_VAR_DECL(expected,int,16,4) [] = { 0x1000, 0x1000, 0x1000, 0x1000 };
3911VECT_VAR_DECL(expected,int,32,2) [] = { 0x10000000, 0x10000000 };
3912VECT_VAR_DECL(expected,int,64,1) [] = { 0x1000000000000000 };
3913VECT_VAR_DECL(expected,uint,8,8) [] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
3914VECT_VAR_DECL(expected,uint,16,4) [] = { 0x2000, 0x2000, 0x2000, 0x2000 };
3915VECT_VAR_DECL(expected,uint,32,2) [] = { 0x20000000, 0x20000000 };
3916VECT_VAR_DECL(expected,uint,64,1) [] = { 0x2000000000000000 };
3917VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3918VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3919VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3920VECT_VAR_DECL(expected,int,8,16) [] = { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 };
3921VECT_VAR_DECL(expected,int,16,8) [] = { 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000 };
3922VECT_VAR_DECL(expected,int,32,4) [] = { 0x10000000, 0x10000000, 0x10000000, 0x10000000 };
3923VECT_VAR_DECL(expected,int,64,2) [] = { 0x1000000000000000, 0x1000000000000000 };
3924VECT_VAR_DECL(expected,uint,8,16) [] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
3925VECT_VAR_DECL(expected,uint,16,8) [] = { 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000 };
3926VECT_VAR_DECL(expected,uint,32,4) [] = { 0x20000000, 0x20000000, 0x20000000, 0x20000000 };
3927VECT_VAR_DECL(expected,uint,64,2) [] = { 0x2000000000000000, 0x2000000000000000 };
3928VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3929VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3930VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3931int VECT_VAR(expected_cumulative_sat,int,8,8) = 1;
3932int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
3933int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
3934int VECT_VAR(expected_cumulative_sat,int,64,1) = 1;
3935int VECT_VAR(expected_cumulative_sat,uint,8,8) = 1;
3936int VECT_VAR(expected_cumulative_sat,uint,16,4) = 1;
3937int VECT_VAR(expected_cumulative_sat,uint,32,2) = 1;
3938int VECT_VAR(expected_cumulative_sat,uint,64,1) = 1;
3939int VECT_VAR(expected_cumulative_sat,int,8,16) = 1;
3940int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
3941int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
3942int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
3943int VECT_VAR(expected_cumulative_sat,uint,8,16) = 1;
3944int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
3945int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
3946int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
3947
3948VQRSHL/VQRSHLQ (checking cumulative saturation: large shift amount) output:
3949VECT_VAR_DECL(expected,int,8,8) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
3950VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
3951VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
3952VECT_VAR_DECL(expected,int,64,1) [] = { 0x7fffffffffffffff };
3953VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3954VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
3955VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
3956VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffffff };
3957VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3958VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3959VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
3960VECT_VAR_DECL(expected,int,8,16) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
3961VECT_VAR_DECL(expected,int,16,8) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff, 0x7fff };
3962VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
3963VECT_VAR_DECL(expected,int,64,2) [] = { 0x7fffffffffffffff, 0x7fffffffffffffff };
3964VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3965VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
3966VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
3967VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
3968VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3969VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
3970VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
3971int VECT_VAR(expected_cumulative_sat,int,8,8) = 1;
3972int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
3973int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
3974int VECT_VAR(expected_cumulative_sat,int,64,1) = 1;
3975int VECT_VAR(expected_cumulative_sat,uint,8,8) = 1;
3976int VECT_VAR(expected_cumulative_sat,uint,16,4) = 1;
3977int VECT_VAR(expected_cumulative_sat,uint,32,2) = 1;
3978int VECT_VAR(expected_cumulative_sat,uint,64,1) = 1;
3979int VECT_VAR(expected_cumulative_sat,int,8,16) = 1;
3980int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
3981int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
3982int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
3983int VECT_VAR(expected_cumulative_sat,uint,8,16) = 1;
3984int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
3985int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
3986int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
3987
3988VQRSHL/VQRSHLQ (checking cumulative saturation: large shift amount with negative input) output:
3989VECT_VAR_DECL(expected,int,8,8) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
3990VECT_VAR_DECL(expected,int,16,4) [] = { 0x8000, 0x8000, 0x8000, 0x8000 };
3991VECT_VAR_DECL(expected,int,32,2) [] = { 0x80000000, 0x80000000 };
3992VECT_VAR_DECL(expected,int,64,1) [] = { 0x8000000000000000 };
3993VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
3994VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
3995VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
3996VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffffff };
3997VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
3998VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
3999VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
4000VECT_VAR_DECL(expected,int,8,16) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
4001VECT_VAR_DECL(expected,int,16,8) [] = { 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000 };
4002VECT_VAR_DECL(expected,int,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
4003VECT_VAR_DECL(expected,int,64,2) [] = { 0x8000000000000000, 0x8000000000000000 };
4004VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
4005VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
4006VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
4007VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
4008VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4009VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4010VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4011int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
4012int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
4013int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
4014int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
4015int VECT_VAR(expected_cumulative_sat,uint,8,8) = 0;
4016int VECT_VAR(expected_cumulative_sat,uint,16,4) = 0;
4017int VECT_VAR(expected_cumulative_sat,uint,32,2) = 0;
4018int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
4019int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
4020int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
4021int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
4022int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
4023int VECT_VAR(expected_cumulative_sat,uint,8,16) = 0;
4024int VECT_VAR(expected_cumulative_sat,uint,16,8) = 0;
4025int VECT_VAR(expected_cumulative_sat,uint,32,4) = 0;
4026int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
4027
4028VQRSHL/VQRSHLQ (checking cumulative saturation: large negative shift amount) output:
4029VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
4030VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
4031VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
4032VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
4033VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
4034VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
4035VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
4036VECT_VAR_DECL(expected,uint,64,1) [] = { 0x0 };
4037VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4038VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4039VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
4040VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
4041VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
4042VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
4043VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
4044VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
4045VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
4046VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
4047VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x0 };
4048VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4049VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4050VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4051int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
4052int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
4053int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
4054int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
4055int VECT_VAR(expected_cumulative_sat,uint,8,8) = 0;
4056int VECT_VAR(expected_cumulative_sat,uint,16,4) = 0;
4057int VECT_VAR(expected_cumulative_sat,uint,32,2) = 0;
4058int VECT_VAR(expected_cumulative_sat,uint,64,1) = 0;
4059int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
4060int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
4061int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
4062int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
4063int VECT_VAR(expected_cumulative_sat,uint,8,16) = 0;
4064int VECT_VAR(expected_cumulative_sat,uint,16,8) = 0;
4065int VECT_VAR(expected_cumulative_sat,uint,32,4) = 0;
4066int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
4067
4068VQRSHL/VQRSHLQ (checking cumulative saturation: large shift amount with 0 input) output:
4069VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
4070VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
4071VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
4072VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
4073VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
4074VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
4075VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
4076VECT_VAR_DECL(expected,uint,64,1) [] = { 0x0 };
4077VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4078VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4079VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
4080VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
4081VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
4082VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
4083VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
4084VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
4085VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
4086VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
4087VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x0 };
4088VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4089VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4090VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4091
4092VABA/VABAQ output:
4093VECT_VAR_DECL(expected,int,8,8) [] = { 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd };
4094VECT_VAR_DECL(expected,int,16,4) [] = { 0x16, 0x17, 0x18, 0x19 };
4095VECT_VAR_DECL(expected,int,32,2) [] = { 0x20, 0x21 };
4096VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4097VECT_VAR_DECL(expected,uint,8,8) [] = { 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a };
4098VECT_VAR_DECL(expected,uint,16,4) [] = { 0x907, 0x908, 0x909, 0x90a };
4099VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffe7, 0xffffffe8 };
4100VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4101VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4102VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4103VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
4104VECT_VAR_DECL(expected,int,8,16) [] = { 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d };
4105VECT_VAR_DECL(expected,int,16,8) [] = { 0xb9c, 0xb9d, 0xb9e, 0xb9f, 0xba0, 0xba1, 0xba2, 0xba3 };
4106VECT_VAR_DECL(expected,int,32,4) [] = { 0x26e0, 0x26e1, 0x26e2, 0x26e3 };
4107VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4108VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 };
4109VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff9, 0xfffa, 0xfffb, 0xfffc, 0xfffd, 0xfffe, 0xffff, 0x0 };
4110VECT_VAR_DECL(expected,uint,32,4) [] = { 0xc, 0xd, 0xe, 0xf };
4111VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4112VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4113VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4114VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4115
4116VABAL output:
4117VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4118VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4119VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
4120VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4121VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4122VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4123VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
4124VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4125VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4126VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4127VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
4128VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4129VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff6, 0xfff7, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc, 0xfffd };
4130VECT_VAR_DECL(expected,int,32,4) [] = { 0x16, 0x17, 0x18, 0x19 };
4131VECT_VAR_DECL(expected,int,64,2) [] = { 0x20, 0x21 };
4132VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4133VECT_VAR_DECL(expected,uint,16,8) [] = { 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a };
4134VECT_VAR_DECL(expected,uint,32,4) [] = { 0x907, 0x908, 0x909, 0x90a };
4135VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffe7, 0xffffffe8 };
4136VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4137VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4138VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4139
4140VABAL test intermediate overflow output:
4141VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4142VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4143VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
4144VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4145VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4146VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4147VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
4148VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4149VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4150VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4151VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
4152VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4153VECT_VAR_DECL(expected,int,16,8) [] = { 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6 };
4154VECT_VAR_DECL(expected,int,32,4) [] = { 0xffef, 0xfff0, 0xfff1, 0xfff2 };
4155VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffef, 0xfffffff0 };
4156VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4157VECT_VAR_DECL(expected,uint,16,8) [] = { 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5 };
4158VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffe2, 0xffe3, 0xffe4, 0xffe5 };
4159VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffe7, 0xffffffe8 };
4160VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4161VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4162VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4163
4164VABD/VABDQ output:
4165VECT_VAR_DECL(expected,int,8,8) [] = { 0x11, 0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa };
4166VECT_VAR_DECL(expected,int,16,4) [] = { 0x3, 0x2, 0x1, 0x0 };
4167VECT_VAR_DECL(expected,int,32,2) [] = { 0x18, 0x17 };
4168VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4169VECT_VAR_DECL(expected,uint,8,8) [] = { 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6 };
4170VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffe3, 0xffe4, 0xffe5, 0xffe6 };
4171VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffe8, 0xffffffe9 };
4172VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4173VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4174VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4175VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x41c26666, 0x41ba6666 };
4176VECT_VAR_DECL(expected,int,8,16) [] = { 0x1a, 0x19, 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, 0xf, 0xe, 0xd, 0xc, 0xb };
4177VECT_VAR_DECL(expected,int,16,8) [] = { 0x4, 0x3, 0x2, 0x1, 0x0, 0x1, 0x2, 0x3 };
4178VECT_VAR_DECL(expected,int,32,4) [] = { 0x30, 0x2f, 0x2e, 0x2d };
4179VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4180VECT_VAR_DECL(expected,uint,8,16) [] = { 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5 };
4181VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffe4, 0xffe5, 0xffe6, 0xffe7, 0xffe8, 0xffe9, 0xffea, 0xffeb };
4182VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffd0, 0xffffffd1, 0xffffffd2, 0xffffffd3 };
4183VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4184VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4185VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4186VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x42407ae1, 0x423c7ae1, 0x42387ae1, 0x42347ae1 };
4187VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
4188VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
4189
4190VABDL output:
4191VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4192VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4193VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
4194VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4195VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4196VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4197VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
4198VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4199VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4200VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4201VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
4202VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4203VECT_VAR_DECL(expected,int,16,8) [] = { 0x11, 0x10, 0xf, 0xe, 0xd, 0xc, 0xb, 0xa };
4204VECT_VAR_DECL(expected,int,32,4) [] = { 0x3, 0x2, 0x1, 0x0 };
4205VECT_VAR_DECL(expected,int,64,2) [] = { 0x18, 0x17 };
4206VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4207VECT_VAR_DECL(expected,uint,16,8) [] = { 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6 };
4208VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffe3, 0xffe4, 0xffe5, 0xffe6 };
4209VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffe8, 0xffffffe9 };
4210VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4211VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4212VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4213
4214VAND/VANDQ output:
4215VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x2, 0x2, 0x0, 0x0, 0x2, 0x2 };
4216VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
4217VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x1 };
4218VECT_VAR_DECL(expected,int,64,1) [] = { 0x60 };
4219VECT_VAR_DECL(expected,uint,8,8) [] = { 0x10, 0x10, 0x10, 0x10, 0x14, 0x14, 0x14, 0x14 };
4220VECT_VAR_DECL(expected,uint,16,4) [] = { 0x10, 0x10, 0x12, 0x12 };
4221VECT_VAR_DECL(expected,uint,32,2) [] = { 0x20, 0x20 };
4222VECT_VAR_DECL(expected,uint,64,1) [] = { 0x0 };
4223VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4224VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4225VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
4226VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf0, 0xf2, 0xf2, 0xf4, 0xf4, 0xf6, 0xf6, 0xf0, 0xf0, 0xf2, 0xf2, 0xf4, 0xf4, 0xf6, 0xf6 };
4227VECT_VAR_DECL(expected,int,16,8) [] = { 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe4, 0xffe4, 0xffe4, 0xffe4 };
4228VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffe0, 0xffffffe0, 0xffffffe2, 0xffffffe2 };
4229VECT_VAR_DECL(expected,int,64,2) [] = { 0x10, 0x10 };
4230VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x4, 0x4, 0x4, 0x4, 0x8, 0x8, 0x8, 0x8, 0xc, 0xc, 0xc, 0xc };
4231VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x1, 0x2, 0x3, 0x0, 0x1, 0x2, 0x3 };
4232VECT_VAR_DECL(expected,uint,32,4) [] = { 0x30, 0x31, 0x32, 0x33 };
4233VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x1 };
4234VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4235VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4236VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4237
4238VORR/VORRQ output:
4239VECT_VAR_DECL(expected,int,8,8) [] = { 0xf2, 0xf3, 0xf2, 0xf3, 0xf6, 0xf7, 0xf6, 0xf7 };
4240VECT_VAR_DECL(expected,int,16,4) [] = { 0xfffc, 0xfffd, 0xfffe, 0xffff };
4241VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff3, 0xfffffff3 };
4242VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff4 };
4243VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf4, 0xf5, 0xf6, 0xf7, 0xf4, 0xf5, 0xf6, 0xf7 };
4244VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfffe, 0xffff, 0xfffe, 0xffff };
4245VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff8, 0xfffffff9 };
4246VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff2 };
4247VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4248VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4249VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
4250VECT_VAR_DECL(expected,int,8,16) [] = { 0xf6, 0xf7, 0xf6, 0xf7, 0xf6, 0xf7, 0xf6, 0xf7, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff };
4251VECT_VAR_DECL(expected,int,16,8) [] = { 0xfffc, 0xfffd, 0xfffe, 0xffff, 0xfffc, 0xfffd, 0xfffe, 0xffff };
4252VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff2, 0xfffffff3, 0xfffffff2, 0xfffffff3 };
4253VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff8, 0xfffffffffffffff9 };
4254VECT_VAR_DECL(expected,uint,8,16) [] = { 0xfc, 0xfd, 0xfe, 0xff, 0xfc, 0xfd, 0xfe, 0xff, 0xfc, 0xfd, 0xfe, 0xff, 0xfc, 0xfd, 0xfe, 0xff };
4255VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff3, 0xfff3, 0xfff3, 0xfff3, 0xfff7, 0xfff7, 0xfff7, 0xfff7 };
4256VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff7, 0xfffffff7, 0xfffffff7, 0xfffffff7 };
4257VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff3, 0xfffffffffffffff3 };
4258VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4259VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4260VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4261
4262VORN/VORNQ output:
4263VECT_VAR_DECL(expected,int,8,8) [] = { 0xfd, 0xfd, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xff };
4264VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff3, 0xfff3, 0xfff3, 0xfff3 };
4265VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffffc, 0xfffffffd };
4266VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffffb };
4267VECT_VAR_DECL(expected,uint,8,8) [] = { 0xfb, 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff };
4268VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff1, 0xfff1, 0xfff3, 0xfff3 };
4269VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff7, 0xfffffff7 };
4270VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffffd };
4271VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4272VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4273VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
4274VECT_VAR_DECL(expected,int,8,16) [] = { 0xf9, 0xf9, 0xfb, 0xfb, 0xfd, 0xfd, 0xff, 0xff, 0xf9, 0xf9, 0xfb, 0xfb, 0xfd, 0xfd, 0xff, 0xff };
4275VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff3, 0xfff3, 0xfff3, 0xfff3, 0xfff7, 0xfff7, 0xfff7, 0xfff7 };
4276VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffffd, 0xfffffffd, 0xffffffff, 0xffffffff };
4277VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff7, 0xfffffffffffffff7 };
4278VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf3, 0xf3, 0xf3, 0xf3, 0xf7, 0xf7, 0xf7, 0xf7, 0xfb, 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff };
4279VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfffc, 0xfffd, 0xfffe, 0xffff, 0xfffc, 0xfffd, 0xfffe, 0xffff };
4280VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff8, 0xfffffff9, 0xfffffffa, 0xfffffffb };
4281VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffffc, 0xfffffffffffffffd };
4282VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4283VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4284VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4285
4286VEOR/VEORQ output:
4287VECT_VAR_DECL(expected,int,8,8) [] = { 0xf2, 0xf3, 0xf0, 0xf1, 0xf6, 0xf7, 0xf4, 0xf5 };
4288VECT_VAR_DECL(expected,int,16,4) [] = { 0xc, 0xd, 0xe, 0xf };
4289VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff3, 0xfffffff2 };
4290VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffff94 };
4291VECT_VAR_DECL(expected,uint,8,8) [] = { 0xe4, 0xe5, 0xe6, 0xe7, 0xe0, 0xe1, 0xe2, 0xe3 };
4292VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffee, 0xffef, 0xffec, 0xffed };
4293VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffd8, 0xffffffd9 };
4294VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff2 };
4295VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4296VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4297VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
4298VECT_VAR_DECL(expected,int,8,16) [] = { 0x6, 0x7, 0x4, 0x5, 0x2, 0x3, 0x0, 0x1, 0xe, 0xf, 0xc, 0xd, 0xa, 0xb, 0x8, 0x9 };
4299VECT_VAR_DECL(expected,int,16,8) [] = { 0x1c, 0x1d, 0x1e, 0x1f, 0x18, 0x19, 0x1a, 0x1b };
4300VECT_VAR_DECL(expected,int,32,4) [] = { 0x12, 0x13, 0x10, 0x11 };
4301VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffffe8, 0xffffffffffffffe9 };
4302VECT_VAR_DECL(expected,uint,8,16) [] = { 0xfc, 0xfd, 0xfe, 0xff, 0xf8, 0xf9, 0xfa, 0xfb, 0xf4, 0xf5, 0xf6, 0xf7, 0xf0, 0xf1, 0xf2, 0xf3 };
4303VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff3, 0xfff2, 0xfff1, 0xfff0, 0xfff7, 0xfff6, 0xfff5, 0xfff4 };
4304VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffc7, 0xffffffc6, 0xffffffc5, 0xffffffc4 };
4305VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff3, 0xfffffffffffffff2 };
4306VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4307VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4308VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4309
4310VBIC/VBICQ output:
4311VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf0, 0xf1, 0xf4, 0xf5, 0xf4, 0xf5 };
4312VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x1, 0x2, 0x3 };
4313VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff0 };
4314VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffff90 };
4315VECT_VAR_DECL(expected,uint,8,8) [] = { 0xe0, 0xe1, 0xe2, 0xe3, 0xe0, 0xe1, 0xe2, 0xe3 };
4316VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffe0, 0xffe1, 0xffe0, 0xffe1 };
4317VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffd0, 0xffffffd1 };
4318VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
4319VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4320VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4321VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
4322VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x8, 0x9, 0x8, 0x9, 0x8, 0x9, 0x8, 0x9 };
4323VECT_VAR_DECL(expected,int,16,8) [] = { 0x10, 0x11, 0x12, 0x13, 0x10, 0x11, 0x12, 0x13 };
4324VECT_VAR_DECL(expected,int,32,4) [] = { 0x10, 0x11, 0x10, 0x11 };
4325VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffffe0, 0xffffffffffffffe1 };
4326VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3 };
4327VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff4, 0xfff4, 0xfff4, 0xfff4 };
4328VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffc0, 0xffffffc0, 0xffffffc0, 0xffffffc0 };
4329VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff0 };
4330VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4331VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4332VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4333
4334VCREATE output:
4335VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12 };
4336VECT_VAR_DECL(expected,int,16,4) [] = { 0xdef0, 0x9abc, 0x5678, 0x1234 };
4337VECT_VAR_DECL(expected,int,32,2) [] = { 0x9abcdef0, 0x12345678 };
4338VECT_VAR_DECL(expected,int,64,1) [] = { 0x123456789abcdef0 };
4339VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12 };
4340VECT_VAR_DECL(expected,uint,16,4) [] = { 0xdef0, 0x9abc, 0x5678, 0x1234 };
4341VECT_VAR_DECL(expected,uint,32,2) [] = { 0x9abcdef0, 0x12345678 };
4342VECT_VAR_DECL(expected,uint,64,1) [] = { 0x123456789abcdef0 };
4343VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12 };
4344VECT_VAR_DECL(expected,poly,16,4) [] = { 0xdef0, 0x9abc, 0x5678, 0x1234 };
4345VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x9abcdef0, 0x12345678 };
4346VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4347VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4348VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4349VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4350VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4351VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4352VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4353VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4354VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4355VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4356VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4357
4358VLD2_LANE/VLD2Q_LANE chunk 0 output:
4359VECT_VAR_DECL(expected,int,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4360VECT_VAR_DECL(expected,int,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4361VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4362VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4363VECT_VAR_DECL(expected,uint,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4364VECT_VAR_DECL(expected,uint,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4365VECT_VAR_DECL(expected,uint,32,2) [] = { 0xaaaaaaaa, 0xaaaaaaaa };
4366VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4367VECT_VAR_DECL(expected,poly,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4368VECT_VAR_DECL(expected,poly,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4369VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
4370VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4371VECT_VAR_DECL(expected,int,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4372VECT_VAR_DECL(expected,int,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4373VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4374VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4375VECT_VAR_DECL(expected,uint,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4376VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xaaaaaaaa, 0xaaaaaaaa };
4377VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4378VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4379VECT_VAR_DECL(expected,poly,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4380VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4381
4382VLD2_LANE/VLD2Q_LANE chunk 1 output:
4383VECT_VAR_DECL(expected,int,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xf0, 0xf1 };
4384VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xaaaa, 0xaaaa };
4385VECT_VAR_DECL(expected,int,32,2) [] = { 0xaaaaaaaa, 0xaaaaaaaa };
4386VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4387VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4388VECT_VAR_DECL(expected,uint,16,4) [] = { 0xaaaa, 0xaaaa, 0xfff0, 0xfff1 };
4389VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4390VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4391VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4392VECT_VAR_DECL(expected,poly,16,4) [] = { 0xaaaa, 0xaaaa, 0xfff0, 0xfff1 };
4393VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xaaaaaaaa, 0xaaaaaaaa };
4394VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4395VECT_VAR_DECL(expected,int,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xfff0, 0xfff1, 0xaaaa, 0xaaaa };
4396VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xaaaaaaaa, 0xaaaaaaaa };
4397VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4398VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4399VECT_VAR_DECL(expected,uint,16,8) [] = { 0xaaaa, 0xaaaa, 0xfff0, 0xfff1, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4400VECT_VAR_DECL(expected,uint,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4401VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4402VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4403VECT_VAR_DECL(expected,poly,16,8) [] = { 0xaaaa, 0xaaaa, 0xfff0, 0xfff1, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4404VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0xaaaaaaaa, 0xaaaaaaaa };
4405
4406VLD3_LANE/VLD3Q_LANE chunk 0 output:
4407VECT_VAR_DECL(expected,int,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4408VECT_VAR_DECL(expected,int,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4409VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4410VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4411VECT_VAR_DECL(expected,uint,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4412VECT_VAR_DECL(expected,uint,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4413VECT_VAR_DECL(expected,uint,32,2) [] = { 0xaaaaaaaa, 0xaaaaaaaa };
4414VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4415VECT_VAR_DECL(expected,poly,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4416VECT_VAR_DECL(expected,poly,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4417VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
4418VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4419VECT_VAR_DECL(expected,int,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4420VECT_VAR_DECL(expected,int,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4421VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4422VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4423VECT_VAR_DECL(expected,uint,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4424VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xaaaaaaaa };
4425VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4426VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4427VECT_VAR_DECL(expected,poly,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4428VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4429
4430VLD3_LANE/VLD3Q_LANE chunk 1 output:
4431VECT_VAR_DECL(expected,int,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4432VECT_VAR_DECL(expected,int,16,4) [] = { 0xaaaa, 0xaaaa, 0xfff0, 0xfff1 };
4433VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff2, 0xaaaaaaaa };
4434VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4435VECT_VAR_DECL(expected,uint,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xf0, 0xf1, 0xf2, 0xaa };
4436VECT_VAR_DECL(expected,uint,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4437VECT_VAR_DECL(expected,uint,32,2) [] = { 0xaaaaaaaa, 0xfffffff0 };
4438VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4439VECT_VAR_DECL(expected,poly,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xf0, 0xf1, 0xf2, 0xaa };
4440VECT_VAR_DECL(expected,poly,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4441VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1600000, 0xaaaaaaaa };
4442VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4443VECT_VAR_DECL(expected,int,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4444VECT_VAR_DECL(expected,int,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xfffffff0, 0xfffffff1 };
4445VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4446VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4447VECT_VAR_DECL(expected,uint,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xfff0 };
4448VECT_VAR_DECL(expected,uint,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4449VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4450VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4451VECT_VAR_DECL(expected,poly,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xfff0 };
4452VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xc1800000, 0xc1700000 };
4453
4454VLD3_LANE/VLD3Q_LANE chunk 2 output:
4455VECT_VAR_DECL(expected,int,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xf0, 0xf1, 0xf2 };
4456VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff2, 0xaaaa, 0xaaaa, 0xaaaa };
4457VECT_VAR_DECL(expected,int,32,2) [] = { 0xaaaaaaaa, 0xaaaaaaaa };
4458VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4459VECT_VAR_DECL(expected,uint,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4460VECT_VAR_DECL(expected,uint,16,4) [] = { 0xaaaa, 0xfff0, 0xfff1, 0xfff2 };
4461VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff1, 0xfffffff2 };
4462VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4463VECT_VAR_DECL(expected,poly,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4464VECT_VAR_DECL(expected,poly,16,4) [] = { 0xaaaa, 0xfff0, 0xfff1, 0xfff2 };
4465VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xaaaaaaaa, 0xaaaaaaaa };
4466VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4467VECT_VAR_DECL(expected,int,16,8) [] = { 0xaaaa, 0xaaaa, 0xfff0, 0xfff1, 0xfff2, 0xaaaa, 0xaaaa, 0xaaaa };
4468VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff2, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4469VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4470VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4471VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff1, 0xfff2, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4472VECT_VAR_DECL(expected,uint,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4473VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4474VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4475VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff1, 0xfff2, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4476VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1600000, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4477
4478VLD4_LANE/VLD4Q_LANE chunk 0 output:
4479VECT_VAR_DECL(expected,int,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4480VECT_VAR_DECL(expected,int,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4481VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4482VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4483VECT_VAR_DECL(expected,uint,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4484VECT_VAR_DECL(expected,uint,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4485VECT_VAR_DECL(expected,uint,32,2) [] = { 0xaaaaaaaa, 0xaaaaaaaa };
4486VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4487VECT_VAR_DECL(expected,poly,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4488VECT_VAR_DECL(expected,poly,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4489VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
4490VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4491VECT_VAR_DECL(expected,int,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4492VECT_VAR_DECL(expected,int,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4493VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4494VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4495VECT_VAR_DECL(expected,uint,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4496VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
4497VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4498VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4499VECT_VAR_DECL(expected,poly,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4500VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4501
4502VLD4_LANE/VLD4Q_LANE chunk 1 output:
4503VECT_VAR_DECL(expected,int,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4504VECT_VAR_DECL(expected,int,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4505VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff2, 0xfffffff3 };
4506VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4507VECT_VAR_DECL(expected,uint,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4508VECT_VAR_DECL(expected,uint,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4509VECT_VAR_DECL(expected,uint,32,2) [] = { 0xaaaaaaaa, 0xaaaaaaaa };
4510VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4511VECT_VAR_DECL(expected,poly,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4512VECT_VAR_DECL(expected,poly,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4513VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1600000, 0xc1500000 };
4514VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4515VECT_VAR_DECL(expected,int,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4516VECT_VAR_DECL(expected,int,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4517VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4518VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4519VECT_VAR_DECL(expected,uint,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4520VECT_VAR_DECL(expected,uint,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4521VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4522VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4523VECT_VAR_DECL(expected,poly,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4524VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4525
4526VLD4_LANE/VLD4Q_LANE chunk 2 output:
4527VECT_VAR_DECL(expected,int,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4528VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4529VECT_VAR_DECL(expected,int,32,2) [] = { 0xaaaaaaaa, 0xaaaaaaaa };
4530VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4531VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xaa, 0xaa, 0xaa, 0xaa };
4532VECT_VAR_DECL(expected,uint,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4533VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4534VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4535VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xaa, 0xaa, 0xaa, 0xaa };
4536VECT_VAR_DECL(expected,poly,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4537VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xaaaaaaaa, 0xaaaaaaaa };
4538VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4539VECT_VAR_DECL(expected,int,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4540VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
4541VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4542VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4543VECT_VAR_DECL(expected,uint,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4544VECT_VAR_DECL(expected,uint,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4545VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4546VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4547VECT_VAR_DECL(expected,poly,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4548VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0xc1600000, 0xc1500000 };
4549
4550VLD4_LANE/VLD4Q_LANE chunk 3 output:
4551VECT_VAR_DECL(expected,int,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xf0, 0xf1, 0xf2, 0xf3 };
4552VECT_VAR_DECL(expected,int,16,4) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4553VECT_VAR_DECL(expected,int,32,2) [] = { 0xaaaaaaaa, 0xaaaaaaaa };
4554VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4555VECT_VAR_DECL(expected,uint,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4556VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4557VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff2, 0xfffffff3 };
4558VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4559VECT_VAR_DECL(expected,poly,8,8) [] = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa };
4560VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4561VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xaaaaaaaa, 0xaaaaaaaa };
4562VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4563VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4564VECT_VAR_DECL(expected,int,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4565VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4566VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4567VECT_VAR_DECL(expected,uint,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4568VECT_VAR_DECL(expected,uint,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4569VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4570VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4571VECT_VAR_DECL(expected,poly,16,8) [] = { 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa };
4572VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa };
4573
4574VLD2_DUP/VLD2Q_DUP chunk 0 output:
4575VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf0, 0xf1, 0xf0, 0xf1, 0xf0, 0xf1 };
4576VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff0, 0xfff1 };
4577VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4578VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
4579VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf0, 0xf1, 0xf0, 0xf1, 0xf0, 0xf1 };
4580VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff0, 0xfff1 };
4581VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4582VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
4583VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf0, 0xf1, 0xf0, 0xf1, 0xf0, 0xf1 };
4584VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff0, 0xfff1 };
4585VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
4586VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4587VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4588VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4589VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4590VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4591VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4592VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4593VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4594VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4595VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4596VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4597
4598VLD2_DUP/VLD2Q_DUP chunk 1 output:
4599VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf0, 0xf1, 0xf0, 0xf1, 0xf0, 0xf1 };
4600VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff0, 0xfff1 };
4601VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4602VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff1 };
4603VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf0, 0xf1, 0xf0, 0xf1, 0xf0, 0xf1 };
4604VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff0, 0xfff1 };
4605VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4606VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff1 };
4607VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf0, 0xf1, 0xf0, 0xf1, 0xf0, 0xf1 };
4608VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff0, 0xfff1 };
4609VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
4610VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4611VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4612VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4613VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4614VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4615VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4616VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4617VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4618VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4619VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4620VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4621
4622VLD3_DUP/VLD3Q_DUP chunk 0 output:
4623VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf0, 0xf1, 0xf2, 0xf0, 0xf1 };
4624VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff0 };
4625VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4626VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
4627VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf0, 0xf1, 0xf2, 0xf0, 0xf1 };
4628VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff0 };
4629VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4630VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
4631VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf0, 0xf1, 0xf2, 0xf0, 0xf1 };
4632VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff0 };
4633VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
4634VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4635VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4636VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4637VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4638VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4639VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4640VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4641VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4642VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4643VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4644VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4645
4646VLD3_DUP/VLD3Q_DUP chunk 1 output:
4647VECT_VAR_DECL(expected,int,8,8) [] = { 0xf2, 0xf0, 0xf1, 0xf2, 0xf0, 0xf1, 0xf2, 0xf0 };
4648VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff1, 0xfff2, 0xfff0, 0xfff1 };
4649VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff2, 0xfffffff0 };
4650VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff1 };
4651VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf2, 0xf0, 0xf1, 0xf2, 0xf0, 0xf1, 0xf2, 0xf0 };
4652VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff1, 0xfff2, 0xfff0, 0xfff1 };
4653VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff2, 0xfffffff0 };
4654VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff1 };
4655VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf2, 0xf0, 0xf1, 0xf2, 0xf0, 0xf1, 0xf2, 0xf0 };
4656VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff1, 0xfff2, 0xfff0, 0xfff1 };
4657VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1600000, 0xc1800000 };
4658VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4659VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4660VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4661VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4662VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4663VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4664VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4665VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4666VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4667VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4668VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4669
4670VLD3_DUP/VLD3Q_DUP chunk 2 output:
4671VECT_VAR_DECL(expected,int,8,8) [] = { 0xf1, 0xf2, 0xf0, 0xf1, 0xf2, 0xf0, 0xf1, 0xf2 };
4672VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff2, 0xfff0, 0xfff1, 0xfff2 };
4673VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff1, 0xfffffff2 };
4674VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff2 };
4675VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf1, 0xf2, 0xf0, 0xf1, 0xf2, 0xf0, 0xf1, 0xf2 };
4676VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff2, 0xfff0, 0xfff1, 0xfff2 };
4677VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff1, 0xfffffff2 };
4678VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff2 };
4679VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf1, 0xf2, 0xf0, 0xf1, 0xf2, 0xf0, 0xf1, 0xf2 };
4680VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff2, 0xfff0, 0xfff1, 0xfff2 };
4681VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1700000, 0xc1600000 };
4682VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4683VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4684VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4685VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4686VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4687VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4688VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4689VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4690VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4691VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4692VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4693
4694VLD4_DUP/VLD4Q_DUP chunk 0 output:
4695VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3 };
4696VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4697VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4698VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
4699VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3 };
4700VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4701VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4702VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
4703VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3 };
4704VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4705VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
4706VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4707VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4708VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4709VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4710VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4711VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4712VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4713VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4714VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4715VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4716VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4717
4718VLD4_DUP/VLD4Q_DUP chunk 1 output:
4719VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3 };
4720VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4721VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff2, 0xfffffff3 };
4722VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff1 };
4723VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3 };
4724VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4725VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff2, 0xfffffff3 };
4726VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff1 };
4727VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3 };
4728VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4729VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1600000, 0xc1500000 };
4730VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4731VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4732VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4733VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4734VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4735VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4736VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4737VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4738VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4739VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4740VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4741
4742VLD4_DUP/VLD4Q_DUP chunk 2 output:
4743VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3 };
4744VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4745VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4746VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff2 };
4747VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3 };
4748VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4749VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
4750VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff2 };
4751VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3 };
4752VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4753VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
4754VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4755VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4756VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4757VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4758VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4759VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4760VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4761VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4762VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4763VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4764VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4765
4766VLD4_DUP/VLD4Q_DUP chunk 3 output:
4767VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3 };
4768VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4769VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff2, 0xfffffff3 };
4770VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff3 };
4771VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3 };
4772VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4773VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff2, 0xfffffff3 };
4774VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff3 };
4775VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf0, 0xf1, 0xf2, 0xf3 };
4776VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
4777VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1600000, 0xc1500000 };
4778VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4779VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4780VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4781VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4782VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4783VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4784VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4785VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4786VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4787VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4788VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
4789
4790VMLA output:
4791VECT_VAR_DECL(expected,int,8,8) [] = { 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6 };
4792VECT_VAR_DECL(expected,int,16,4) [] = { 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f };
4793VECT_VAR_DECL(expected,int,32,2) [] = { 0x2bf7, 0x2bf8 };
4794VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4795VECT_VAR_DECL(expected,uint,8,8) [] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27 };
4796VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3e07, 0x3e08, 0x3e09, 0x3e0a };
4797VECT_VAR_DECL(expected,uint,32,2) [] = { 0x43ac, 0x43ad };
4798VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4799VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4800VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4801VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x43a14e76, 0x43a1ce76 };
4802VECT_VAR_DECL(expected,int,8,16) [] = { 0xf, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e };
4803VECT_VAR_DECL(expected,int,16,8) [] = { 0x4830, 0x4831, 0x4832, 0x4833, 0x4834, 0x4835, 0x4836, 0x4837 };
4804VECT_VAR_DECL(expected,int,32,4) [] = { 0x470f, 0x4710, 0x4711, 0x4712 };
4805VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4806VECT_VAR_DECL(expected,uint,8,16) [] = { 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb };
4807VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3e07, 0x3e08, 0x3e09, 0x3e0a, 0x3e0b, 0x3e0c, 0x3e0d, 0x3e0e };
4808VECT_VAR_DECL(expected,uint,32,4) [] = { 0x3620, 0x3621, 0x3622, 0x3623 };
4809VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4810VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4811VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4812VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x45f0ae15, 0x45f0b615, 0x45f0be15, 0x45f0c615 };
4813
4814VMLS output:
4815VECT_VAR_DECL(expected,int,8,8) [] = { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8 };
4816VECT_VAR_DECL(expected,int,16,4) [] = { 0xe054, 0xe055, 0xe056, 0xe057 };
4817VECT_VAR_DECL(expected,int,32,2) [] = { 0xffffd3e9, 0xffffd3ea };
4818VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4819VECT_VAR_DECL(expected,uint,8,8) [] = { 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7 };
4820VECT_VAR_DECL(expected,uint,16,4) [] = { 0xc1d9, 0xc1da, 0xc1db, 0xc1dc };
4821VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffbc34, 0xffffbc35 };
4822VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4823VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4824VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4825VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc3b14e76, 0xc3b0ce76 };
4826VECT_VAR_DECL(expected,int,8,16) [] = { 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0 };
4827VECT_VAR_DECL(expected,int,16,8) [] = { 0xb7b0, 0xb7b1, 0xb7b2, 0xb7b3, 0xb7b4, 0xb7b5, 0xb7b6, 0xb7b7 };
4828VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffb8d1, 0xffffb8d2, 0xffffb8d3, 0xffffb8d4 };
4829VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4830VECT_VAR_DECL(expected,uint,8,16) [] = { 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43 };
4831VECT_VAR_DECL(expected,uint,16,8) [] = { 0xc1d9, 0xc1da, 0xc1db, 0xc1dc, 0xc1dd, 0xc1de, 0xc1df, 0xc1e0 };
4832VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffc9c0, 0xffffc9c1, 0xffffc9c2, 0xffffc9c3 };
4833VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4834VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4835VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4836VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc5f1ae15, 0xc5f1a615, 0xc5f19e15, 0xc5f19615 };
4837
4838VMUL output:
4839VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0x1, 0x12, 0x23, 0x34, 0x45, 0x56, 0x67 };
4840VECT_VAR_DECL(expected,int,16,4) [] = { 0xfde0, 0xfe02, 0xfe24, 0xfe46 };
4841VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffcd0, 0xfffffd03 };
4842VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4843VECT_VAR_DECL(expected,uint,8,8) [] = { 0xc0, 0x4, 0x48, 0x8c, 0xd0, 0x14, 0x58, 0x9c };
4844VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfab0, 0xfb05, 0xfb5a, 0xfbaf };
4845VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffff9a0, 0xfffffa06 };
4846VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4847VECT_VAR_DECL(expected,poly,8,8) [] = { 0xc0, 0x84, 0x48, 0xc, 0xd0, 0x94, 0x58, 0x1c };
4848VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4849VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc4053333, 0xc3f9c000 };
4850VECT_VAR_DECL(expected,int,8,16) [] = { 0x90, 0x7, 0x7e, 0xf5, 0x6c, 0xe3, 0x5a, 0xd1, 0x48, 0xbf, 0x36, 0xad, 0x24, 0x9b, 0x12, 0x89 };
4851VECT_VAR_DECL(expected,int,16,8) [] = { 0xf780, 0xf808, 0xf890, 0xf918, 0xf9a0, 0xfa28, 0xfab0, 0xfb38 };
4852VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffff670, 0xfffff709, 0xfffff7a2, 0xfffff83b };
4853VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4854VECT_VAR_DECL(expected,uint,8,16) [] = { 0x60, 0xa, 0xb4, 0x5e, 0x8, 0xb2, 0x5c, 0x6, 0xb0, 0x5a, 0x4, 0xae, 0x58, 0x2, 0xac, 0x56 };
4855VECT_VAR_DECL(expected,uint,16,8) [] = { 0xf450, 0xf50b, 0xf5c6, 0xf681, 0xf73c, 0xf7f7, 0xf8b2, 0xf96d };
4856VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffff340, 0xfffff40c, 0xfffff4d8, 0xfffff5a4 };
4857VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4858VECT_VAR_DECL(expected,poly,8,16) [] = { 0x60, 0xca, 0x34, 0x9e, 0xc8, 0x62, 0x9c, 0x36, 0x30, 0x9a, 0x64, 0xce, 0x98, 0x32, 0xcc, 0x66 };
4859VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4860VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc4c73333, 0xc4bac000, 0xc4ae4ccd, 0xc4a1d999 };
4861
4862VMUL_LANE output:
4863VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4864VECT_VAR_DECL(expected,int,16,4) [] = { 0xffc0, 0xffc4, 0xffc8, 0xffcc };
4865VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffde0, 0xfffffe02 };
4866VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4867VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4868VECT_VAR_DECL(expected,uint,16,4) [] = { 0xbbc0, 0xc004, 0xc448, 0xc88c };
4869VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffface0, 0xffffb212 };
4870VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4871VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4872VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4873VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc3b66666, 0xc3ab0000 };
4874VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4875VECT_VAR_DECL(expected,int,16,8) [] = { 0xffc0, 0xffc4, 0xffc8, 0xffcc, 0xffd0, 0xffd4, 0xffd8, 0xffdc };
4876VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffde0, 0xfffffe02, 0xfffffe24, 0xfffffe46 };
4877VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4878VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4879VECT_VAR_DECL(expected,uint,16,8) [] = { 0xbbc0, 0xc004, 0xc448, 0xc88c, 0xccd0, 0xd114, 0xd558, 0xd99c };
4880VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffface0, 0xffffb212, 0xffffb744, 0xffffbc76 };
4881VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4882VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4883VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4884VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc3b66666, 0xc3ab0000, 0xc39f9999, 0xc3943333 };
4885
4886VMUL_N output:
4887VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4888VECT_VAR_DECL(expected,int,16,4) [] = { 0xfef0, 0xff01, 0xff12, 0xff23 };
4889VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffde0, 0xfffffe02 };
4890VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4891VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4892VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfcd0, 0xfd03, 0xfd36, 0xfd69 };
4893VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffbc0, 0xfffffc04 };
4894VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4895VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4896VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4897VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc3b26666, 0xc3a74000 };
4898VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4899VECT_VAR_DECL(expected,int,16,8) [] = { 0xfab0, 0xfb05, 0xfb5a, 0xfbaf, 0xfc04, 0xfc59, 0xfcae, 0xfd03 };
4900VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffff9a0, 0xfffffa06, 0xfffffa6c, 0xfffffad2 };
4901VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4902VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4903VECT_VAR_DECL(expected,uint,16,8) [] = { 0xf890, 0xf907, 0xf97e, 0xf9f5, 0xfa6c, 0xfae3, 0xfb5a, 0xfbd1 };
4904VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffff780, 0xfffff808, 0xfffff890, 0xfffff918 };
4905VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4906VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4907VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4908VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc4b1cccd, 0xc4a6b000, 0xc49b9333, 0xc4907667 };
4909
4910VMULL_N output:
4911VECT_VAR_DECL(expected,int,32,4) [] = { 0x11000, 0x11000, 0x11000, 0x11000 };
4912VECT_VAR_DECL(expected,int,64,2) [] = { 0x22000, 0x22000 };
4913VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33000, 0x33000, 0x33000, 0x33000 };
4914VECT_VAR_DECL(expected,uint,64,2) [] = { 0x44000, 0x44000 };
4915
4916VMLA_LANE output:
4917VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4918VECT_VAR_DECL(expected,int,16,4) [] = { 0x3e07, 0x3e08, 0x3e09, 0x3e0a };
4919VECT_VAR_DECL(expected,int,32,2) [] = { 0x3e07, 0x3e08 };
4920VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4921VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4922VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3e07, 0x3e08, 0x3e09, 0x3e0a };
4923VECT_VAR_DECL(expected,uint,32,2) [] = { 0x3e07, 0x3e08 };
4924VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4925VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4926VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4927VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x4418c687, 0x44190687 };
4928VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4929VECT_VAR_DECL(expected,int,16,8) [] = { 0x3e07, 0x3e08, 0x3e09, 0x3e0a, 0x3e0b, 0x3e0c, 0x3e0d, 0x3e0e };
4930VECT_VAR_DECL(expected,int,32,4) [] = { 0x3e07, 0x3e08, 0x3e09, 0x3e0a };
4931VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4932VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4933VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3e07, 0x3e08, 0x3e09, 0x3e0a, 0x3e0b, 0x3e0c, 0x3e0d, 0x3e0e };
4934VECT_VAR_DECL(expected,uint,32,4) [] = { 0x3e07, 0x3e08, 0x3e09, 0x3e0a };
4935VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4936VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4937VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4938VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x441a3168, 0x441a7168, 0x441ab168, 0x441af168 };
4939
4940VMLS_LANE output:
4941VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4942VECT_VAR_DECL(expected,int,16,4) [] = { 0xc1d9, 0xc1da, 0xc1db, 0xc1dc };
4943VECT_VAR_DECL(expected,int,32,2) [] = { 0xffffc1d9, 0xffffc1da };
4944VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4945VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4946VECT_VAR_DECL(expected,uint,16,4) [] = { 0xc1d9, 0xc1da, 0xc1db, 0xc1dc };
4947VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffc1d9, 0xffffc1da };
4948VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4949VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4950VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4951VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc420c687, 0xc4208687 };
4952VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4953VECT_VAR_DECL(expected,int,16,8) [] = { 0xc1d9, 0xc1da, 0xc1db, 0xc1dc, 0xc1dd, 0xc1de, 0xc1df, 0xc1e0 };
4954VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffc1d9, 0xffffc1da, 0xffffc1db, 0xffffc1dc };
4955VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4956VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4957VECT_VAR_DECL(expected,uint,16,8) [] = { 0xc1d9, 0xc1da, 0xc1db, 0xc1dc, 0xc1dd, 0xc1de, 0xc1df, 0xc1e0 };
4958VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffc1d9, 0xffffc1da, 0xffffc1db, 0xffffc1dc };
4959VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4960VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4961VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4962VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc4223168, 0xc421f168, 0xc421b168, 0xc4217168 };
4963
4964VMLA_N output:
4965VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4966VECT_VAR_DECL(expected,int,16,4) [] = { 0x595, 0x596, 0x597, 0x598 };
4967VECT_VAR_DECL(expected,int,32,2) [] = { 0xb3a, 0xb3b };
4968VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4969VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4970VECT_VAR_DECL(expected,uint,16,4) [] = { 0x10df, 0x10e0, 0x10e1, 0x10e2 };
4971VECT_VAR_DECL(expected,uint,32,2) [] = { 0x1684, 0x1685 };
4972VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4973VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4974VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4975VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x4497deb8, 0x4497feb8 };
4976VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4977VECT_VAR_DECL(expected,int,16,8) [] = { 0x1c29, 0x1c2a, 0x1c2b, 0x1c2c, 0x1c2d, 0x1c2e, 0x1c2f, 0x1c30 };
4978VECT_VAR_DECL(expected,int,32,4) [] = { 0x21ce, 0x21cf, 0x21d0, 0x21d1 };
4979VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4980VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4981VECT_VAR_DECL(expected,uint,16,8) [] = { 0x2773, 0x2774, 0x2775, 0x2776, 0x2777, 0x2778, 0x2779, 0x277a };
4982VECT_VAR_DECL(expected,uint,32,4) [] = { 0x2d18, 0x2d19, 0x2d1a, 0x2d1b };
4983VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
4984VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4985VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
4986VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x4568087b, 0x4568187b, 0x4568287b, 0x4568387b };
4987
4988VMLS_N output:
4989VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4990VECT_VAR_DECL(expected,int,16,4) [] = { 0xfa4b, 0xfa4c, 0xfa4d, 0xfa4e };
4991VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffff4a6, 0xfffff4a7 };
4992VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
4993VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4994VECT_VAR_DECL(expected,uint,16,4) [] = { 0xef01, 0xef02, 0xef03, 0xef04 };
4995VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffe95c, 0xffffe95d };
4996VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
4997VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
4998VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
4999VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc49bdeb8, 0xc49bbeb8 };
5000VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5001VECT_VAR_DECL(expected,int,16,8) [] = { 0xe3b7, 0xe3b8, 0xe3b9, 0xe3ba, 0xe3bb, 0xe3bc, 0xe3bd, 0xe3be };
5002VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffde12, 0xffffde13, 0xffffde14, 0xffffde15 };
5003VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5004VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5005VECT_VAR_DECL(expected,uint,16,8) [] = { 0xd86d, 0xd86e, 0xd86f, 0xd870, 0xd871, 0xd872, 0xd873, 0xd874 };
5006VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffd2c8, 0xffffd2c9, 0xffffd2ca, 0xffffd2cb };
5007VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5008VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5009VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5010VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc56a087b, 0xc569f87b, 0xc569e87b, 0xc569d87b };
5011
5012VSLI_N output:
5013VECT_VAR_DECL(expected,int,8,8) [] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27 };
5014VECT_VAR_DECL(expected,int,16,4) [] = { 0xffe0, 0xffe1, 0xffe2, 0xffe3 };
5015VECT_VAR_DECL(expected,int,32,2) [] = { 0x6, 0x7 };
5016VECT_VAR_DECL(expected,int,64,1) [] = { 0x64fffffff0 };
5017VECT_VAR_DECL(expected,uint,8,8) [] = { 0x50, 0x51, 0x52, 0x53, 0x50, 0x51, 0x52, 0x53 };
5018VECT_VAR_DECL(expected,uint,16,4) [] = { 0x7bf0, 0x7bf1, 0x7bf2, 0x7bf3 };
5019VECT_VAR_DECL(expected,uint,32,2) [] = { 0x3ffffff0, 0x3ffffff1 };
5020VECT_VAR_DECL(expected,uint,64,1) [] = { 0x10 };
5021VECT_VAR_DECL(expected,poly,8,8) [] = { 0x50, 0x51, 0x52, 0x53, 0x50, 0x51, 0x52, 0x53 };
5022VECT_VAR_DECL(expected,poly,16,4) [] = { 0x7bf0, 0x7bf1, 0x7bf2, 0x7bf3 };
5023VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5024VECT_VAR_DECL(expected,int,8,16) [] = { 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf };
5025VECT_VAR_DECL(expected,int,16,8) [] = { 0xff60, 0xff61, 0xff62, 0xff63, 0xff64, 0xff65, 0xff66, 0xff67 };
5026VECT_VAR_DECL(expected,int,32,4) [] = { 0xfe2ffff0, 0xfe2ffff1, 0xfe2ffff2, 0xfe2ffff3 };
5027VECT_VAR_DECL(expected,int,64,2) [] = { 0x18fff0, 0x18fff1 };
5028VECT_VAR_DECL(expected,uint,8,16) [] = { 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67 };
5029VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3ff0, 0x3ff1, 0x3ff2, 0x3ff3, 0x3ff4, 0x3ff5, 0x3ff6, 0x3ff7 };
5030VECT_VAR_DECL(expected,uint,32,4) [] = { 0x1bfffff0, 0x1bfffff1, 0x1bfffff2, 0x1bfffff3 };
5031VECT_VAR_DECL(expected,uint,64,2) [] = { 0x7ffffffffffff0, 0x7ffffffffffff1 };
5032VECT_VAR_DECL(expected,poly,8,16) [] = { 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67 };
5033VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3ff0, 0x3ff1, 0x3ff2, 0x3ff3, 0x3ff4, 0x3ff5, 0x3ff6, 0x3ff7 };
5034VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5035
5036VSLI_Nmax shift amount output:
5037VECT_VAR_DECL(expected,int,8,8) [] = { 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77 };
5038VECT_VAR_DECL(expected,int,16,4) [] = { 0x7ff0, 0x7ff1, 0x7ff2, 0x7ff3 };
5039VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
5040VECT_VAR_DECL(expected,int,64,1) [] = { 0x7ffffffffffffff0 };
5041VECT_VAR_DECL(expected,uint,8,8) [] = { 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77 };
5042VECT_VAR_DECL(expected,uint,16,4) [] = { 0x7ff0, 0x7ff1, 0x7ff2, 0x7ff3 };
5043VECT_VAR_DECL(expected,uint,32,2) [] = { 0x7ffffff0, 0x7ffffff1 };
5044VECT_VAR_DECL(expected,uint,64,1) [] = { 0x7ffffffffffffff0 };
5045VECT_VAR_DECL(expected,poly,8,8) [] = { 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77 };
5046VECT_VAR_DECL(expected,poly,16,4) [] = { 0x7ff0, 0x7ff1, 0x7ff2, 0x7ff3 };
5047VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5048VECT_VAR_DECL(expected,int,8,16) [] = { 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f };
5049VECT_VAR_DECL(expected,int,16,8) [] = { 0x7ff0, 0x7ff1, 0x7ff2, 0x7ff3, 0x7ff4, 0x7ff5, 0x7ff6, 0x7ff7 };
5050VECT_VAR_DECL(expected,int,32,4) [] = { 0x7ffffff0, 0x7ffffff1, 0x7ffffff2, 0x7ffffff3 };
5051VECT_VAR_DECL(expected,int,64,2) [] = { 0x7ffffffffffffff0, 0x7ffffffffffffff1 };
5052VECT_VAR_DECL(expected,uint,8,16) [] = { 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f };
5053VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
5054VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
5055VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
5056VECT_VAR_DECL(expected,poly,8,16) [] = { 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f };
5057VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
5058VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5059
5060VSRI_N output:
5061VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
5062VECT_VAR_DECL(expected,int,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
5063VECT_VAR_DECL(expected,int,32,2) [] = { 0x80000001, 0x80000001 };
5064VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffff00000000 };
5065VECT_VAR_DECL(expected,uint,8,8) [] = { 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5 };
5066VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffc0, 0xffc0, 0xffc0, 0xffc0 };
5067VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff0 };
5068VECT_VAR_DECL(expected,uint,64,1) [] = { 0xe000000000000000 };
5069VECT_VAR_DECL(expected,poly,8,8) [] = { 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5 };
5070VECT_VAR_DECL(expected,poly,16,4) [] = { 0xffc0, 0xffc0, 0xffc0, 0xffc0 };
5071VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5072VECT_VAR_DECL(expected,int,8,16) [] = { 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
5073VECT_VAR_DECL(expected,int,16,8) [] = { 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd };
5074VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
5075VECT_VAR_DECL(expected,int,64,2) [] = { 0xffff000000000000, 0xffff000000000000 };
5076VECT_VAR_DECL(expected,uint,8,16) [] = { 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1 };
5077VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
5078VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffe00, 0xfffffe00, 0xfffffe00, 0xfffffe00 };
5079VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffff800, 0xfffffffffffff800 };
5080VECT_VAR_DECL(expected,poly,8,16) [] = { 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1 };
5081VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0 };
5082VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5083
5084VSRI_N max shift amount output:
5085VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
5086VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
5087VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
5088VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
5089VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
5090VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
5091VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
5092VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
5093VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7 };
5094VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
5095VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5096VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
5097VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
5098VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
5099VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
5100VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
5101VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
5102VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
5103VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
5104VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff };
5105VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
5106VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5107
5108VTST/VTSTQ (signed input) output:
5109VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5110VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5111VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
5112VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5113VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
5114VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0xffff, 0x0, 0xffff };
5115VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0xffffffff };
5116VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5117VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5118VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5119VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5120VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5121VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5122VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5123VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5124VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
5125VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0xffff, 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
5126VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0xffffffff, 0x0, 0xffffffff };
5127VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5128VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5129VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5130VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5131
5132VTST/VTSTQ (unsigned input) output:
5133VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5134VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5135VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
5136VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5137VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
5138VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0xffff, 0x0, 0xffff };
5139VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0xffffffff };
5140VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5141VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5142VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5143VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5144VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5145VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5146VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5147VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5148VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
5149VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0xffff, 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
5150VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0xffffffff, 0x0, 0xffffffff };
5151VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5152VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5153VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5154VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5155
5156VADDHN output:
5157VECT_VAR_DECL(expected,int,8,8) [] = { 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32 };
5158VECT_VAR_DECL(expected,int,16,4) [] = { 0x32, 0x32, 0x32, 0x32 };
5159VECT_VAR_DECL(expected,int,32,2) [] = { 0x18, 0x18 };
5160VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5161VECT_VAR_DECL(expected,uint,8,8) [] = { 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3 };
5162VECT_VAR_DECL(expected,uint,16,4) [] = { 0x37, 0x37, 0x37, 0x37 };
5163VECT_VAR_DECL(expected,uint,32,2) [] = { 0x3, 0x3 };
5164VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5165VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5166VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5167VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5168VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5169VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5170VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5171VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5172VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5173VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5174VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5175VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5176VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5177VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5178VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5179
5180VRADDHN output:
5181VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5182VECT_VAR_DECL(expected,int,16,4) [] = { 0x33, 0x33, 0x33, 0x33 };
5183VECT_VAR_DECL(expected,int,32,2) [] = { 0x19, 0x19 };
5184VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5185VECT_VAR_DECL(expected,uint,8,8) [] = { 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4 };
5186VECT_VAR_DECL(expected,uint,16,4) [] = { 0x38, 0x38, 0x38, 0x38 };
5187VECT_VAR_DECL(expected,uint,32,2) [] = { 0x4, 0x4 };
5188VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5189VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5190VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5191VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5192VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5193VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5194VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5195VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5196VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5197VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5198VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5199VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5200VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5201VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5202VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5203
5204VADDL output:
5205VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5206VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5207VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
5208VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5209VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5210VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5211VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
5212VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5213VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5214VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5215VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5216VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5217VECT_VAR_DECL(expected,int,16,8) [] = { 0xffe3, 0xffe4, 0xffe5, 0xffe6, 0xffe7, 0xffe8, 0xffe9, 0xffea };
5218VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffe2, 0xffffffe3, 0xffffffe4, 0xffffffe5 };
5219VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffffe0, 0xffffffffffffffe1 };
5220VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5221VECT_VAR_DECL(expected,uint,16,8) [] = { 0x1e3, 0x1e4, 0x1e5, 0x1e6, 0x1e7, 0x1e8, 0x1e9, 0x1ea };
5222VECT_VAR_DECL(expected,uint,32,4) [] = { 0x1ffe1, 0x1ffe2, 0x1ffe3, 0x1ffe4 };
5223VECT_VAR_DECL(expected,uint,64,2) [] = { 0x1ffffffe0, 0x1ffffffe1 };
5224VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5225VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5226VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5227
5228VADDW output:
5229VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5230VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5231VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
5232VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5233VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5234VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5235VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
5236VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5237VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5238VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5239VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5240VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5241VECT_VAR_DECL(expected,int,16,8) [] = { 0xffe3, 0xffe4, 0xffe5, 0xffe6, 0xffe7, 0xffe8, 0xffe9, 0xffea };
5242VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffe2, 0xffffffe3, 0xffffffe4, 0xffffffe5 };
5243VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffffe0, 0xffffffffffffffe1 };
5244VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5245VECT_VAR_DECL(expected,uint,16,8) [] = { 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea };
5246VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffe1, 0xffe2, 0xffe3, 0xffe4 };
5247VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffe0, 0xffffffe1 };
5248VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5249VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5250VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5251
5252VHADD/VHADDQ output:
5253VECT_VAR_DECL(expected,int,8,8) [] = { 0xf1, 0xf2, 0xf2, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5 };
5254VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff1, 0xfff1, 0xfff2, 0xfff2 };
5255VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff0 };
5256VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5257VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf1, 0xf2, 0xf2, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5 };
5258VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff1, 0xfff2 };
5259VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff0 };
5260VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5261VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5262VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5263VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5264VECT_VAR_DECL(expected,int,8,16) [] = { 0xf2, 0xf2, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5, 0xf5, 0xf6, 0xf6, 0xf7, 0xf7, 0xf8, 0xf8, 0xf9, 0xf9 };
5265VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff1, 0xfff2, 0xfff2, 0xfff3, 0xfff3, 0xfff4, 0xfff4, 0xfff5 };
5266VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff1, 0xfffffff2 };
5267VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5268VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf4, 0xf5, 0xf5, 0xf6, 0xf6, 0xf7, 0xf7, 0xf8, 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc };
5269VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff1, 0xfff1, 0xfff2, 0xfff2, 0xfff3, 0xfff3, 0xfff4, 0xfff4 };
5270VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff1, 0xfffffff2 };
5271VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5272VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5273VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5274VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5275
5276VRHADD/VRHADDQ output:
5277VECT_VAR_DECL(expected,int,8,8) [] = { 0xf2, 0xf2, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5, 0xf5 };
5278VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff1, 0xfff2, 0xfff2, 0xfff3 };
5279VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
5280VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5281VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf2, 0xf2, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5, 0xf5 };
5282VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff1, 0xfff1, 0xfff2, 0xfff2 };
5283VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
5284VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5285VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5286VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5287VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5288VECT_VAR_DECL(expected,int,8,16) [] = { 0xf2, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5, 0xf5, 0xf6, 0xf6, 0xf7, 0xf7, 0xf8, 0xf8, 0xf9, 0xf9, 0xfa };
5289VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff2, 0xfff2, 0xfff3, 0xfff3, 0xfff4, 0xfff4, 0xfff5, 0xfff5 };
5290VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff1, 0xfffffff1, 0xfffffff2, 0xfffffff2 };
5291VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5292VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf5, 0xf5, 0xf6, 0xf6, 0xf7, 0xf7, 0xf8, 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc, 0xfc };
5293VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff1, 0xfff2, 0xfff2, 0xfff3, 0xfff3, 0xfff4, 0xfff4, 0xfff5 };
5294VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff1, 0xfffffff1, 0xfffffff2, 0xfffffff2 };
5295VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5296VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5297VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5298VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5299
5300VHSUB/VHSUBQ output:
5301VECT_VAR_DECL(expected,int,8,8) [] = { 0xfe, 0xff, 0xff, 0x0, 0x0, 0x1, 0x1, 0x2 };
5302VECT_VAR_DECL(expected,int,16,4) [] = { 0xffff, 0xffff, 0x0, 0x0 };
5303VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
5304VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5305VECT_VAR_DECL(expected,uint,8,8) [] = { 0xfe, 0xff, 0xff, 0x0, 0x0, 0x1, 0x1, 0x2 };
5306VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0x0, 0x0, 0x1 };
5307VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
5308VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5309VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5310VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5311VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5312VECT_VAR_DECL(expected,int,8,16) [] = { 0xfe, 0xfe, 0xff, 0xff, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5 };
5313VECT_VAR_DECL(expected,int,16,8) [] = { 0xfffe, 0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x2 };
5314VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffff, 0x0, 0x0, 0x1 };
5315VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5316VECT_VAR_DECL(expected,uint,8,16) [] = { 0xfb, 0xfc, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2, 0x3 };
5317VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0x0, 0x0, 0x1, 0x1, 0x2, 0x2 };
5318VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0x0, 0x0, 0x1 };
5319VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5320VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5321VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5322VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5323
5324VSUBL output:
5325VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5326VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5327VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
5328VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5329VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5330VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5331VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
5332VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5333VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5334VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5335VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5336VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5337VECT_VAR_DECL(expected,int,16,8) [] = { 0xfffd, 0xfffe, 0xffff, 0x0, 0x1, 0x2, 0x3, 0x4 };
5338VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffffe, 0xffffffff, 0x0, 0x1 };
5339VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x1 };
5340VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5341VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfffd, 0xfffe, 0xffff, 0x0, 0x1, 0x2, 0x3, 0x4 };
5342VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0x0, 0x1, 0x2 };
5343VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x1 };
5344VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5345VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5346VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5347
5348VSUBW output:
5349VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5350VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5351VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
5352VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5353VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5354VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5355VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
5356VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5357VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5358VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5359VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5360VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5361VECT_VAR_DECL(expected,int,16,8) [] = { 0xfffd, 0xfffe, 0xffff, 0x0, 0x1, 0x2, 0x3, 0x4 };
5362VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffffe, 0xffffffff, 0x0, 0x1 };
5363VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x1 };
5364VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5365VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfefd, 0xfefe, 0xfeff, 0xff00, 0xff01, 0xff02, 0xff03, 0xff04 };
5366VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffeffff, 0xffff0000, 0xffff0001, 0xffff0002 };
5367VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffff00000000, 0xffffffff00000001 };
5368VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5369VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5370VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5371
5372VSUBHN output:
5373VECT_VAR_DECL(expected,int,8,8) [] = { 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 };
5374VECT_VAR_DECL(expected,int,16,4) [] = { 0x31, 0x31, 0x31, 0x31 };
5375VECT_VAR_DECL(expected,int,32,2) [] = { 0x17, 0x17 };
5376VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5377VECT_VAR_DECL(expected,uint,8,8) [] = { 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2 };
5378VECT_VAR_DECL(expected,uint,16,4) [] = { 0x36, 0x36, 0x36, 0x36 };
5379VECT_VAR_DECL(expected,uint,32,2) [] = { 0x2, 0x2 };
5380VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5381VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5382VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5383VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5384VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5385VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5386VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5387VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5388VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5389VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5390VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5391VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5392VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5393VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5394VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5395
5396VRSUBHN output:
5397VECT_VAR_DECL(expected,int,8,8) [] = { 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 };
5398VECT_VAR_DECL(expected,int,16,4) [] = { 0x31, 0x31, 0x31, 0x31 };
5399VECT_VAR_DECL(expected,int,32,2) [] = { 0x17, 0x17 };
5400VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5401VECT_VAR_DECL(expected,uint,8,8) [] = { 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2 };
5402VECT_VAR_DECL(expected,uint,16,4) [] = { 0x36, 0x36, 0x36, 0x36 };
5403VECT_VAR_DECL(expected,uint,32,2) [] = { 0x2, 0x2 };
5404VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5405VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5406VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5407VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5408VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5409VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5410VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5411VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5412VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5413VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5414VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5415VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5416VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5417VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5418VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5419
5420VMVN/VMVNQ output:
5421VECT_VAR_DECL(expected,int,8,8) [] = { 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8 };
5422VECT_VAR_DECL(expected,int,16,4) [] = { 0xf, 0xe, 0xd, 0xc };
5423VECT_VAR_DECL(expected,int,32,2) [] = { 0xf, 0xe };
5424VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5425VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8 };
5426VECT_VAR_DECL(expected,uint,16,4) [] = { 0xf, 0xe, 0xd, 0xc };
5427VECT_VAR_DECL(expected,uint,32,2) [] = { 0xf, 0xe };
5428VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5429VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8 };
5430VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5431VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5432VECT_VAR_DECL(expected,int,8,16) [] = { 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0 };
5433VECT_VAR_DECL(expected,int,16,8) [] = { 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8 };
5434VECT_VAR_DECL(expected,int,32,4) [] = { 0xf, 0xe, 0xd, 0xc };
5435VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5436VECT_VAR_DECL(expected,uint,8,16) [] = { 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0 };
5437VECT_VAR_DECL(expected,uint,16,8) [] = { 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8 };
5438VECT_VAR_DECL(expected,uint,32,4) [] = { 0xf, 0xe, 0xd, 0xc };
5439VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5440VECT_VAR_DECL(expected,poly,8,16) [] = { 0xf, 0xe, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0 };
5441VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5442VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5443int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
5444int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
5445int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
5446int VECT_VAR(expected_cumulative_sat,uint,8,8) = 0;
5447int VECT_VAR(expected_cumulative_sat,uint,16,4) = 0;
5448int VECT_VAR(expected_cumulative_sat,uint,32,2) = 0;
5449
5450VQMOVN output:
5451VECT_VAR_DECL(expected,int,8,8) [] = { 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12 };
5452VECT_VAR_DECL(expected,int,16,4) [] = { 0x1278, 0x1278, 0x1278, 0x1278 };
5453VECT_VAR_DECL(expected,int,32,2) [] = { 0x12345678, 0x12345678 };
5454VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5455VECT_VAR_DECL(expected,uint,8,8) [] = { 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 };
5456VECT_VAR_DECL(expected,uint,16,4) [] = { 0x8765, 0x8765, 0x8765, 0x8765 };
5457VECT_VAR_DECL(expected,uint,32,2) [] = { 0x87654321, 0x87654321 };
5458VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5459VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5460VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5461VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5462VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5463VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5464VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5465VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5466VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5467VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5468VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5469VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5470VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5471VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5472VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5473int VECT_VAR(expected_cumulative_sat,int,8,8) = 1;
5474int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
5475int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
5476int VECT_VAR(expected_cumulative_sat,uint,8,8) = 1;
5477int VECT_VAR(expected_cumulative_sat,uint,16,4) = 1;
5478int VECT_VAR(expected_cumulative_sat,uint,32,2) = 1;
5479
5480VQMOVN output:
5481VECT_VAR_DECL(expected,int,8,8) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
5482VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
5483VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
5484VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5485VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
5486VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
5487VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
5488VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5489VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5490VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5491VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5492VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5493VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5494VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5495VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5496VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5497VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5498VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5499VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5500VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5501VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5502VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5503int VECT_VAR(expected_cumulative_sat,uint,8,8) = 0;
5504int VECT_VAR(expected_cumulative_sat,uint,16,4) = 0;
5505int VECT_VAR(expected_cumulative_sat,uint,32,2) = 0;
5506
5507VQMOVUN output:
5508VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5509VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5510VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
5511VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5512VECT_VAR_DECL(expected,uint,8,8) [] = { 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34 };
5513VECT_VAR_DECL(expected,uint,16,4) [] = { 0x5678, 0x5678, 0x5678, 0x5678 };
5514VECT_VAR_DECL(expected,uint,32,2) [] = { 0x12345678, 0x12345678 };
5515VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5516VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5517VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5518VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5519VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5520VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5521VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5522VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5523VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5524VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5525VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5526VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5527VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5528VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5529VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5530int VECT_VAR(expected_cumulative_sat,uint,8,8) = 1;
5531int VECT_VAR(expected_cumulative_sat,uint,16,4) = 1;
5532int VECT_VAR(expected_cumulative_sat,uint,32,2) = 1;
5533
5534VQMOVUN (negative input) output:
5535VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5536VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5537VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
5538VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5539VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
5540VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
5541VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
5542VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5543VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5544VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5545VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5546VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5547VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5548VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5549VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5550VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5551VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5552VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5553VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5554VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5555VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5556VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5557
5558VRSHR_N output:
5559VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc };
5560VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
5561VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffffc, 0xfffffffc };
5562VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
5563VECT_VAR_DECL(expected,uint,8,8) [] = { 0x3c, 0x3c, 0x3d, 0x3d, 0x3d, 0x3d, 0x3e, 0x3e };
5564VECT_VAR_DECL(expected,uint,16,4) [] = { 0x1ffe, 0x1ffe, 0x1ffe, 0x1ffe };
5565VECT_VAR_DECL(expected,uint,32,2) [] = { 0x8000000, 0x8000000 };
5566VECT_VAR_DECL(expected,uint,64,1) [] = { 0x80000000 };
5567VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5568VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5569VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5570VECT_VAR_DECL(expected,int,8,16) [] = { 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0x0 };
5571VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
5572VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffffc, 0xfffffffc, 0xfffffffd, 0xfffffffd };
5573VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
5574VECT_VAR_DECL(expected,uint,8,16) [] = { 0x3c, 0x3c, 0x3d, 0x3d, 0x3d, 0x3d, 0x3e, 0x3e, 0x3e, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x40, 0x40 };
5575VECT_VAR_DECL(expected,uint,16,8) [] = { 0x1ffe, 0x1ffe, 0x1ffe, 0x1ffe, 0x1fff, 0x1fff, 0x1fff, 0x1fff };
5576VECT_VAR_DECL(expected,uint,32,4) [] = { 0x8000000, 0x8000000, 0x8000000, 0x8000000 };
5577VECT_VAR_DECL(expected,uint,64,2) [] = { 0x80000000, 0x80000000 };
5578VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5579VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5580VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5581
5582VRSHR_N (overflow test: max shift amount, positive input) output:
5583VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
5584VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
5585VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
5586VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
5587VECT_VAR_DECL(expected,uint,8,8) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5588VECT_VAR_DECL(expected,uint,16,4) [] = { 0x1, 0x1, 0x1, 0x1 };
5589VECT_VAR_DECL(expected,uint,32,2) [] = { 0x1, 0x1 };
5590VECT_VAR_DECL(expected,uint,64,1) [] = { 0x1 };
5591VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5592VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5593VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5594VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
5595VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
5596VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
5597VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
5598VECT_VAR_DECL(expected,uint,8,16) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5599VECT_VAR_DECL(expected,uint,16,8) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5600VECT_VAR_DECL(expected,uint,32,4) [] = { 0x1, 0x1, 0x1, 0x1 };
5601VECT_VAR_DECL(expected,uint,64,2) [] = { 0x1, 0x1 };
5602VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5603VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5604VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5605
5606VRSHR_N (overflow test: shift by 1, with negative input) output:
5607VECT_VAR_DECL(expected,int,8,8) [] = { 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 };
5608VECT_VAR_DECL(expected,int,16,4) [] = { 0x4000, 0x4000, 0x4000, 0x4000 };
5609VECT_VAR_DECL(expected,int,32,2) [] = { 0x40000000, 0x40000000 };
5610VECT_VAR_DECL(expected,int,64,1) [] = { 0x4000000000000000 };
5611VECT_VAR_DECL(expected,uint,8,8) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
5612VECT_VAR_DECL(expected,uint,16,4) [] = { 0x8000, 0x8000, 0x8000, 0x8000 };
5613VECT_VAR_DECL(expected,uint,32,2) [] = { 0x80000000, 0x80000000 };
5614VECT_VAR_DECL(expected,uint,64,1) [] = { 0x8000000000000000 };
5615VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5616VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5617VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5618VECT_VAR_DECL(expected,int,8,16) [] = { 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 };
5619VECT_VAR_DECL(expected,int,16,8) [] = { 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000 };
5620VECT_VAR_DECL(expected,int,32,4) [] = { 0x40000000, 0x40000000, 0x40000000, 0x40000000 };
5621VECT_VAR_DECL(expected,int,64,2) [] = { 0x4000000000000000, 0x4000000000000000 };
5622VECT_VAR_DECL(expected,uint,8,16) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
5623VECT_VAR_DECL(expected,uint,16,8) [] = { 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000 };
5624VECT_VAR_DECL(expected,uint,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
5625VECT_VAR_DECL(expected,uint,64,2) [] = { 0x8000000000000000, 0x8000000000000000 };
5626VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5627VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5628VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5629
5630VRSHR_N (overflow test: shift by 3, positive input) output:
5631VECT_VAR_DECL(expected,int,8,8) [] = { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 };
5632VECT_VAR_DECL(expected,int,16,4) [] = { 0x1000, 0x1000, 0x1000, 0x1000 };
5633VECT_VAR_DECL(expected,int,32,2) [] = { 0x10000000, 0x10000000 };
5634VECT_VAR_DECL(expected,int,64,1) [] = { 0x1000000000000000 };
5635VECT_VAR_DECL(expected,uint,8,8) [] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
5636VECT_VAR_DECL(expected,uint,16,4) [] = { 0x2000, 0x2000, 0x2000, 0x2000 };
5637VECT_VAR_DECL(expected,uint,32,2) [] = { 0x20000000, 0x20000000 };
5638VECT_VAR_DECL(expected,uint,64,1) [] = { 0x2000000000000000 };
5639VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5640VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5641VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5642VECT_VAR_DECL(expected,int,8,16) [] = { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 };
5643VECT_VAR_DECL(expected,int,16,8) [] = { 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000 };
5644VECT_VAR_DECL(expected,int,32,4) [] = { 0x10000000, 0x10000000, 0x10000000, 0x10000000 };
5645VECT_VAR_DECL(expected,int,64,2) [] = { 0x1000000000000000, 0x1000000000000000 };
5646VECT_VAR_DECL(expected,uint,8,16) [] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
5647VECT_VAR_DECL(expected,uint,16,8) [] = { 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000 };
5648VECT_VAR_DECL(expected,uint,32,4) [] = { 0x20000000, 0x20000000, 0x20000000, 0x20000000 };
5649VECT_VAR_DECL(expected,uint,64,2) [] = { 0x2000000000000000, 0x2000000000000000 };
5650VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5651VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5652VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5653
5654VRSHR_N (overflow test: shift by 1, with negative input) output:
5655VECT_VAR_DECL(expected,int,8,8) [] = { 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0 };
5656VECT_VAR_DECL(expected,int,16,4) [] = { 0xc000, 0xc000, 0xc000, 0xc000 };
5657VECT_VAR_DECL(expected,int,32,2) [] = { 0xc0000000, 0xc0000000 };
5658VECT_VAR_DECL(expected,int,64,1) [] = { 0xc000000000000000 };
5659VECT_VAR_DECL(expected,uint,8,8) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
5660VECT_VAR_DECL(expected,uint,16,4) [] = { 0x8000, 0x8000, 0x8000, 0x8000 };
5661VECT_VAR_DECL(expected,uint,32,2) [] = { 0x80000000, 0x80000000 };
5662VECT_VAR_DECL(expected,uint,64,1) [] = { 0x8000000000000000 };
5663VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5664VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5665VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5666VECT_VAR_DECL(expected,int,8,16) [] = { 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0 };
5667VECT_VAR_DECL(expected,int,16,8) [] = { 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000 };
5668VECT_VAR_DECL(expected,int,32,4) [] = { 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000 };
5669VECT_VAR_DECL(expected,int,64,2) [] = { 0xc000000000000000, 0xc000000000000000 };
5670VECT_VAR_DECL(expected,uint,8,16) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
5671VECT_VAR_DECL(expected,uint,16,8) [] = { 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000 };
5672VECT_VAR_DECL(expected,uint,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
5673VECT_VAR_DECL(expected,uint,64,2) [] = { 0x8000000000000000, 0x8000000000000000 };
5674VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5675VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5676VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5677
5678VRSHR_N (overflow test: shift by 3, with negative input) output:
5679VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
5680VECT_VAR_DECL(expected,int,16,4) [] = { 0xf000, 0xf000, 0xf000, 0xf000 };
5681VECT_VAR_DECL(expected,int,32,2) [] = { 0xf0000000, 0xf0000000 };
5682VECT_VAR_DECL(expected,int,64,1) [] = { 0xf000000000000000 };
5683VECT_VAR_DECL(expected,uint,8,8) [] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
5684VECT_VAR_DECL(expected,uint,16,4) [] = { 0x2000, 0x2000, 0x2000, 0x2000 };
5685VECT_VAR_DECL(expected,uint,32,2) [] = { 0x20000000, 0x20000000 };
5686VECT_VAR_DECL(expected,uint,64,1) [] = { 0x2000000000000000 };
5687VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5688VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5689VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5690VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
5691VECT_VAR_DECL(expected,int,16,8) [] = { 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000 };
5692VECT_VAR_DECL(expected,int,32,4) [] = { 0xf0000000, 0xf0000000, 0xf0000000, 0xf0000000 };
5693VECT_VAR_DECL(expected,int,64,2) [] = { 0xf000000000000000, 0xf000000000000000 };
5694VECT_VAR_DECL(expected,uint,8,16) [] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
5695VECT_VAR_DECL(expected,uint,16,8) [] = { 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000 };
5696VECT_VAR_DECL(expected,uint,32,4) [] = { 0x20000000, 0x20000000, 0x20000000, 0x20000000 };
5697VECT_VAR_DECL(expected,uint,64,2) [] = { 0x2000000000000000, 0x2000000000000000 };
5698VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5699VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5700VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5701
5702VRSRA_N output:
5703VECT_VAR_DECL(expected,int,8,8) [] = { 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x0 };
5704VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
5705VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffffd, 0xfffffffe };
5706VECT_VAR_DECL(expected,int,64,1) [] = { 0xfffffffffffffff0 };
5707VECT_VAR_DECL(expected,uint,8,8) [] = { 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc };
5708VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfffd, 0xfffe, 0xffff, 0x0 };
5709VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff4, 0xfffffff5 };
5710VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffff0 };
5711VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5712VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5713VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5714VECT_VAR_DECL(expected,int,8,16) [] = { 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8 };
5715VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7 };
5716VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffffd, 0xfffffffe, 0xffffffff, 0x0 };
5717VECT_VAR_DECL(expected,int,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
5718VECT_VAR_DECL(expected,uint,8,16) [] = { 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14 };
5719VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfffd, 0xfffe, 0xffff, 0x0, 0x1, 0x2, 0x3, 0x4 };
5720VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff4, 0xfffffff5, 0xfffffff6, 0xfffffff7 };
5721VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffff0, 0xfffffffffffffff1 };
5722VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5723VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5724VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5725
5726VRSRA_N (checking overflow: shift by 1, positive input) output:
5727VECT_VAR_DECL(expected,int,8,8) [] = { 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 };
5728VECT_VAR_DECL(expected,int,16,4) [] = { 0x4000, 0x4000, 0x4000, 0x4000 };
5729VECT_VAR_DECL(expected,int,32,2) [] = { 0x40000000, 0x40000000 };
5730VECT_VAR_DECL(expected,int,64,1) [] = { 0x4000000000000000 };
5731VECT_VAR_DECL(expected,uint,8,8) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
5732VECT_VAR_DECL(expected,uint,16,4) [] = { 0x8000, 0x8000, 0x8000, 0x8000 };
5733VECT_VAR_DECL(expected,uint,32,2) [] = { 0x80000000, 0x80000000 };
5734VECT_VAR_DECL(expected,uint,64,1) [] = { 0x8000000000000000 };
5735VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5736VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5737VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5738VECT_VAR_DECL(expected,int,8,16) [] = { 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 };
5739VECT_VAR_DECL(expected,int,16,8) [] = { 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000 };
5740VECT_VAR_DECL(expected,int,32,4) [] = { 0x40000000, 0x40000000, 0x40000000, 0x40000000 };
5741VECT_VAR_DECL(expected,int,64,2) [] = { 0x4000000000000000, 0x4000000000000000 };
5742VECT_VAR_DECL(expected,uint,8,16) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
5743VECT_VAR_DECL(expected,uint,16,8) [] = { 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000 };
5744VECT_VAR_DECL(expected,uint,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
5745VECT_VAR_DECL(expected,uint,64,2) [] = { 0x8000000000000000, 0x8000000000000000 };
5746VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5747VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5748VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5749
5750VRSRA_N (checking overflow: shift by 3, positive input) output:
5751VECT_VAR_DECL(expected,int,8,8) [] = { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 };
5752VECT_VAR_DECL(expected,int,16,4) [] = { 0x1000, 0x1000, 0x1000, 0x1000 };
5753VECT_VAR_DECL(expected,int,32,2) [] = { 0x10000000, 0x10000000 };
5754VECT_VAR_DECL(expected,int,64,1) [] = { 0x1000000000000000 };
5755VECT_VAR_DECL(expected,uint,8,8) [] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
5756VECT_VAR_DECL(expected,uint,16,4) [] = { 0x2000, 0x2000, 0x2000, 0x2000 };
5757VECT_VAR_DECL(expected,uint,32,2) [] = { 0x20000000, 0x20000000 };
5758VECT_VAR_DECL(expected,uint,64,1) [] = { 0x2000000000000000 };
5759VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5760VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5761VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5762VECT_VAR_DECL(expected,int,8,16) [] = { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 };
5763VECT_VAR_DECL(expected,int,16,8) [] = { 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000 };
5764VECT_VAR_DECL(expected,int,32,4) [] = { 0x10000000, 0x10000000, 0x10000000, 0x10000000 };
5765VECT_VAR_DECL(expected,int,64,2) [] = { 0x1000000000000000, 0x1000000000000000 };
5766VECT_VAR_DECL(expected,uint,8,16) [] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
5767VECT_VAR_DECL(expected,uint,16,8) [] = { 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000, 0x2000 };
5768VECT_VAR_DECL(expected,uint,32,4) [] = { 0x20000000, 0x20000000, 0x20000000, 0x20000000 };
5769VECT_VAR_DECL(expected,uint,64,2) [] = { 0x2000000000000000, 0x2000000000000000 };
5770VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5771VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5772VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5773
5774VRSRA_N (checking overflow: shift by max, positive input) output:
5775VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
5776VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
5777VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
5778VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
5779VECT_VAR_DECL(expected,uint,8,8) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5780VECT_VAR_DECL(expected,uint,16,4) [] = { 0x1, 0x1, 0x1, 0x1 };
5781VECT_VAR_DECL(expected,uint,32,2) [] = { 0x1, 0x1 };
5782VECT_VAR_DECL(expected,uint,64,1) [] = { 0x1 };
5783VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5784VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5785VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5786VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
5787VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
5788VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
5789VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
5790VECT_VAR_DECL(expected,uint,8,16) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5791VECT_VAR_DECL(expected,uint,16,8) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5792VECT_VAR_DECL(expected,uint,32,4) [] = { 0x1, 0x1, 0x1, 0x1 };
5793VECT_VAR_DECL(expected,uint,64,2) [] = { 0x1, 0x1 };
5794VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5795VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5796VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5797
5798VRSRA_N (checking overflow: shift by 1, negative input) output:
5799VECT_VAR_DECL(expected,int,8,8) [] = { 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0 };
5800VECT_VAR_DECL(expected,int,16,4) [] = { 0xc000, 0xc000, 0xc000, 0xc000 };
5801VECT_VAR_DECL(expected,int,32,2) [] = { 0xc0000000, 0xc0000000 };
5802VECT_VAR_DECL(expected,int,64,1) [] = { 0xc000000000000000 };
5803VECT_VAR_DECL(expected,uint,8,8) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5804VECT_VAR_DECL(expected,uint,16,4) [] = { 0x1, 0x1, 0x1, 0x1 };
5805VECT_VAR_DECL(expected,uint,32,2) [] = { 0x1, 0x1 };
5806VECT_VAR_DECL(expected,uint,64,1) [] = { 0x1 };
5807VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5808VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5809VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5810VECT_VAR_DECL(expected,int,8,16) [] = { 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0 };
5811VECT_VAR_DECL(expected,int,16,8) [] = { 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000, 0xc000 };
5812VECT_VAR_DECL(expected,int,32,4) [] = { 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000 };
5813VECT_VAR_DECL(expected,int,64,2) [] = { 0xc000000000000000, 0xc000000000000000 };
5814VECT_VAR_DECL(expected,uint,8,16) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5815VECT_VAR_DECL(expected,uint,16,8) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5816VECT_VAR_DECL(expected,uint,32,4) [] = { 0x1, 0x1, 0x1, 0x1 };
5817VECT_VAR_DECL(expected,uint,64,2) [] = { 0x1, 0x1 };
5818VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5819VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5820VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5821
5822VRSRA_N (checking overflow: shift by max, negative input) output:
5823VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
5824VECT_VAR_DECL(expected,int,16,4) [] = { 0xf000, 0xf000, 0xf000, 0xf000 };
5825VECT_VAR_DECL(expected,int,32,2) [] = { 0xf0000000, 0xf0000000 };
5826VECT_VAR_DECL(expected,int,64,1) [] = { 0xf000000000000000 };
5827VECT_VAR_DECL(expected,uint,8,8) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5828VECT_VAR_DECL(expected,uint,16,4) [] = { 0x1, 0x1, 0x1, 0x1 };
5829VECT_VAR_DECL(expected,uint,32,2) [] = { 0x1, 0x1 };
5830VECT_VAR_DECL(expected,uint,64,1) [] = { 0x1 };
5831VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5832VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5833VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5834VECT_VAR_DECL(expected,int,8,16) [] = { 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
5835VECT_VAR_DECL(expected,int,16,8) [] = { 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000 };
5836VECT_VAR_DECL(expected,int,32,4) [] = { 0xf0000000, 0xf0000000, 0xf0000000, 0xf0000000 };
5837VECT_VAR_DECL(expected,int,64,2) [] = { 0xf000000000000000, 0xf000000000000000 };
5838VECT_VAR_DECL(expected,uint,8,16) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5839VECT_VAR_DECL(expected,uint,16,8) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5840VECT_VAR_DECL(expected,uint,32,4) [] = { 0x1, 0x1, 0x1, 0x1 };
5841VECT_VAR_DECL(expected,uint,64,2) [] = { 0x1, 0x1 };
5842VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5843VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5844VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5845
5846VRSRA_N (checking overflow: shift by max, negative input) output:
5847VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
5848VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
5849VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
5850VECT_VAR_DECL(expected,int,64,1) [] = { 0x0 };
5851VECT_VAR_DECL(expected,uint,8,8) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5852VECT_VAR_DECL(expected,uint,16,4) [] = { 0x1, 0x1, 0x1, 0x1 };
5853VECT_VAR_DECL(expected,uint,32,2) [] = { 0x1, 0x1 };
5854VECT_VAR_DECL(expected,uint,64,1) [] = { 0x1 };
5855VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5856VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5857VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5858VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
5859VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
5860VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
5861VECT_VAR_DECL(expected,int,64,2) [] = { 0x0, 0x0 };
5862VECT_VAR_DECL(expected,uint,8,16) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5863VECT_VAR_DECL(expected,uint,16,8) [] = { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1 };
5864VECT_VAR_DECL(expected,uint,32,4) [] = { 0x1, 0x1, 0x1, 0x1 };
5865VECT_VAR_DECL(expected,uint,64,2) [] = { 0x1, 0x1 };
5866VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5867VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5868VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5869
5870VSHLL_N output:
5871VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5872VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5873VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
5874VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5875VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5876VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5877VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
5878VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5879VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5880VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5881VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5882VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5883VECT_VAR_DECL(expected,int,16,8) [] = { 0xffe0, 0xffe2, 0xffe4, 0xffe6, 0xffe8, 0xffea, 0xffec, 0xffee };
5884VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffe0, 0xffffffe2, 0xffffffe4, 0xffffffe6 };
5885VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffff80, 0xffffffffffffff88 };
5886VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5887VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3c0, 0x3c4, 0x3c8, 0x3cc, 0x3d0, 0x3d4, 0x3d8, 0x3dc };
5888VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfff00, 0xfff10, 0xfff20, 0xfff30 };
5889VECT_VAR_DECL(expected,uint,64,2) [] = { 0x7ffffff80, 0x7ffffff88 };
5890VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5891VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5892VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5893
5894VPADDL/VPADDLQ output:
5895VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5896VECT_VAR_DECL(expected,int,16,4) [] = { 0xffe1, 0xffe5, 0xffe9, 0xffed };
5897VECT_VAR_DECL(expected,int,32,2) [] = { 0xffffffe1, 0xffffffe5 };
5898VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffffe1 };
5899VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5900VECT_VAR_DECL(expected,uint,16,4) [] = { 0x1e1, 0x1e5, 0x1e9, 0x1ed };
5901VECT_VAR_DECL(expected,uint,32,2) [] = { 0x1ffe1, 0x1ffe5 };
5902VECT_VAR_DECL(expected,uint,64,1) [] = { 0x1ffffffe1 };
5903VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5904VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5905VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5906VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5907VECT_VAR_DECL(expected,int,16,8) [] = { 0xffe1, 0xffe5, 0xffe9, 0xffed, 0xfff1, 0xfff5, 0xfff9, 0xfffd };
5908VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffe1, 0xffffffe5, 0xffffffe9, 0xffffffed };
5909VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffffe1, 0xffffffffffffffe5 };
5910VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5911VECT_VAR_DECL(expected,uint,16,8) [] = { 0x1e1, 0x1e5, 0x1e9, 0x1ed, 0x1f1, 0x1f5, 0x1f9, 0x1fd };
5912VECT_VAR_DECL(expected,uint,32,4) [] = { 0x1ffe1, 0x1ffe5, 0x1ffe9, 0x1ffed };
5913VECT_VAR_DECL(expected,uint,64,2) [] = { 0x1ffffffe1, 0x1ffffffe5 };
5914VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5915VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5916VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5917
5918VPADD output:
5919VECT_VAR_DECL(expected,int,8,8) [] = { 0xe1, 0xe5, 0xe9, 0xed, 0xe1, 0xe5, 0xe9, 0xed };
5920VECT_VAR_DECL(expected,int,16,4) [] = { 0xffe1, 0xffe5, 0xffe1, 0xffe5 };
5921VECT_VAR_DECL(expected,int,32,2) [] = { 0xffffffe1, 0xffffffe1 };
5922VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5923VECT_VAR_DECL(expected,uint,8,8) [] = { 0xe1, 0xe5, 0xe9, 0xed, 0xe1, 0xe5, 0xe9, 0xed };
5924VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffe1, 0xffe5, 0xffe1, 0xffe5 };
5925VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffe1, 0xffffffe1 };
5926VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
5927VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5928VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5929VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1f80000, 0xc1f80000 };
5930VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5931VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5932VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5933VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5934VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5935VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5936VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5937VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5938VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5939VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5940VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5941
5942VPADAL/VPADALQ output:
5943VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5944VECT_VAR_DECL(expected,int,16,4) [] = { 0xffd1, 0xffd6, 0xffdb, 0xffe0 };
5945VECT_VAR_DECL(expected,int,32,2) [] = { 0xffffffd1, 0xffffffd6 };
5946VECT_VAR_DECL(expected,int,64,1) [] = { 0xffffffffffffffd1 };
5947VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5948VECT_VAR_DECL(expected,uint,16,4) [] = { 0x1d1, 0x1d6, 0x1db, 0x1e0 };
5949VECT_VAR_DECL(expected,uint,32,2) [] = { 0x1ffd1, 0x1ffd6 };
5950VECT_VAR_DECL(expected,uint,64,1) [] = { 0x1ffffffd1 };
5951VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5952VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5953VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5954VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5955VECT_VAR_DECL(expected,int,16,8) [] = { 0xffd1, 0xffd6, 0xffdb, 0xffe0, 0xffe5, 0xffea, 0xffef, 0xfff4 };
5956VECT_VAR_DECL(expected,int,32,4) [] = { 0xffffffd1, 0xffffffd6, 0xffffffdb, 0xffffffe0 };
5957VECT_VAR_DECL(expected,int,64,2) [] = { 0xffffffffffffffd1, 0xffffffffffffffd6 };
5958VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5959VECT_VAR_DECL(expected,uint,16,8) [] = { 0x1d1, 0x1d6, 0x1db, 0x1e0, 0x1e5, 0x1ea, 0x1ef, 0x1f4 };
5960VECT_VAR_DECL(expected,uint,32,4) [] = { 0x1ffd1, 0x1ffd6, 0x1ffdb, 0x1ffe0 };
5961VECT_VAR_DECL(expected,uint,64,2) [] = { 0x1ffffffd1, 0x1ffffffd6 };
5962VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5963VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5964VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5965int VECT_VAR(expected_cumulative_sat,int,8,8) = 1;
5966int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
5967int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
5968int VECT_VAR(expected_cumulative_sat,int,64,1) = 1;
5969int VECT_VAR(expected_cumulative_sat,int,8,16) = 1;
5970int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
5971int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
5972int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
5973
5974VQSHLU_N/VQSHLUQ_N (negative input) output:
5975VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5976VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5977VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
5978VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
5979VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
5980VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
5981VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
5982VECT_VAR_DECL(expected,uint,64,1) [] = { 0x0 };
5983VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5984VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
5985VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
5986VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5987VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5988VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5989VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
5990VECT_VAR_DECL(expected,uint,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
5991VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
5992VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
5993VECT_VAR_DECL(expected,uint,64,2) [] = { 0x0, 0x0 };
5994VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
5995VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
5996VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
5997int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
5998int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
5999int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
6000int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
6001int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
6002int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
6003int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
6004int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
6005
6006VQSHLU_N/VQSHLUQ_N (check cumulative saturation: shift by 1) output:
6007VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6008VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6009VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6010VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6011VECT_VAR_DECL(expected,uint,8,8) [] = { 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe };
6012VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfffe, 0xfffe, 0xfffe, 0xfffe };
6013VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffffe, 0xfffffffe };
6014VECT_VAR_DECL(expected,uint,64,1) [] = { 0xfffffffffffffffe };
6015VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6016VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6017VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6018VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6019VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6020VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6021VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6022VECT_VAR_DECL(expected,uint,8,16) [] = { 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe };
6023VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe };
6024VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffffe, 0xfffffffe, 0xfffffffe, 0xfffffffe };
6025VECT_VAR_DECL(expected,uint,64,2) [] = { 0xfffffffffffffffe, 0xfffffffffffffffe };
6026VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6027VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6028VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6029int VECT_VAR(expected_cumulative_sat,int,8,8) = 1;
6030int VECT_VAR(expected_cumulative_sat,int,16,4) = 1;
6031int VECT_VAR(expected_cumulative_sat,int,32,2) = 1;
6032int VECT_VAR(expected_cumulative_sat,int,64,1) = 1;
6033int VECT_VAR(expected_cumulative_sat,int,8,16) = 1;
6034int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
6035int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
6036int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
6037
6038VQSHLU_N/VQSHLUQ_N (check cumulative saturation: shift by 2) output:
6039VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6040VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6041VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6042VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6043VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
6044VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
6045VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
6046VECT_VAR_DECL(expected,uint,64,1) [] = { 0xffffffffffffffff };
6047VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6048VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6049VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6050VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6051VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6052VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6053VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6054VECT_VAR_DECL(expected,uint,8,16) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
6055VECT_VAR_DECL(expected,uint,16,8) [] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff };
6056VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
6057VECT_VAR_DECL(expected,uint,64,2) [] = { 0xffffffffffffffff, 0xffffffffffffffff };
6058VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6059VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6060VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6061int VECT_VAR(expected_cumulative_sat,int,8,8) = 0;
6062int VECT_VAR(expected_cumulative_sat,int,16,4) = 0;
6063int VECT_VAR(expected_cumulative_sat,int,32,2) = 0;
6064int VECT_VAR(expected_cumulative_sat,int,64,1) = 0;
6065int VECT_VAR(expected_cumulative_sat,int,8,16) = 0;
6066int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
6067int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
6068int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
6069
6070VQSHLU_N/VQSHLUQ_N output:
6071VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6072VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6073VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6074VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6075VECT_VAR_DECL(expected,uint,8,8) [] = { 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2 };
6076VECT_VAR_DECL(expected,uint,16,4) [] = { 0x8, 0x8, 0x8, 0x8 };
6077VECT_VAR_DECL(expected,uint,32,2) [] = { 0x18, 0x18 };
6078VECT_VAR_DECL(expected,uint,64,1) [] = { 0x40 };
6079VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6080VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6081VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6082VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6083VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6084VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6085VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6086VECT_VAR_DECL(expected,uint,8,16) [] = { 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0 };
6087VECT_VAR_DECL(expected,uint,16,8) [] = { 0x180, 0x180, 0x180, 0x180, 0x180, 0x180, 0x180, 0x180 };
6088VECT_VAR_DECL(expected,uint,32,4) [] = { 0x380, 0x380, 0x380, 0x380 };
6089VECT_VAR_DECL(expected,uint,64,2) [] = { 0x800, 0x800 };
6090VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6091VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6092VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6093
6094VCLZ/VCLZQ output:
6095VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6096VECT_VAR_DECL(expected,int,16,4) [] = { 0x3, 0x3, 0x3, 0x3 };
6097VECT_VAR_DECL(expected,int,32,2) [] = { 0x11, 0x11 };
6098VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6099VECT_VAR_DECL(expected,uint,8,8) [] = { 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2 };
6100VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6101VECT_VAR_DECL(expected,uint,32,2) [] = { 0x5, 0x5 };
6102VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6103VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6104VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6105VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6106VECT_VAR_DECL(expected,int,8,16) [] = { 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2 };
6107VECT_VAR_DECL(expected,int,16,8) [] = { 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3 };
6108VECT_VAR_DECL(expected,int,32,4) [] = { 0x3, 0x3, 0x3, 0x3 };
6109VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6110VECT_VAR_DECL(expected,uint,8,16) [] = { 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3 };
6111VECT_VAR_DECL(expected,uint,16,8) [] = { 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd };
6112VECT_VAR_DECL(expected,uint,32,4) [] = { 0x1f, 0x1f, 0x1f, 0x1f };
6113VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6114VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6115VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6116VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6117
6118VCLZ/VCLZQ (input=0) output:
6119VECT_VAR_DECL(expected,int,8,8) [] = { 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8 };
6120VECT_VAR_DECL(expected,int,16,4) [] = { 0x10, 0x10, 0x10, 0x10 };
6121VECT_VAR_DECL(expected,int,32,2) [] = { 0x20, 0x20 };
6122VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6123VECT_VAR_DECL(expected,uint,8,8) [] = { 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8 };
6124VECT_VAR_DECL(expected,uint,16,4) [] = { 0x10, 0x10, 0x10, 0x10 };
6125VECT_VAR_DECL(expected,uint,32,2) [] = { 0x20, 0x20 };
6126VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6127VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6128VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6129VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6130VECT_VAR_DECL(expected,int,8,16) [] = { 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8 };
6131VECT_VAR_DECL(expected,int,16,8) [] = { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 };
6132VECT_VAR_DECL(expected,int,32,4) [] = { 0x20, 0x20, 0x20, 0x20 };
6133VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6134VECT_VAR_DECL(expected,uint,8,16) [] = { 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8 };
6135VECT_VAR_DECL(expected,uint,16,8) [] = { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 };
6136VECT_VAR_DECL(expected,uint,32,4) [] = { 0x20, 0x20, 0x20, 0x20 };
6137VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6138VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6139VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6140VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6141
6142VCLS/VCLSQ (positive input) output:
6143VECT_VAR_DECL(expected,int,8,8) [] = { 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6 };
6144VECT_VAR_DECL(expected,int,16,4) [] = { 0x2, 0x2, 0x2, 0x2 };
6145VECT_VAR_DECL(expected,int,32,2) [] = { 0x19, 0x19 };
6146VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6147VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6148VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6149VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
6150VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6151VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6152VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6153VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6154VECT_VAR_DECL(expected,int,8,16) [] = { 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7 };
6155VECT_VAR_DECL(expected,int,16,8) [] = { 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2 };
6156VECT_VAR_DECL(expected,int,32,4) [] = { 0x14, 0x14, 0x14, 0x14 };
6157VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6158VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6159VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6160VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6161VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6162VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6163VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6164VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6165
6166VCLS/VCLSQ (negative input) output:
6167VECT_VAR_DECL(expected,int,8,8) [] = { 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7 };
6168VECT_VAR_DECL(expected,int,16,4) [] = { 0x1, 0x1, 0x1, 0x1 };
6169VECT_VAR_DECL(expected,int,32,2) [] = { 0x1, 0x1 };
6170VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6171VECT_VAR_DECL(expected,uint,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6172VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6173VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
6174VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6175VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6176VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6177VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6178VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6179VECT_VAR_DECL(expected,int,16,8) [] = { 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2 };
6180VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6181VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6182VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6183VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6184VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6185VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6186VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6187VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6188VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6189
6190VCNT/VCNTQ output:
6191VECT_VAR_DECL(expected,int,8,8) [] = { 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8 };
6192VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6193VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6194VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6195VECT_VAR_DECL(expected,uint,8,8) [] = { 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4 };
6196VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6197VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
6198VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6199VECT_VAR_DECL(expected,poly,8,8) [] = { 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4 };
6200VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6201VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6202VECT_VAR_DECL(expected,int,8,16) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6203VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6204VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6205VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6206VECT_VAR_DECL(expected,uint,8,16) [] = { 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6 };
6207VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6208VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6209VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6210VECT_VAR_DECL(expected,poly,8,16) [] = { 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6 };
6211VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6212VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6213int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
6214int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
6215int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
6216int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
6217int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
6218int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
6219
6220VQSHRN_N output:
6221VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb };
6222VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff8, 0xfff8, 0xfff9, 0xfff9 };
6223VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffffc, 0xfffffffc };
6224VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6225VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
6226VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
6227VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
6228VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6229VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6230VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6231VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6232VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6233VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6234VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6235VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6236VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6237VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6238VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6239VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6240VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6241VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6242VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6243int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
6244int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
6245int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
6246int VECT_VAR(expected_cumulative_sat,uint,16,8) = 1;
6247int VECT_VAR(expected_cumulative_sat,uint,32,4) = 1;
6248int VECT_VAR(expected_cumulative_sat,uint,64,2) = 1;
6249
6250VQSHRN_N (check saturation: shift by 3) output:
6251VECT_VAR_DECL(expected,int,8,8) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
6252VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
6253VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
6254VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6255VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
6256VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
6257VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
6258VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6259VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6260VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6261VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6262VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6263VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6264VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6265VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6266VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6267VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6268VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6269VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6270VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6271VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6272VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6273int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
6274int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
6275int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
6276int VECT_VAR(expected_cumulative_sat,uint,16,8) = 0;
6277int VECT_VAR(expected_cumulative_sat,uint,32,4) = 0;
6278int VECT_VAR(expected_cumulative_sat,uint,64,2) = 0;
6279
6280VQSHRN_N (check saturation: shift by max) output:
6281VECT_VAR_DECL(expected,int,8,8) [] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f };
6282VECT_VAR_DECL(expected,int,16,4) [] = { 0x7fff, 0x7fff, 0x7fff, 0x7fff };
6283VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
6284VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6285VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
6286VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
6287VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
6288VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6289VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6290VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6291VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6292VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6293VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6294VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6295VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6296VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6297VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6298VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6299VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6300VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6301VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6302VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6303
6304VPMAX output:
6305VECT_VAR_DECL(expected,int,8,8) [] = { 0xf1, 0xf3, 0xf5, 0xf7, 0xf1, 0xf3, 0xf5, 0xf7 };
6306VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff1, 0xfff3, 0xfff1, 0xfff3 };
6307VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff1, 0xfffffff1 };
6308VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6309VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf1, 0xf3, 0xf5, 0xf7, 0xf1, 0xf3, 0xf5, 0xf7 };
6310VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff1, 0xfff3, 0xfff1, 0xfff3 };
6311VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff1, 0xfffffff1 };
6312VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6313VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6314VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6315VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1700000, 0xc1700000 };
6316VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6317VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6318VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6319VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6320VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6321VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6322VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6323VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6324VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6325VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6326VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6327
6328VPMIN output:
6329VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf2, 0xf4, 0xf6, 0xf0, 0xf2, 0xf4, 0xf6 };
6330VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff2, 0xfff0, 0xfff2 };
6331VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff0 };
6332VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6333VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf2, 0xf4, 0xf6, 0xf0, 0xf2, 0xf4, 0xf6 };
6334VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff2, 0xfff0, 0xfff2 };
6335VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff0 };
6336VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6337VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6338VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6339VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1800000 };
6340VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6341VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6342VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6343VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6344VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6345VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6346VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6347VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6348VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6349VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6350VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6351int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
6352int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
6353int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
6354
6355VQSHRUN_N (negative input) output:
6356VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6357VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6358VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6359VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6360VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6361VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6362VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
6363VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6364VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6365VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6366VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6367VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6368VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6369VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6370VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6371VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6372VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6373VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6374VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6375VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6376VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6377VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6378int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
6379int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
6380int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
6381
6382VQSHRUN_N (check cumulative saturation) output:
6383VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6384VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6385VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6386VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6387VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
6388VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
6389VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
6390VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6391VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6392VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6393VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6394VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6395VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6396VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6397VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6398VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6399VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6400VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6401VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6402VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6403VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6404VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6405int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
6406int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
6407int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
6408
6409VQSHRUN_N output:
6410VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6411VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6412VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6413VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6414VECT_VAR_DECL(expected,uint,8,8) [] = { 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48 };
6415VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6416VECT_VAR_DECL(expected,uint,32,2) [] = { 0xdeadbe, 0xdeadbe };
6417VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6418VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6419VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6420VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6421VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6422VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6423VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6424VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6425VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6426VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6427VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6428VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6429VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6430VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6431VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6432int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
6433int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
6434int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
6435
6436VQRSHRUN_N (negative input) output:
6437VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6438VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6439VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6440VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6441VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6442VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6443VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
6444VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6445VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6446VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6447VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6448VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6449VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6450VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6451VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6452VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6453VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6454VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6455VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6456VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6457VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6458VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6459int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
6460int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
6461int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
6462
6463VQRSHRUN_N (check cumulative saturation: shift by 1) output:
6464VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6465VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6466VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6467VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6468VECT_VAR_DECL(expected,uint,8,8) [] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
6469VECT_VAR_DECL(expected,uint,16,4) [] = { 0xffff, 0xffff, 0xffff, 0xffff };
6470VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
6471VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6472VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6473VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6474VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6475VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6476VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6477VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6478VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6479VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6480VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6481VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6482VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6483VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6484VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6485VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6486int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
6487int VECT_VAR(expected_cumulative_sat,int,32,4) = 0;
6488int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
6489
6490VQRSHRUN_N (check cumulative saturation: shift by max, positive input) output:
6491VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6492VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6493VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6494VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6495VECT_VAR_DECL(expected,uint,8,8) [] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
6496VECT_VAR_DECL(expected,uint,16,4) [] = { 0x8000, 0x8000, 0x8000, 0x8000 };
6497VECT_VAR_DECL(expected,uint,32,2) [] = { 0x80000000, 0x80000000 };
6498VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6499VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6500VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6501VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6502VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6503VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6504VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6505VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6506VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6507VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6508VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6509VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6510VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6511VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6512VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6513int VECT_VAR(expected_cumulative_sat,int,16,8) = 1;
6514int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
6515int VECT_VAR(expected_cumulative_sat,int,64,2) = 1;
6516
6517VQRSHRUN_N (check cumulative saturation: shift by max, negative input) output:
6518VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6519VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6520VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6521VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6522VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6523VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6524VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
6525VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6526VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6527VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6528VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6529VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6530VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6531VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6532VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6533VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6534VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6535VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6536VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6537VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6538VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6539VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6540int VECT_VAR(expected_cumulative_sat,int,16,8) = 0;
6541int VECT_VAR(expected_cumulative_sat,int,32,4) = 1;
6542int VECT_VAR(expected_cumulative_sat,int,64,2) = 0;
6543
6544VQRSHRUN_N output:
6545VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6546VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6547VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6548VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6549VECT_VAR_DECL(expected,uint,8,8) [] = { 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49 };
6550VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6551VECT_VAR_DECL(expected,uint,32,2) [] = { 0xdeadbf, 0xdeadbf };
6552VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6553VECT_VAR_DECL(expected,poly,8,8) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6554VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6555VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6556VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6557VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6558VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6559VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6560VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6561VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6562VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6563VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6564VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6565VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6566VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6567
6568VST2_LANE/VST2Q_LANE chunk 0 output:
6569VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6570VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0x0, 0x0 };
6571VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
6572VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6573VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6574VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0x0, 0x0 };
6575VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
6576VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6577VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6578VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0x0, 0x0 };
6579VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
6580VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6581VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6582VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0x0, 0x0 };
6583VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6584VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6585VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6586VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0x0, 0x0 };
6587VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6588VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6589VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6590VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0x0, 0x0 };
6591
6592VST2_LANE/VST2Q_LANE chunk 1 output:
6593VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6594VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6595VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
6596VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6597VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6598VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6599VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
6600VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6601VECT_VAR_DECL(expected,poly,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6602VECT_VAR_DECL(expected,poly,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6603VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x0, 0x0 };
6604VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6605VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6606VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6607VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6608VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6609VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6610VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6611VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6612VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6613VECT_VAR_DECL(expected,poly,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6614VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6615
6616VST3_LANE/VST3Q_LANE chunk 0 output:
6617VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0 };
6618VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0x0 };
6619VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
6620VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6621VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0 };
6622VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0x0 };
6623VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
6624VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6625VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0 };
6626VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0x0 };
6627VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
6628VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6629VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0x0, 0x0, 0x0, 0x0, 0x0 };
6630VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0x0 };
6631VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6632VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6633VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0x0, 0x0, 0x0, 0x0, 0x0 };
6634VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0x0 };
6635VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6636VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6637VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0x0, 0x0, 0x0, 0x0, 0x0 };
6638VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0xc1600000, 0x0 };
6639
6640VST3_LANE/VST3Q_LANE chunk 1 output:
6641VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6642VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6643VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff2, 0x0 };
6644VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6645VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6646VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6647VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff2, 0x0 };
6648VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6649VECT_VAR_DECL(expected,poly,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6650VECT_VAR_DECL(expected,poly,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6651VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1600000, 0x0 };
6652VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6653VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6654VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6655VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6656VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6657VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6658VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6659VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6660VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6661VECT_VAR_DECL(expected,poly,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6662VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6663
6664VST3_LANE/VST3Q_LANE chunk 2 output:
6665VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6666VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6667VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
6668VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6669VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6670VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6671VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
6672VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6673VECT_VAR_DECL(expected,poly,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6674VECT_VAR_DECL(expected,poly,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6675VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x0, 0x0 };
6676VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6677VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6678VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6679VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6680VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6681VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6682VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6683VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6684VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6685VECT_VAR_DECL(expected,poly,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6686VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6687
6688VST4_LANE/VST4Q_LANE chunk 0 output:
6689VECT_VAR_DECL(expected,int,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0x0, 0x0, 0x0, 0x0 };
6690VECT_VAR_DECL(expected,int,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
6691VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff0, 0xfffffff1 };
6692VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6693VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0x0, 0x0, 0x0, 0x0 };
6694VECT_VAR_DECL(expected,uint,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
6695VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff0, 0xfffffff1 };
6696VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6697VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf0, 0xf1, 0xf2, 0xf3, 0x0, 0x0, 0x0, 0x0 };
6698VECT_VAR_DECL(expected,poly,16,4) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3 };
6699VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
6700VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6701VECT_VAR_DECL(expected,int,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0x0, 0x0, 0x0, 0x0 };
6702VECT_VAR_DECL(expected,int,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
6703VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6704VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6705VECT_VAR_DECL(expected,uint,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0x0, 0x0, 0x0, 0x0 };
6706VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfffffff0, 0xfffffff1, 0xfffffff2, 0xfffffff3 };
6707VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6708VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6709VECT_VAR_DECL(expected,poly,16,8) [] = { 0xfff0, 0xfff1, 0xfff2, 0xfff3, 0x0, 0x0, 0x0, 0x0 };
6710VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0xc1600000, 0xc1500000 };
6711
6712VST4_LANE/VST4Q_LANE chunk 1 output:
6713VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6714VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6715VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff2, 0xfffffff3 };
6716VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6717VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6718VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6719VECT_VAR_DECL(expected,uint,32,2) [] = { 0xfffffff2, 0xfffffff3 };
6720VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6721VECT_VAR_DECL(expected,poly,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6722VECT_VAR_DECL(expected,poly,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6723VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1600000, 0xc1500000 };
6724VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6725VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6726VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6727VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6728VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6729VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6730VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6731VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6732VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6733VECT_VAR_DECL(expected,poly,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6734VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6735
6736VST4_LANE/VST4Q_LANE chunk 2 output:
6737VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6738VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6739VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
6740VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6741VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6742VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6743VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
6744VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6745VECT_VAR_DECL(expected,poly,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6746VECT_VAR_DECL(expected,poly,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6747VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x0, 0x0 };
6748VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6749VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6750VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6751VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6752VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6753VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6754VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6755VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6756VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6757VECT_VAR_DECL(expected,poly,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6758VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6759
6760VST4_LANE/VST4Q_LANE chunk 3 output:
6761VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6762VECT_VAR_DECL(expected,int,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6763VECT_VAR_DECL(expected,int,32,2) [] = { 0x0, 0x0 };
6764VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6765VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6766VECT_VAR_DECL(expected,uint,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6767VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
6768VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6769VECT_VAR_DECL(expected,poly,8,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6770VECT_VAR_DECL(expected,poly,16,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6771VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x0, 0x0 };
6772VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6773VECT_VAR_DECL(expected,int,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6774VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6775VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6776VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6777VECT_VAR_DECL(expected,uint,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6778VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6779VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6780VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6781VECT_VAR_DECL(expected,poly,16,8) [] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
6782VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6783
6784VTBL1 output:
6785VECT_VAR_DECL(expected,int,8,8) [] = { 0x0, 0xf2, 0xf2, 0xf2, 0x0, 0x0, 0xf2, 0xf2 };
6786VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6787VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6788VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6789VECT_VAR_DECL(expected,uint,8,8) [] = { 0x0, 0xf3, 0xf3, 0xf3, 0x0, 0x0, 0xf3, 0xf3 };
6790VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6791VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
6792VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6793VECT_VAR_DECL(expected,poly,8,8) [] = { 0x0, 0xf3, 0xf3, 0xf3, 0x0, 0x0, 0xf3, 0xf3 };
6794VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6795VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6796VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6797VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6798VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6799VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6800VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6801VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6802VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6803VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6804VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6805VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6806VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6807
6808VTBL2 output:
6809VECT_VAR_DECL(expected,int,8,8) [] = { 0xf6, 0xf3, 0xf3, 0xf3, 0x0, 0x0, 0xf3, 0xf3 };
6810VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6811VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6812VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6813VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf6, 0xf5, 0xf5, 0xf5, 0x0, 0x0, 0xf5, 0xf5 };
6814VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6815VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
6816VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6817VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf6, 0xf5, 0xf5, 0xf5, 0x0, 0x0, 0xf5, 0xf5 };
6818VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6819VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6820VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6821VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6822VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6823VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6824VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6825VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6826VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6827VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6828VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6829VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6830VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6831
6832VTBL3 output:
6833VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf4, 0xf4, 0xf4, 0xff, 0x0, 0xf4, 0xf4 };
6834VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6835VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6836VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6837VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf8, 0xf7, 0xf7, 0xf7, 0xff, 0x0, 0xf7, 0xf7 };
6838VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6839VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
6840VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6841VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf8, 0xf7, 0xf7, 0xf7, 0xff, 0x0, 0xf7, 0xf7 };
6842VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6843VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6844VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6845VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6846VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6847VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6848VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6849VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6850VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6851VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6852VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6853VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6854VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6855
6856VTBL4 output:
6857VECT_VAR_DECL(expected,int,8,8) [] = { 0xfa, 0xf5, 0xf5, 0xf5, 0x3, 0x0, 0xf5, 0xf5 };
6858VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6859VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6860VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6861VECT_VAR_DECL(expected,uint,8,8) [] = { 0xfa, 0xf9, 0xf9, 0xf9, 0x3, 0x0, 0xf9, 0xf9 };
6862VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6863VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
6864VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6865VECT_VAR_DECL(expected,poly,8,8) [] = { 0xfa, 0xf9, 0xf9, 0xf9, 0x3, 0x0, 0xf9, 0xf9 };
6866VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6867VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6868VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6869VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6870VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6871VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6872VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6873VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6874VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6875VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6876VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6877VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6878VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6879
6880VTBX1 output:
6881VECT_VAR_DECL(expected,int,8,8) [] = { 0x33, 0xf2, 0xf2, 0xf2, 0x33, 0x33, 0xf2, 0xf2 };
6882VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6883VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6884VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6885VECT_VAR_DECL(expected,uint,8,8) [] = { 0xcc, 0xf3, 0xf3, 0xf3, 0xcc, 0xcc, 0xf3, 0xf3 };
6886VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6887VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
6888VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6889VECT_VAR_DECL(expected,poly,8,8) [] = { 0xcc, 0xf3, 0xf3, 0xf3, 0xcc, 0xcc, 0xf3, 0xf3 };
6890VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6891VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6892VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6893VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6894VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6895VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6896VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6897VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6898VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6899VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6900VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6901VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6902VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6903
6904VTBX2 output:
6905VECT_VAR_DECL(expected,int,8,8) [] = { 0xf6, 0xf3, 0xf3, 0xf3, 0x33, 0x33, 0xf3, 0xf3 };
6906VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6907VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6908VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6909VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf6, 0xf5, 0xf5, 0xf5, 0xcc, 0xcc, 0xf5, 0xf5 };
6910VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6911VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
6912VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6913VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf6, 0xf5, 0xf5, 0xf5, 0xcc, 0xcc, 0xf5, 0xf5 };
6914VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6915VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6916VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6917VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6918VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6919VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6920VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6921VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6922VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6923VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6924VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6925VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6926VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6927
6928VTBX3 output:
6929VECT_VAR_DECL(expected,int,8,8) [] = { 0xf8, 0xf4, 0xf4, 0xf4, 0xff, 0x33, 0xf4, 0xf4 };
6930VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6931VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6932VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6933VECT_VAR_DECL(expected,uint,8,8) [] = { 0xf8, 0xf7, 0xf7, 0xf7, 0xff, 0xcc, 0xf7, 0xf7 };
6934VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6935VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
6936VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6937VECT_VAR_DECL(expected,poly,8,8) [] = { 0xf8, 0xf7, 0xf7, 0xf7, 0xff, 0xcc, 0xf7, 0xf7 };
6938VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6939VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6940VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6941VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6942VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6943VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6944VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6945VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6946VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6947VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6948VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6949VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6950VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6951
6952VTBX4 output:
6953VECT_VAR_DECL(expected,int,8,8) [] = { 0xfa, 0xf5, 0xf5, 0xf5, 0x3, 0x33, 0xf5, 0xf5 };
6954VECT_VAR_DECL(expected,int,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6955VECT_VAR_DECL(expected,int,32,2) [] = { 0x33333333, 0x33333333 };
6956VECT_VAR_DECL(expected,int,64,1) [] = { 0x3333333333333333 };
6957VECT_VAR_DECL(expected,uint,8,8) [] = { 0xfa, 0xf9, 0xf9, 0xf9, 0x3, 0xcc, 0xf9, 0xf9 };
6958VECT_VAR_DECL(expected,uint,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6959VECT_VAR_DECL(expected,uint,32,2) [] = { 0x33333333, 0x33333333 };
6960VECT_VAR_DECL(expected,uint,64,1) [] = { 0x3333333333333333 };
6961VECT_VAR_DECL(expected,poly,8,8) [] = { 0xfa, 0xf9, 0xf9, 0xf9, 0x3, 0xcc, 0xf9, 0xf9 };
6962VECT_VAR_DECL(expected,poly,16,4) [] = { 0x3333, 0x3333, 0x3333, 0x3333 };
6963VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x33333333, 0x33333333 };
6964VECT_VAR_DECL(expected,int,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6965VECT_VAR_DECL(expected,int,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6966VECT_VAR_DECL(expected,int,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6967VECT_VAR_DECL(expected,int,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6968VECT_VAR_DECL(expected,uint,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6969VECT_VAR_DECL(expected,uint,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6970VECT_VAR_DECL(expected,uint,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6971VECT_VAR_DECL(expected,uint,64,2) [] = { 0x3333333333333333, 0x3333333333333333 };
6972VECT_VAR_DECL(expected,poly,8,16) [] = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 };
6973VECT_VAR_DECL(expected,poly,16,8) [] = { 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333, 0x3333 };
6974VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x33333333, 0x33333333, 0x33333333, 0x33333333 };
6975VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
6976VECT_VAR_DECL(expected,uint,32,4) [] = { 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 };
6977VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x3f068000, 0x3f068000 };
6978VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x3c030000, 0x3c030000, 0x3c030000, 0x3c030000 };
6979VECT_VAR_DECL(expected,uint,32,2) [] = { 0x80000000, 0x80000000 };
6980VECT_VAR_DECL(expected,uint,32,4) [] = { 0xee800000, 0xee800000, 0xee800000, 0xee800000 };
6981VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xbdcc8000, 0xbdcc8000 };
6982VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xbc030000, 0xbc030000, 0xbc030000, 0xbc030000 };
6983VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x7fc00000, 0x7fc00000 };
6984VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6985VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x7f800000, 0x7f800000 };
6986VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
6987VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xff800000, 0xff800000 };
6988VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
6989VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x80000000, 0x80000000 };
6990
6991VRSQRTE/VRSQRTEQ output:
6992VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
6993VECT_VAR_DECL(expected,uint,32,4) [] = { 0x9c800000, 0x9c800000, 0x9c800000, 0x9c800000 };
6994VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x3e498000, 0x3e498000 };
6995VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x3e700000, 0x3e700000, 0x3e700000, 0x3e700000 };
6996VECT_VAR_DECL(expected,uint,32,2) [] = { 0x80000000, 0x80000000 };
6997VECT_VAR_DECL(expected,uint,32,4) [] = { 0xae800000, 0xae800000, 0xae800000, 0xae800000 };
6998VECT_VAR_DECL(expected,uint,32,2) [] = { 0xb4800000, 0xb4800000 };
6999VECT_VAR_DECL(expected,uint,32,4) [] = { 0xed000000, 0xed000000, 0xed000000, 0xed000000 };
7000VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x7fc00000, 0x7fc00000 };
7001VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 };
7002VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x7fc00000, 0x7fc00000 };
7003VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
7004VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xff800000, 0xff800000 };
7005VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x7fc00000, 0x7fc00000, 0x7fc00000, 0x7fc00000 };
7006
7007VCAGE/VCAGEQ output:
7008VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0x0 };
7009VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0x0 };
7010
7011VCAGE/VCAGEQ output:
7012VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
7013VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
7014
7015VCALE/VCALEQ output:
7016VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
7017VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0xffffffff, 0xffffffff };
7018
7019VCALE/VCALEQ output:
7020VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
7021VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
7022
7023VCAGT/VCAGTQ output:
7024VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
7025VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0x0, 0x0 };
7026
7027VCAGT/VCAGTQ output:
7028VECT_VAR_DECL(expected,uint,32,2) [] = { 0xffffffff, 0xffffffff };
7029VECT_VAR_DECL(expected,uint,32,4) [] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
7030
7031VCALT/VCALTQ output:
7032VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0xffffffff };
7033VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0xffffffff };
7034
7035VCALT/VCALTQ output:
7036VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x0 };
7037VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x0, 0x0 };
7038
7039VCVT/VCVTQ output:
7040VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc1800000, 0xc1700000 };
7041VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x4f800000, 0x4f800000 };
Christophe Lyonf91ba872014-07-11 13:05:38 +02007042VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1800000, 0xc1700000, 0xc1600000, 0xc1500000 };
7043VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000 };
7044VECT_VAR_DECL(expected,int,32,2) [] = { 0xfffffff1, 0x5 };
7045VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x5 };
7046VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0xf, 0xfffffff1 };
7047VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0xf, 0x0 };
7048
7049VCVT_N/VCVTQ_N output:
7050VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc0800000, 0xc0700000 };
7051VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x4c000000, 0x4c000000 };
7052VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xb2800000, 0xb2700000, 0xb2600000, 0xb2500000 };
7053VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x49800000, 0x49800000, 0x49800000, 0x49800000 };
7054VECT_VAR_DECL(expected,int,32,2) [] = { 0xff0b3333, 0x54cccd };
7055VECT_VAR_DECL(expected,uint,32,2) [] = { 0x0, 0x15 };
7056VECT_VAR_DECL(expected,int,32,4) [] = { 0x0, 0x0, 0x1e3d7, 0xfffe1c29 };
7057VECT_VAR_DECL(expected,uint,32,4) [] = { 0x0, 0x0, 0x1e, 0x0 };
7058VECT_VAR_DECL(expected,int,32,2) [] = { 0xa, 0xa };
7059VECT_VAR_DECL(expected,uint,32,2) [] = { 0xa, 0xa };
7060VECT_VAR_DECL(expected,int,32,4) [] = { 0x7d, 0x7d, 0x7d, 0x7d };
7061VECT_VAR_DECL(expected,uint,32,4) [] = { 0x7d, 0x7d, 0x7d, 0x7d };
7062VECT_VAR_DECL(expected,int,32,2) [] = { 0xa66666, 0xa66666 };
7063VECT_VAR_DECL(expected,uint,32,2) [] = { 0xa66666, 0xa66666 };
7064VECT_VAR_DECL(expected,int,32,4) [] = { 0xfbccc, 0xfbccc, 0xfbccc, 0xfbccc };
7065VECT_VAR_DECL(expected,uint,32,4) [] = { 0xfbccc, 0xfbccc, 0xfbccc, 0xfbccc };
7066VECT_VAR_DECL(expected,int,32,2) [] = { 0x7fffffff, 0x7fffffff };
7067VECT_VAR_DECL(expected,int,32,4) [] = { 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff };
Christophe Lyonf91ba872014-07-11 13:05:38 +02007068
7069VRECPS/VRECPSQ output:
7070VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc2e19eb7, 0xc2e19eb7 };
7071VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc1db851f, 0xc1db851f, 0xc1db851f, 0xc1db851f };
7072VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x7fc00000, 0x7fc00000 };
7073VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x7fc00000, 0x7fc00000, 0x7fc00000, 0x7fc00000 };
7074VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xff800000, 0xff800000 };
7075VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x40000000, 0x40000000, 0x40000000, 0x40000000 };
7076VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x40000000, 0x40000000 };
7077VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x40000000, 0x40000000, 0x40000000, 0x40000000 };
7078
7079VRSQRTS/VRSQRTSQ output:
7080VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xc2796b84, 0xc2796b84 };
7081VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0xc0e4a3d8, 0xc0e4a3d8, 0xc0e4a3d8, 0xc0e4a3d8 };
7082VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x7fc00000, 0x7fc00000 };
7083VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x7fc00000, 0x7fc00000, 0x7fc00000, 0x7fc00000 };
7084VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0xff800000, 0xff800000 };
7085VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000 };
7086VECT_VAR_DECL(expected,hfloat,32,2) [] = { 0x3fc00000, 0x3fc00000 };
7087VECT_VAR_DECL(expected,hfloat,32,4) [] = { 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000 };