1 #include <stdio.h>
2 
3 unsigned long long data[32] = {
4    0x0000000000000000ull, 0x0000000000000000ull,
5    0xffffffffffffffffull, 0xffffffffffffffffull,
6    0x0000000080000000ull, 0x8000000000000000ull,
7    0x8000800080008000ull, 0x7fff7fff7fff7fffull,
8    0x8080808080808080ull, 0x8080808080808080ull,
9    0x7070707070707070ull, 0x7070707070707070ull,
10    0x7f7f7f7f7f7f7f7full, 0x7f7f7f7f7f7f7f7full,
11    0x0706050403020100ull, 0x0f0e0d0c0b0a0908ull,
12    0x77665544332211ffull, 0xeeddccbbaa998877ull,
13    0x0000000000000001ull, 0x00000000000001ffull,
14    0x0000000000000001ull, 0x00000000000000ffull,
15    0xffffffffffffffffull, 0x0000000000000000ull,
16    0x0000000100000001ull, 0x0000000100000001ull,
17    0x1234567890abcdefull, 0xfedbca9876543210ull,
18    0x0403020114131211ull, 0x2423222134333231ull,
19    0x8483828194939291ull, 0xa4a3a2a1b4b3b2b1ull,
20 };
21 
22 unsigned long long out[2];
23 
24 #define TEST_3R(instruction, offset1, offset2, WD, WS, WT)             \
25 {                                                                      \
26    __asm__ volatile (                                                  \
27       ".set push;\n\t"                                                 \
28       ".set noreorder;\n\t"                                            \
29       "move $t0, %0\n\t"                                               \
30       "ld.d $"#WD", "#offset1"($t0)\n\t"                               \
31       "xori.b $"#WD", $"#WD", 0xff\n\t"                                \
32       "ld.d $"#WS", "#offset1"($t0)\n\t"                               \
33       "ld.d $"#WT", "#offset2"($t0)\n\t"                               \
34       instruction" $"#WD", $"#WS", $"#WT"\n\t"                         \
35       "move $t0, %1\n\t"                                               \
36       "st.d $"#WD", 0($t0)\n\t"                                        \
37       ".set pop;\n\t"                                                  \
38       :                                                                \
39       : "r" (data), "r" (out)                                          \
40       : "t0", "memory"                                                 \
41    );                                                                  \
42    printf(instruction" $"#WD", $"#WS", $"#WT" "#WD":"                  \
43           " %016llx%016llx  "#WS": %016llx%016llx  "#WT": "            \
44           "%016llx%016llx\n", out[1], out[0], data[offset1 / 8 + 1],   \
45           data[offset1 / 8], data[offset2 / 8 + 1], data[offset2 / 8]);\
46 }
47 
48 #define TEST_BIT(instruction, offset, WD, WS, n)                       \
49 {                                                                      \
50    __asm__ volatile (                                                  \
51       ".set push;\n\t"                                                 \
52       ".set noreorder;\n\t"                                            \
53       "move $t0, %0\n\t"                                               \
54       "ld.d $"#WD", "#offset"($t0)\n\t"                                \
55       "xori.b $"#WD", $"#WD", 0xff\n\t"                                \
56       "ld.d $"#WS", "#offset"($t0)\n\t"                                \
57       instruction" $"#WD", $"#WS", "#n"\n\t"                           \
58       "move $t0, %1\n\t"                                               \
59       "st.d $"#WD", 0($t0)\n\t"                                        \
60       ".set pop;\n\t"                                                  \
61       :                                                                \
62       : "r" (data), "r" (out)                                          \
63       : "t0", "memory"                                                 \
64    );                                                                  \
65    printf(instruction" $"#WD", $"#WS", "#n" "#WD":"                    \
66           " %016llx%016llx  "#WS": %016llx%016llx\n",                  \
67           out[1], out[0], data[offset / 8 + 1], data[offset / 8]);     \
68 }
69 
70 #define TEST_I5(instruction, offset, WD, WS, imm)                      \
71 {                                                                      \
72    __asm__ volatile (                                                  \
73       ".set push;\n\t"                                                 \
74       ".set noreorder;\n\t"                                            \
75       "move $t0, %0\n\t"                                               \
76       "ld.d $"#WD", "#offset"($t0)\n\t"                                \
77       "xori.b $"#WD", $"#WD", 0xff\n\t"                                \
78       "ld.d $"#WS", "#offset"($t0)\n\t"                                \
79       instruction" $"#WD", $"#WS", "#imm"\n\t"                         \
80       "move $t0, %1\n\t"                                               \
81       "st.d $"#WD", 0($t0)\n\t"                                        \
82       ".set pop;\n\t"                                                  \
83       :                                                                \
84       : "r" (data), "r" (out)                                          \
85       : "t0", "memory"                                                 \
86    );                                                                  \
87    printf(instruction" $"#WD", $"#WS", "#imm" "#WD":"                  \
88           " %016llx%016llx  "#WS": %016llx%016llx\n",                  \
89           out[1], out[0], data[offset / 8 + 1], data[offset / 8]);     \
90 }
91 
main(int argc,char ** argv)92 int main(int argc, char **argv) {
93 #if defined(__mips_msa)
94    TEST_3R("add_a.b",   0, 144, w0,  w0,  w8);
95    TEST_3R("add_a.b",   8, 144, w1,  w0,  w27);
96    TEST_3R("add_a.b",  16,  64, w2,  w11, w19);
97    TEST_3R("add_a.b",  24,  88, w3,  w10, w9);
98    TEST_3R("add_a.b",  32,  24, w4,  w19, w16);
99    TEST_3R("add_a.b",  40, 216, w5,  w6,  w29);
100    TEST_3R("add_a.b",  48, 104, w6,  w9,  w11);
101    TEST_3R("add_a.b",  56, 112, w7,  w7,  w7);
102    TEST_3R("add_a.b",  64, 192, w8,  w6,  w1);
103    TEST_3R("add_a.b",  72,  80, w9,  w8,  w9);
104    TEST_3R("add_a.b",  80, 216, w10, w18, w22);
105    TEST_3R("add_a.b",  88,  56, w11, w9,  w22);
106    TEST_3R("add_a.b",  96, 232, w12, w14, w1);
107    TEST_3R("add_a.b", 104,  32, w13, w4,  w11);
108    TEST_3R("add_a.b", 112, 168, w14, w2,  w2);
109    TEST_3R("add_a.b", 120,  48, w15, w5,  w14);
110    TEST_3R("add_a.b", 128,   8, w16, w2,  w6);
111    TEST_3R("add_a.b", 136,  64, w17, w11, w13);
112    TEST_3R("add_a.b", 144, 104, w18, w21, w0);
113    TEST_3R("add_a.b", 152, 224, w19, w22, w21);
114    TEST_3R("add_a.b", 160,  64, w20, w30, w10);
115    TEST_3R("add_a.b", 168, 176, w21, w20, w7);
116    TEST_3R("add_a.b", 176,  56, w22, w10, w31);
117    TEST_3R("add_a.b", 184, 160, w23, w11, w19);
118    TEST_3R("add_a.b", 192,  96, w24, w0,  w21);
119    TEST_3R("add_a.b", 200, 152, w25, w5,  w3);
120    TEST_3R("add_a.b", 208,  32, w26, w7,  w10);
121    TEST_3R("add_a.b", 216, 216, w27, w18, w23);
122    TEST_3R("add_a.b", 224,  80, w28, w8,  w23);
123    TEST_3R("add_a.b", 232,  72, w29, w30, w13);
124    TEST_3R("add_a.b", 240,  16, w30, w29, w23);
125    TEST_3R("add_a.b", 232, 200, w31, w17, w28);
126    TEST_3R("add_a.h",   0,  72, w0,  w0,  w7);
127    TEST_3R("add_a.h",   8,  88, w1,  w18, w30);
128    TEST_3R("add_a.h",  16, 104, w2,  w7,  w18);
129    TEST_3R("add_a.h",  24, 208, w3,  w11, w21);
130    TEST_3R("add_a.h",  32, 184, w4,  w13, w8);
131    TEST_3R("add_a.h",  40,   8, w5,  w16, w3);
132    TEST_3R("add_a.h",  48,  80, w6,  w14, w16);
133    TEST_3R("add_a.h",  56, 200, w7,  w7,  w7);
134    TEST_3R("add_a.h",  64, 112, w8,  w3,  w29);
135    TEST_3R("add_a.h",  72, 216, w9,  w20, w9);
136    TEST_3R("add_a.h",  80,  96, w10, w5,  w19);
137    TEST_3R("add_a.h",  88, 136, w11, w15, w6);
138    TEST_3R("add_a.h",  96, 160, w12, w24, w13);
139    TEST_3R("add_a.h", 104,  88, w13, w7,  w24);
140    TEST_3R("add_a.h", 112, 232, w14, w28, w28);
141    TEST_3R("add_a.h", 120,  56, w15, w9,  w4);
142    TEST_3R("add_a.h", 128, 152, w16, w15, w20);
143    TEST_3R("add_a.h", 136,  56, w17, w8,  w3);
144    TEST_3R("add_a.h", 144,  96, w18, w27, w14);
145    TEST_3R("add_a.h", 152, 216, w19, w30, w11);
146    TEST_3R("add_a.h", 160, 176, w20, w18, w4);
147    TEST_3R("add_a.h", 168, 216, w21, w5,  w17);
148    TEST_3R("add_a.h", 176,  72, w22, w3,  w9);
149    TEST_3R("add_a.h", 184,  96, w23, w20, w16);
150    TEST_3R("add_a.h", 192,  88, w24, w16, w13);
151    TEST_3R("add_a.h", 200, 152, w25, w26, w17);
152    TEST_3R("add_a.h", 208, 176, w26, w9,  w6);
153    TEST_3R("add_a.h", 216,   0, w27, w17, w9);
154    TEST_3R("add_a.h", 224, 104, w28, w12, w23);
155    TEST_3R("add_a.h", 232, 192, w29, w10, w3);
156    TEST_3R("add_a.h", 240,   0, w30, w28, w7);
157    TEST_3R("add_a.h",  56, 200, w31, w2,  w12);
158    TEST_3R("add_a.w",   0, 144, w0,  w0,  w16);
159    TEST_3R("add_a.w",   8,  64, w1,  w6,  w4);
160    TEST_3R("add_a.w",  16,  72, w2,  w24, w21);
161    TEST_3R("add_a.w",  24,  64, w3,  w23, w15);
162    TEST_3R("add_a.w",  32,  80, w4,  w15, w24);
163    TEST_3R("add_a.w",  40,  40, w5,  w9,  w15);
164    TEST_3R("add_a.w",  48,  16, w6,  w22, w7);
165    TEST_3R("add_a.w",  56, 224, w7,  w7,  w7);
166    TEST_3R("add_a.w",  64, 104, w8,  w10, w21);
167    TEST_3R("add_a.w",  72,  88, w9,  w17, w9);
168    TEST_3R("add_a.w",  80, 160, w10, w31, w30);
169    TEST_3R("add_a.w",  88,  64, w11, w12, w14);
170    TEST_3R("add_a.w",  96, 136, w12, w19, w18);
171    TEST_3R("add_a.w", 104,  80, w13, w11, w7);
172    TEST_3R("add_a.w", 112, 160, w14, w2,  w2);
173    TEST_3R("add_a.w", 120, 104, w15, w23, w17);
174    TEST_3R("add_a.w", 128,  56, w16, w30, w22);
175    TEST_3R("add_a.w", 136, 184, w17, w13, w30);
176    TEST_3R("add_a.w", 144,  40, w18, w20, w31);
177    TEST_3R("add_a.w", 152, 152, w19, w30, w20);
178    TEST_3R("add_a.w", 160, 216, w20, w16, w1);
179    TEST_3R("add_a.w", 168,  88, w21, w14, w23);
180    TEST_3R("add_a.w", 176,   8, w22, w27, w10);
181    TEST_3R("add_a.w", 184, 144, w23, w3,  w21);
182    TEST_3R("add_a.w", 192,  72, w24, w26, w23);
183    TEST_3R("add_a.w", 200,  56, w25, w18, w8);
184    TEST_3R("add_a.w", 208, 112, w26, w16, w31);
185    TEST_3R("add_a.w", 216, 176, w27, w29, w1);
186    TEST_3R("add_a.w", 224, 112, w28, w15, w16);
187    TEST_3R("add_a.w", 232,  16, w29, w27, w0);
188    TEST_3R("add_a.w", 240, 208, w30, w5,  w14);
189    TEST_3R("add_a.w", 160, 112, w31, w28, w10);
190    TEST_3R("add_a.d",   0,  16, w0,  w0,  w25);
191    TEST_3R("add_a.d",   8,  16, w1,  w27, w15);
192    TEST_3R("add_a.d",  16,  32, w2,  w18, w27);
193    TEST_3R("add_a.d",  24, 144, w3,  w27, w22);
194    TEST_3R("add_a.d",  32,  96, w4,  w26, w9);
195    TEST_3R("add_a.d",  40,  32, w5,  w23, w10);
196    TEST_3R("add_a.d",  48, 112, w6,  w20, w26);
197    TEST_3R("add_a.d",  56, 112, w7,  w7,  w7);
198    TEST_3R("add_a.d",  64, 128, w8,  w21, w3);
199    TEST_3R("add_a.d",  72,  32, w9,  w26, w9);
200    TEST_3R("add_a.d",  80,  24, w10, w30, w23);
201    TEST_3R("add_a.d",  88, 144, w11, w1,  w29);
202    TEST_3R("add_a.d",  96, 176, w12, w8,  w25);
203    TEST_3R("add_a.d", 104,  48, w13, w9,  w11);
204    TEST_3R("add_a.d", 112,  96, w14, w28, w28);
205    TEST_3R("add_a.d", 120,   0, w15, w22, w31);
206    TEST_3R("add_a.d", 128, 200, w16, w0,  w31);
207    TEST_3R("add_a.d", 136, 200, w17, w10, w18);
208    TEST_3R("add_a.d", 144,  80, w18, w4,  w21);
209    TEST_3R("add_a.d", 152,  88, w19, w25, w24);
210    TEST_3R("add_a.d", 160, 168, w20, w10, w6);
211    TEST_3R("add_a.d", 168,  88, w21, w7,  w8);
212    TEST_3R("add_a.d", 176, 128, w22, w28, w16);
213    TEST_3R("add_a.d", 184, 184, w23, w1,  w25);
214    TEST_3R("add_a.d", 192,  48, w24, w1,  w21);
215    TEST_3R("add_a.d", 200, 160, w25, w23, w20);
216    TEST_3R("add_a.d", 208, 120, w26, w23, w19);
217    TEST_3R("add_a.d", 216,  88, w27, w2,  w5);
218    TEST_3R("add_a.d", 224,  40, w28, w6,  w26);
219    TEST_3R("add_a.d", 232,   0, w29, w0,  w19);
220    TEST_3R("add_a.d", 240, 176, w30, w20, w29);
221    TEST_3R("add_a.d",   8, 224, w31, w4,  w7);
222    TEST_3R("adds_a.b",   0,  40, w0,  w3,  w29);
223    TEST_3R("adds_a.b",   8, 200, w1,  w26, w17);
224    TEST_3R("adds_a.b",  16, 192, w2,  w2,  w18);
225    TEST_3R("adds_a.b",  24,  72, w3,  w9,  w20);
226    TEST_3R("adds_a.b",  32, 128, w4,  w1,  w26);
227    TEST_3R("adds_a.b",  40,   8, w5,  w10, w26);
228    TEST_3R("adds_a.b",  48,  96, w6,  w27, w14);
229    TEST_3R("adds_a.b",  56,  56, w7,  w19, w13);
230    TEST_3R("adds_a.b",  64,  80, w8,  w18, w8);
231    TEST_3R("adds_a.b",  72,  40, w9,  w9,  w9);
232    TEST_3R("adds_a.b",  80,  88, w10, w2,  w30);
233    TEST_3R("adds_a.b",  88, 144, w11, w10, w20);
234    TEST_3R("adds_a.b",  96, 168, w12, w8,  w29);
235    TEST_3R("adds_a.b", 104,  40, w13, w25, w27);
236    TEST_3R("adds_a.b", 112, 224, w14, w30, w4);
237    TEST_3R("adds_a.b", 120,  40, w15, w9,  w6);
238    TEST_3R("adds_a.b", 128, 128, w16, w14, w21);
239    TEST_3R("adds_a.b", 136, 104, w17, w12, w4);
240    TEST_3R("adds_a.b", 144, 160, w18, w31, w17);
241    TEST_3R("adds_a.b", 152,  80, w19, w17, w6);
242    TEST_3R("adds_a.b", 160, 168, w20, w19, w4);
243    TEST_3R("adds_a.b", 168,  72, w21, w30, w24);
244    TEST_3R("adds_a.b", 176, 128, w22, w6,  w6);
245    TEST_3R("adds_a.b", 184,  32, w23, w8,  w31);
246    TEST_3R("adds_a.b", 192, 128, w24, w20, w30);
247    TEST_3R("adds_a.b", 200, 152, w25, w21, w7);
248    TEST_3R("adds_a.b", 208, 136, w26, w16, w21);
249    TEST_3R("adds_a.b", 216,  56, w27, w5,  w24);
250    TEST_3R("adds_a.b", 224, 136, w28, w22, w23);
251    TEST_3R("adds_a.b", 232,  64, w29, w12, w8);
252    TEST_3R("adds_a.b", 240,  24, w30, w28, w6);
253    TEST_3R("adds_a.b", 160, 208, w31, w26, w30);
254    TEST_3R("adds_a.h",   0,  88, w0,  w20, w31);
255    TEST_3R("adds_a.h",   8,  72, w1,  w5,  w20);
256    TEST_3R("adds_a.h",  16, 152, w2,  w2,  w27);
257    TEST_3R("adds_a.h",  24, 200, w3,  w4,  w22);
258    TEST_3R("adds_a.h",  32, 216, w4,  w25, w2);
259    TEST_3R("adds_a.h",  40, 152, w5,  w20, w26);
260    TEST_3R("adds_a.h",  48,  48, w6,  w11, w17);
261    TEST_3R("adds_a.h",  56, 224, w7,  w23, w26);
262    TEST_3R("adds_a.h",  64, 176, w8,  w19, w8);
263    TEST_3R("adds_a.h",  72, 232, w9,  w9,  w9);
264    TEST_3R("adds_a.h",  80, 200, w10, w29, w16);
265    TEST_3R("adds_a.h",  88, 168, w11, w21, w16);
266    TEST_3R("adds_a.h",  96,  64, w12, w20, w15);
267    TEST_3R("adds_a.h", 104, 112, w13, w8,  w30);
268    TEST_3R("adds_a.h", 112, 184, w14, w17, w20);
269    TEST_3R("adds_a.h", 120,  40, w15, w11, w23);
270    TEST_3R("adds_a.h", 128, 192, w16, w31, w17);
271    TEST_3R("adds_a.h", 136,   0, w17, w10, w3);
272    TEST_3R("adds_a.h", 144, 104, w18, w1,  w29);
273    TEST_3R("adds_a.h", 152, 160, w19, w21, w3);
274    TEST_3R("adds_a.h", 160,  16, w20, w3,  w12);
275    TEST_3R("adds_a.h", 168,  88, w21, w19, w9);
276    TEST_3R("adds_a.h", 176,  40, w22, w2,  w2);
277    TEST_3R("adds_a.h", 184, 120, w23, w4,  w15);
278    TEST_3R("adds_a.h", 192,   8, w24, w22, w1);
279    TEST_3R("adds_a.h", 200, 208, w25, w0,  w12);
280    TEST_3R("adds_a.h", 208,  64, w26, w9,  w11);
281    TEST_3R("adds_a.h", 216, 200, w27, w26, w22);
282    TEST_3R("adds_a.h", 224, 208, w28, w14, w23);
283    TEST_3R("adds_a.h", 232, 168, w29, w7,  w12);
284    TEST_3R("adds_a.h", 240, 120, w30, w10, w31);
285    TEST_3R("adds_a.h",  72, 112, w31, w22, w6);
286    TEST_3R("adds_a.w",   0, 120, w0,  w2,  w19);
287    TEST_3R("adds_a.w",   8, 112, w1,  w7,  w2);
288    TEST_3R("adds_a.w",  16,  48, w2,  w2,  w29);
289    TEST_3R("adds_a.w",  24,  56, w3,  w21, w29);
290    TEST_3R("adds_a.w",  32,   8, w4,  w11, w7);
291    TEST_3R("adds_a.w",  40,   0, w5,  w19, w1);
292    TEST_3R("adds_a.w",  48, 152, w6,  w29, w16);
293    TEST_3R("adds_a.w",  56,  96, w7,  w5,  w23);
294    TEST_3R("adds_a.w",  64, 112, w8,  w31, w8);
295    TEST_3R("adds_a.w",  72, 208, w9,  w9,  w9);
296    TEST_3R("adds_a.w",  80,  88, w10, w29, w23);
297    TEST_3R("adds_a.w",  88,  56, w11, w13, w22);
298    TEST_3R("adds_a.w",  96, 192, w12, w0,  w2);
299    TEST_3R("adds_a.w", 104, 128, w13, w3,  w25);
300    TEST_3R("adds_a.w", 112,  80, w14, w6,  w30);
301    TEST_3R("adds_a.w", 120, 208, w15, w26, w5);
302    TEST_3R("adds_a.w", 128,  80, w16, w13, w7);
303    TEST_3R("adds_a.w", 136, 232, w17, w10, w23);
304    TEST_3R("adds_a.w", 144,  88, w18, w15, w14);
305    TEST_3R("adds_a.w", 152,  96, w19, w15, w12);
306    TEST_3R("adds_a.w", 160, 136, w20, w14, w25);
307    TEST_3R("adds_a.w", 168, 168, w21, w11, w26);
308    TEST_3R("adds_a.w", 176,  72, w22, w15, w15);
309    TEST_3R("adds_a.w", 184,  96, w23, w24, w16);
310    TEST_3R("adds_a.w", 192,  56, w24, w6,  w14);
311    TEST_3R("adds_a.w", 200,  24, w25, w0,  w20);
312    TEST_3R("adds_a.w", 208, 216, w26, w13, w27);
313    TEST_3R("adds_a.w", 216, 208, w27, w24, w18);
314    TEST_3R("adds_a.w", 224, 176, w28, w7,  w0);
315    TEST_3R("adds_a.w", 232, 232, w29, w22, w15);
316    TEST_3R("adds_a.w", 240, 136, w30, w2,  w21);
317    TEST_3R("adds_a.w", 192, 208, w31, w28, w17);
318    TEST_3R("adds_a.d",   0,  32, w0,  w16, w18);
319    TEST_3R("adds_a.d",   8,   0, w1,  w8,  w2);
320    TEST_3R("adds_a.d",  16,   0, w2,  w2,  w15);
321    TEST_3R("adds_a.d",  24, 160, w3,  w16, w15);
322    TEST_3R("adds_a.d",  32, 184, w4,  w26, w29);
323    TEST_3R("adds_a.d",  40, 192, w5,  w7,  w21);
324    TEST_3R("adds_a.d",  48, 224, w6,  w30, w28);
325    TEST_3R("adds_a.d",  56, 160, w7,  w20, w19);
326    TEST_3R("adds_a.d",  64,   0, w8,  w30, w8);
327    TEST_3R("adds_a.d",  72, 192, w9,  w9,  w9);
328    TEST_3R("adds_a.d",  80, 128, w10, w22, w17);
329    TEST_3R("adds_a.d",  88,   0, w11, w25, w7);
330    TEST_3R("adds_a.d",  96, 192, w12, w11, w26);
331    TEST_3R("adds_a.d", 104,  88, w13, w17, w15);
332    TEST_3R("adds_a.d", 112, 128, w14, w1,  w30);
333    TEST_3R("adds_a.d", 120,  16, w15, w27, w2);
334    TEST_3R("adds_a.d", 128,   8, w16, w19, w0);
335    TEST_3R("adds_a.d", 136,  32, w17, w5,  w21);
336    TEST_3R("adds_a.d", 144,  32, w18, w5,  w19);
337    TEST_3R("adds_a.d", 152, 112, w19, w27, w10);
338    TEST_3R("adds_a.d", 160,  24, w20, w2,  w3);
339    TEST_3R("adds_a.d", 168,  88, w21, w25, w15);
340    TEST_3R("adds_a.d", 176,  88, w22, w25, w25);
341    TEST_3R("adds_a.d", 184,  56, w23, w26, w8);
342    TEST_3R("adds_a.d", 192,  56, w24, w27, w7);
343    TEST_3R("adds_a.d", 200, 120, w25, w22, w2);
344    TEST_3R("adds_a.d", 208, 144, w26, w25, w19);
345    TEST_3R("adds_a.d", 216,  16, w27, w25, w0);
346    TEST_3R("adds_a.d", 224,  56, w28, w14, w0);
347    TEST_3R("adds_a.d", 232, 168, w29, w2,  w21);
348    TEST_3R("adds_a.d", 240, 168, w30, w12, w28);
349    TEST_3R("adds_a.d",  40,  48, w31, w15, w11);
350    TEST_3R("adds_s.b",   0, 184, w0,  w21, w9);
351    TEST_3R("adds_s.b",   8,  72, w1,  w18, w31);
352    TEST_3R("adds_s.b",  16, 192, w2,  w17, w24);
353    TEST_3R("adds_s.b",  24,  80, w3,  w4,  w18);
354    TEST_3R("adds_s.b",  32,   0, w4,  w27, w0);
355    TEST_3R("adds_s.b",  40,  64, w5,  w24, w2);
356    TEST_3R("adds_s.b",  48,   0, w6,  w16, w14);
357    TEST_3R("adds_s.b",  56,  88, w7,  w10, w30);
358    TEST_3R("adds_s.b",  64, 144, w8,  w30, w28);
359    TEST_3R("adds_s.b",  72, 112, w9,  w11, w23);
360    TEST_3R("adds_s.b",  80, 232, w10, w0,  w13);
361    TEST_3R("adds_s.b",  88, 232, w11, w29, w31);
362    TEST_3R("adds_s.b",  96,   0, w12, w28, w17);
363    TEST_3R("adds_s.b", 104, 176, w13, w13, w14);
364    TEST_3R("adds_s.b", 112, 128, w14, w4,  w4);
365    TEST_3R("adds_s.b", 120,   0, w15, w16, w4);
366    TEST_3R("adds_s.b", 128, 184, w16, w9,  w7);
367    TEST_3R("adds_s.b", 136, 184, w17, w25, w21);
368    TEST_3R("adds_s.b", 144, 152, w18, w4,  w19);
369    TEST_3R("adds_s.b", 152,  56, w19, w2,  w16);
370    TEST_3R("adds_s.b", 160, 136, w20, w20, w20);
371    TEST_3R("adds_s.b", 168, 216, w21, w7,  w0);
372    TEST_3R("adds_s.b", 176, 232, w22, w20, w26);
373    TEST_3R("adds_s.b", 184,  48, w23, w20, w6);
374    TEST_3R("adds_s.b", 192, 232, w24, w6,  w20);
375    TEST_3R("adds_s.b", 200, 216, w25, w10, w20);
376    TEST_3R("adds_s.b", 208, 176, w26, w14, w6);
377    TEST_3R("adds_s.b", 216,  64, w27, w21, w27);
378    TEST_3R("adds_s.b", 224,   8, w28, w13, w11);
379    TEST_3R("adds_s.b", 232, 168, w29, w17, w30);
380    TEST_3R("adds_s.b", 240, 104, w30, w19, w14);
381    TEST_3R("adds_s.b", 104, 152, w31, w0,  w22);
382    TEST_3R("adds_s.h",   0, 104, w0,  w10, w20);
383    TEST_3R("adds_s.h",   8, 168, w1,  w30, w8);
384    TEST_3R("adds_s.h",  16,  48, w2,  w3,  w14);
385    TEST_3R("adds_s.h",  24,  48, w3,  w29, w24);
386    TEST_3R("adds_s.h",  32,  40, w4,  w8,  w7);
387    TEST_3R("adds_s.h",  40, 104, w5,  w27, w28);
388    TEST_3R("adds_s.h",  48, 120, w6,  w8,  w7);
389    TEST_3R("adds_s.h",  56, 160, w7,  w25, w6);
390    TEST_3R("adds_s.h",  64,  24, w8,  w12, w20);
391    TEST_3R("adds_s.h",  72,  56, w9,  w12, w10);
392    TEST_3R("adds_s.h",  80, 120, w10, w26, w21);
393    TEST_3R("adds_s.h",  88,  96, w11, w18, w19);
394    TEST_3R("adds_s.h",  96, 224, w12, w16, w23);
395    TEST_3R("adds_s.h", 104, 176, w13, w13, w3);
396    TEST_3R("adds_s.h", 112,  56, w14, w13, w13);
397    TEST_3R("adds_s.h", 120, 104, w15, w28, w20);
398    TEST_3R("adds_s.h", 128,  80, w16, w24, w7);
399    TEST_3R("adds_s.h", 136,   8, w17, w24, w18);
400    TEST_3R("adds_s.h", 144,  48, w18, w30, w8);
401    TEST_3R("adds_s.h", 152, 112, w19, w18, w23);
402    TEST_3R("adds_s.h", 160,  88, w20, w20, w20);
403    TEST_3R("adds_s.h", 168,  96, w21, w0,  w13);
404    TEST_3R("adds_s.h", 176, 208, w22, w29, w31);
405    TEST_3R("adds_s.h", 184, 120, w23, w3,  w15);
406    TEST_3R("adds_s.h", 192, 112, w24, w19, w17);
407    TEST_3R("adds_s.h", 200, 200, w25, w30, w13);
408    TEST_3R("adds_s.h", 208,  24, w26, w23, w5);
409    TEST_3R("adds_s.h", 216, 176, w27, w30, w27);
410    TEST_3R("adds_s.h", 224,  64, w28, w1,  w16);
411    TEST_3R("adds_s.h", 232, 112, w29, w31, w24);
412    TEST_3R("adds_s.h", 240, 104, w30, w18, w15);
413    TEST_3R("adds_s.h", 200, 224, w31, w15, w6);
414    TEST_3R("adds_s.w",   0,  32, w0,  w5,  w6);
415    TEST_3R("adds_s.w",   8, 200, w1,  w21, w3);
416    TEST_3R("adds_s.w",  16, 184, w2,  w8,  w20);
417    TEST_3R("adds_s.w",  24,  16, w3,  w6,  w1);
418    TEST_3R("adds_s.w",  32,  48, w4,  w29, w7);
419    TEST_3R("adds_s.w",  40,   0, w5,  w27, w13);
420    TEST_3R("adds_s.w",  48, 224, w6,  w11, w13);
421    TEST_3R("adds_s.w",  56,  16, w7,  w4,  w19);
422    TEST_3R("adds_s.w",  64,  32, w8,  w19, w13);
423    TEST_3R("adds_s.w",  72,  16, w9,  w3,  w19);
424    TEST_3R("adds_s.w",  80,  88, w10, w16, w25);
425    TEST_3R("adds_s.w",  88, 152, w11, w0,  w14);
426    TEST_3R("adds_s.w",  96, 160, w12, w9,  w22);
427    TEST_3R("adds_s.w", 104, 216, w13, w13, w22);
428    TEST_3R("adds_s.w", 112, 104, w14, w18, w18);
429    TEST_3R("adds_s.w", 120, 160, w15, w25, w13);
430    TEST_3R("adds_s.w", 128, 232, w16, w6,  w30);
431    TEST_3R("adds_s.w", 136,  64, w17, w19, w15);
432    TEST_3R("adds_s.w", 144, 144, w18, w6,  w23);
433    TEST_3R("adds_s.w", 152, 208, w19, w4,  w26);
434    TEST_3R("adds_s.w", 160, 176, w20, w20, w20);
435    TEST_3R("adds_s.w", 168, 144, w21, w10, w0);
436    TEST_3R("adds_s.w", 176,  56, w22, w10, w14);
437    TEST_3R("adds_s.w", 184,  88, w23, w19, w4);
438    TEST_3R("adds_s.w", 192, 128, w24, w10, w0);
439    TEST_3R("adds_s.w", 200,  64, w25, w7,  w9);
440    TEST_3R("adds_s.w", 208, 208, w26, w13, w15);
441    TEST_3R("adds_s.w", 216, 176, w27, w12, w27);
442    TEST_3R("adds_s.w", 224, 136, w28, w2,  w16);
443    TEST_3R("adds_s.w", 232, 152, w29, w20, w7);
444    TEST_3R("adds_s.w", 240, 128, w30, w25, w1);
445    TEST_3R("adds_s.w", 112, 112, w31, w16, w11);
446    TEST_3R("adds_s.d",   0,  40, w0,  w21, w17);
447    TEST_3R("adds_s.d",   8, 136, w1,  w9,  w21);
448    TEST_3R("adds_s.d",  16,  24, w2,  w19, w21);
449    TEST_3R("adds_s.d",  24,  32, w3,  w26, w14);
450    TEST_3R("adds_s.d",  32, 208, w4,  w14, w27);
451    TEST_3R("adds_s.d",  40,  16, w5,  w0,  w7);
452    TEST_3R("adds_s.d",  48,  24, w6,  w2,  w23);
453    TEST_3R("adds_s.d",  56, 184, w7,  w23, w30);
454    TEST_3R("adds_s.d",  64,  72, w8,  w16, w31);
455    TEST_3R("adds_s.d",  72,  64, w9,  w0,  w10);
456    TEST_3R("adds_s.d",  80,  16, w10, w2,  w0);
457    TEST_3R("adds_s.d",  88,  96, w11, w17, w9);
458    TEST_3R("adds_s.d",  96,  56, w12, w30, w28);
459    TEST_3R("adds_s.d", 104,   0, w13, w13, w27);
460    TEST_3R("adds_s.d", 112, 176, w14, w10, w10);
461    TEST_3R("adds_s.d", 120,  16, w15, w4,  w5);
462    TEST_3R("adds_s.d", 128, 152, w16, w4,  w13);
463    TEST_3R("adds_s.d", 136, 184, w17, w7,  w4);
464    TEST_3R("adds_s.d", 144, 136, w18, w30, w3);
465    TEST_3R("adds_s.d", 152,  80, w19, w14, w2);
466    TEST_3R("adds_s.d", 160,  24, w20, w20, w20);
467    TEST_3R("adds_s.d", 168,  80, w21, w13, w8);
468    TEST_3R("adds_s.d", 176, 176, w22, w13, w26);
469    TEST_3R("adds_s.d", 184,  40, w23, w22, w2);
470    TEST_3R("adds_s.d", 192, 184, w24, w18, w30);
471    TEST_3R("adds_s.d", 200, 120, w25, w8,  w9);
472    TEST_3R("adds_s.d", 208,  16, w26, w12, w14);
473    TEST_3R("adds_s.d", 216,  72, w27, w16, w27);
474    TEST_3R("adds_s.d", 224,  64, w28, w30, w23);
475    TEST_3R("adds_s.d", 232, 224, w29, w11, w21);
476    TEST_3R("adds_s.d", 240, 112, w30, w19, w3);
477    TEST_3R("adds_s.d",  16,  32, w31, w25, w18);
478    TEST_3R("adds_u.b",   0, 160, w0,  w21, w30);
479    TEST_3R("adds_u.b",   8, 216, w1,  w7,  w28);
480    TEST_3R("adds_u.b",  16,  24, w2,  w2,  w2);
481    TEST_3R("adds_u.b",  24, 200, w3,  w5,  w25);
482    TEST_3R("adds_u.b",  32, 232, w4,  w20, w20);
483    TEST_3R("adds_u.b",  40, 168, w5,  w12, w15);
484    TEST_3R("adds_u.b",  48,  48, w6,  w3,  w15);
485    TEST_3R("adds_u.b",  56,  64, w7,  w25, w18);
486    TEST_3R("adds_u.b",  64,  48, w8,  w28, w24);
487    TEST_3R("adds_u.b",  72, 176, w9,  w14, w10);
488    TEST_3R("adds_u.b",  80, 128, w10, w17, w30);
489    TEST_3R("adds_u.b",  88,  56, w11, w31, w28);
490    TEST_3R("adds_u.b",  96,  32, w12, w7,  w25);
491    TEST_3R("adds_u.b", 104,  16, w13, w22, w30);
492    TEST_3R("adds_u.b", 112, 184, w14, w18, w27);
493    TEST_3R("adds_u.b", 120,  80, w15, w2,  w4);
494    TEST_3R("adds_u.b", 128,  72, w16, w17, w25);
495    TEST_3R("adds_u.b", 136,  32, w17, w4,  w0);
496    TEST_3R("adds_u.b", 144, 224, w18, w28, w1);
497    TEST_3R("adds_u.b", 152,   0, w19, w6,  w4);
498    TEST_3R("adds_u.b", 160, 136, w20, w16, w2);
499    TEST_3R("adds_u.b", 168, 192, w21, w16, w31);
500    TEST_3R("adds_u.b", 176, 104, w22, w23, w24);
501    TEST_3R("adds_u.b", 184, 120, w23, w13, w22);
502    TEST_3R("adds_u.b", 192,   0, w24, w31, w9);
503    TEST_3R("adds_u.b", 200,  56, w25, w29, w11);
504    TEST_3R("adds_u.b", 208, 160, w26, w31, w28);
505    TEST_3R("adds_u.b", 216, 208, w27, w25, w0);
506    TEST_3R("adds_u.b", 224,  40, w28, w16, w28);
507    TEST_3R("adds_u.b", 232, 224, w29, w5,  w22);
508    TEST_3R("adds_u.b", 240,  48, w30, w9,  w12);
509    TEST_3R("adds_u.b", 192,  40, w31, w31, w11);
510    TEST_3R("adds_u.h",   0, 168, w0,  w10, w28);
511    TEST_3R("adds_u.h",   8, 120, w1,  w2,  w22);
512    TEST_3R("adds_u.h",  16,  24, w2,  w2,  w2);
513    TEST_3R("adds_u.h",  24,  16, w3,  w1,  w7);
514    TEST_3R("adds_u.h",  32,  80, w4,  w6,  w6);
515    TEST_3R("adds_u.h",  40, 112, w5,  w13, w16);
516    TEST_3R("adds_u.h",  48, 216, w6,  w9,  w19);
517    TEST_3R("adds_u.h",  56, 120, w7,  w10, w23);
518    TEST_3R("adds_u.h",  64,  16, w8,  w6,  w28);
519    TEST_3R("adds_u.h",  72,  56, w9,  w5,  w16);
520    TEST_3R("adds_u.h",  80,  16, w10, w16, w8);
521    TEST_3R("adds_u.h",  88,  56, w11, w27, w4);
522    TEST_3R("adds_u.h",  96, 176, w12, w29, w27);
523    TEST_3R("adds_u.h", 104,  56, w13, w22, w28);
524    TEST_3R("adds_u.h", 112, 136, w14, w24, w2);
525    TEST_3R("adds_u.h", 120,  16, w15, w5,  w19);
526    TEST_3R("adds_u.h", 128,   0, w16, w15, w6);
527    TEST_3R("adds_u.h", 136, 232, w17, w25, w29);
528    TEST_3R("adds_u.h", 144, 128, w18, w31, w25);
529    TEST_3R("adds_u.h", 152,  32, w19, w9,  w30);
530    TEST_3R("adds_u.h", 160, 216, w20, w6,  w15);
531    TEST_3R("adds_u.h", 168,  16, w21, w6,  w10);
532    TEST_3R("adds_u.h", 176,  24, w22, w1,  w7);
533    TEST_3R("adds_u.h", 184, 112, w23, w4,  w30);
534    TEST_3R("adds_u.h", 192, 168, w24, w15, w22);
535    TEST_3R("adds_u.h", 200,   8, w25, w30, w28);
536    TEST_3R("adds_u.h", 208,  32, w26, w18, w11);
537    TEST_3R("adds_u.h", 216, 208, w27, w3,  w4);
538    TEST_3R("adds_u.h", 224, 112, w28, w2,  w28);
539    TEST_3R("adds_u.h", 232,  72, w29, w10, w5);
540    TEST_3R("adds_u.h", 240, 208, w30, w9,  w24);
541    TEST_3R("adds_u.h", 120,   0, w31, w31, w24);
542    TEST_3R("adds_u.w",   0, 200, w0,  w2,  w21);
543    TEST_3R("adds_u.w",   8, 216, w1,  w9,  w16);
544    TEST_3R("adds_u.w",  16,  96, w2,  w2,  w2);
545    TEST_3R("adds_u.w",  24,  24, w3,  w8,  w14);
546    TEST_3R("adds_u.w",  32, 152, w4,  w2,  w2);
547    TEST_3R("adds_u.w",  40,  24, w5,  w26, w15);
548    TEST_3R("adds_u.w",  48, 128, w6,  w5,  w2);
549    TEST_3R("adds_u.w",  56, 112, w7,  w9,  w19);
550    TEST_3R("adds_u.w",  64, 104, w8,  w12, w30);
551    TEST_3R("adds_u.w",  72,   0, w9,  w25, w7);
552    TEST_3R("adds_u.w",  80, 112, w10, w11, w31);
553    TEST_3R("adds_u.w",  88,   8, w11, w4,  w1);
554    TEST_3R("adds_u.w",  96, 168, w12, w31, w10);
555    TEST_3R("adds_u.w", 104, 192, w13, w30, w18);
556    TEST_3R("adds_u.w", 112, 144, w14, w12, w16);
557    TEST_3R("adds_u.w", 120, 224, w15, w24, w10);
558    TEST_3R("adds_u.w", 128, 208, w16, w23, w15);
559    TEST_3R("adds_u.w", 136,   8, w17, w24, w10);
560    TEST_3R("adds_u.w", 144, 224, w18, w4,  w8);
561    TEST_3R("adds_u.w", 152, 224, w19, w29, w15);
562    TEST_3R("adds_u.w", 160, 104, w20, w9,  w14);
563    TEST_3R("adds_u.w", 168, 112, w21, w13, w15);
564    TEST_3R("adds_u.w", 176, 160, w22, w12, w25);
565    TEST_3R("adds_u.w", 184, 224, w23, w10, w11);
566    TEST_3R("adds_u.w", 192,   8, w24, w22, w27);
567    TEST_3R("adds_u.w", 200, 104, w25, w15, w5);
568    TEST_3R("adds_u.w", 208, 192, w26, w6,  w20);
569    TEST_3R("adds_u.w", 216, 232, w27, w30, w12);
570    TEST_3R("adds_u.w", 224, 112, w28, w26, w28);
571    TEST_3R("adds_u.w", 232,  24, w29, w5,  w31);
572    TEST_3R("adds_u.w", 240,  16, w30, w20, w4);
573    TEST_3R("adds_u.w", 208, 168, w31, w31, w2);
574    TEST_3R("adds_u.d",   0, 208, w0,  w17, w5);
575    TEST_3R("adds_u.d",   8, 216, w1,  w10, w5);
576    TEST_3R("adds_u.d",  16, 112, w2,  w2,  w2);
577    TEST_3R("adds_u.d",  24, 144, w3,  w9,  w18);
578    TEST_3R("adds_u.d",  32, 128, w4,  w17, w17);
579    TEST_3R("adds_u.d",  40,  80, w5,  w23, w14);
580    TEST_3R("adds_u.d",  48, 176, w6,  w11, w1);
581    TEST_3R("adds_u.d",  56,  48, w7,  w24, w30);
582    TEST_3R("adds_u.d",  64,   8, w8,  w9,  w3);
583    TEST_3R("adds_u.d",  72,  24, w9,  w23, w4);
584    TEST_3R("adds_u.d",  80,   0, w10, w25, w3);
585    TEST_3R("adds_u.d",  88,  80, w11, w10, w8);
586    TEST_3R("adds_u.d",  96, 176, w12, w20, w14);
587    TEST_3R("adds_u.d", 104, 112, w13, w10, w23);
588    TEST_3R("adds_u.d", 112, 112, w14, w28, w8);
589    TEST_3R("adds_u.d", 120, 200, w15, w19, w22);
590    TEST_3R("adds_u.d", 128,  16, w16, w30, w23);
591    TEST_3R("adds_u.d", 136,  64, w17, w22, w21);
592    TEST_3R("adds_u.d", 144, 192, w18, w31, w24);
593    TEST_3R("adds_u.d", 152,  32, w19, w23, w15);
594    TEST_3R("adds_u.d", 160, 168, w20, w6,  w8);
595    TEST_3R("adds_u.d", 168,  96, w21, w26, w18);
596    TEST_3R("adds_u.d", 176, 224, w22, w31, w7);
597    TEST_3R("adds_u.d", 184,  56, w23, w1,  w17);
598    TEST_3R("adds_u.d", 192, 176, w24, w21, w13);
599    TEST_3R("adds_u.d", 200, 112, w25, w10, w0);
600    TEST_3R("adds_u.d", 208,  56, w26, w7,  w31);
601    TEST_3R("adds_u.d", 216, 112, w27, w10, w21);
602    TEST_3R("adds_u.d", 224,  48, w28, w14, w28);
603    TEST_3R("adds_u.d", 232, 136, w29, w28, w17);
604    TEST_3R("adds_u.d", 240,  16, w30, w12, w24);
605    TEST_3R("adds_u.d", 120,  64, w31, w31, w20);
606    TEST_3R("addv.b",   0, 168, w0,  w22, w12);
607    TEST_3R("addv.b",   8,   8, w1,  w14, w13);
608    TEST_3R("addv.b",  16,   0, w2,  w12, w13);
609    TEST_3R("addv.b",  24, 176, w3,  w19, w12);
610    TEST_3R("addv.b",  32,  56, w4,  w30, w2);
611    TEST_3R("addv.b",  40, 208, w5,  w12, w23);
612    TEST_3R("addv.b",  48,  64, w6,  w29, w3);
613    TEST_3R("addv.b",  56, 224, w7,  w7,  w7);
614    TEST_3R("addv.b",  64, 208, w8,  w21, w23);
615    TEST_3R("addv.b",  72, 152, w9,  w28, w13);
616    TEST_3R("addv.b",  80, 184, w10, w3,  w25);
617    TEST_3R("addv.b",  88, 184, w11, w18, w11);
618    TEST_3R("addv.b",  96,   0, w12, w23, w1);
619    TEST_3R("addv.b", 104,   8, w13, w4,  w7);
620    TEST_3R("addv.b", 112, 120, w14, w17, w17);
621    TEST_3R("addv.b", 120, 176, w15, w24, w19);
622    TEST_3R("addv.b", 128,  24, w16, w4,  w10);
623    TEST_3R("addv.b", 136,  88, w17, w1,  w13);
624    TEST_3R("addv.b", 144, 216, w18, w22, w2);
625    TEST_3R("addv.b", 152, 232, w19, w13, w3);
626    TEST_3R("addv.b", 160, 112, w20, w26, w15);
627    TEST_3R("addv.b", 168, 200, w21, w21, w30);
628    TEST_3R("addv.b", 176,  80, w22, w16, w3);
629    TEST_3R("addv.b", 184,  40, w23, w17, w9);
630    TEST_3R("addv.b", 192,  80, w24, w3,  w29);
631    TEST_3R("addv.b", 200, 128, w25, w27, w16);
632    TEST_3R("addv.b", 208,  48, w26, w31, w16);
633    TEST_3R("addv.b", 216,  80, w27, w7,  w26);
634    TEST_3R("addv.b", 224,  48, w28, w9,  w26);
635    TEST_3R("addv.b", 232,  88, w29, w12, w22);
636    TEST_3R("addv.b", 240, 232, w30, w27, w28);
637    TEST_3R("addv.b",  64,  72, w31, w4,  w13);
638    TEST_3R("addv.h",   0, 224, w0,  w20, w29);
639    TEST_3R("addv.h",   8, 144, w1,  w0,  w21);
640    TEST_3R("addv.h",  16, 152, w2,  w29, w9);
641    TEST_3R("addv.h",  24, 136, w3,  w13, w16);
642    TEST_3R("addv.h",  32,  56, w4,  w7,  w1);
643    TEST_3R("addv.h",  40,  16, w5,  w14, w27);
644    TEST_3R("addv.h",  48,  72, w6,  w23, w21);
645    TEST_3R("addv.h",  56,  48, w7,  w7,  w7);
646    TEST_3R("addv.h",  64, 216, w8,  w11, w31);
647    TEST_3R("addv.h",  72,   0, w9,  w5,  w3);
648    TEST_3R("addv.h",  80,  72, w10, w17, w9);
649    TEST_3R("addv.h",  88, 136, w11, w26, w11);
650    TEST_3R("addv.h",  96, 208, w12, w4,  w14);
651    TEST_3R("addv.h", 104,  40, w13, w30, w21);
652    TEST_3R("addv.h", 112,  72, w14, w13, w13);
653    TEST_3R("addv.h", 120,  40, w15, w31, w28);
654    TEST_3R("addv.h", 128, 208, w16, w26, w2);
655    TEST_3R("addv.h", 136, 128, w17, w16, w12);
656    TEST_3R("addv.h", 144, 144, w18, w27, w21);
657    TEST_3R("addv.h", 152,  88, w19, w3,  w26);
658    TEST_3R("addv.h", 160,  96, w20, w24, w11);
659    TEST_3R("addv.h", 168, 104, w21, w21, w2);
660    TEST_3R("addv.h", 176,  88, w22, w12, w31);
661    TEST_3R("addv.h", 184, 136, w23, w19, w12);
662    TEST_3R("addv.h", 192,  80, w24, w8,  w10);
663    TEST_3R("addv.h", 200,  80, w25, w5,  w9);
664    TEST_3R("addv.h", 208, 224, w26, w16, w4);
665    TEST_3R("addv.h", 216,  80, w27, w18, w20);
666    TEST_3R("addv.h", 224, 208, w28, w24, w15);
667    TEST_3R("addv.h", 232, 208, w29, w19, w0);
668    TEST_3R("addv.h", 240,  64, w30, w11, w12);
669    TEST_3R("addv.h", 152, 144, w31, w13, w6);
670    TEST_3R("addv.w",   0, 184, w0,  w5,  w31);
671    TEST_3R("addv.w",   8, 192, w1,  w18, w24);
672    TEST_3R("addv.w",  16,  24, w2,  w28, w30);
673    TEST_3R("addv.w",  24,  24, w3,  w6,  w0);
674    TEST_3R("addv.w",  32, 104, w4,  w10, w5);
675    TEST_3R("addv.w",  40, 208, w5,  w30, w23);
676    TEST_3R("addv.w",  48,  96, w6,  w13, w29);
677    TEST_3R("addv.w",  56,  32, w7,  w7,  w7);
678    TEST_3R("addv.w",  64,  72, w8,  w30, w24);
679    TEST_3R("addv.w",  72,  40, w9,  w10, w16);
680    TEST_3R("addv.w",  80, 192, w10, w16, w20);
681    TEST_3R("addv.w",  88,  32, w11, w22, w11);
682    TEST_3R("addv.w",  96,  40, w12, w0,  w8);
683    TEST_3R("addv.w", 104, 136, w13, w21, w4);
684    TEST_3R("addv.w", 112, 104, w14, w16, w16);
685    TEST_3R("addv.w", 120,  80, w15, w9,  w26);
686    TEST_3R("addv.w", 128,   0, w16, w15, w23);
687    TEST_3R("addv.w", 136, 176, w17, w6,  w13);
688    TEST_3R("addv.w", 144, 208, w18, w3,  w0);
689    TEST_3R("addv.w", 152,  40, w19, w1,  w24);
690    TEST_3R("addv.w", 160, 192, w20, w11, w8);
691    TEST_3R("addv.w", 168,  40, w21, w21, w28);
692    TEST_3R("addv.w", 176,  72, w22, w25, w18);
693    TEST_3R("addv.w", 184, 120, w23, w25, w26);
694    TEST_3R("addv.w", 192, 128, w24, w14, w30);
695    TEST_3R("addv.w", 200, 200, w25, w30, w9);
696    TEST_3R("addv.w", 208, 184, w26, w25, w29);
697    TEST_3R("addv.w", 216, 104, w27, w16, w2);
698    TEST_3R("addv.w", 224, 168, w28, w16, w5);
699    TEST_3R("addv.w", 232,  48, w29, w16, w7);
700    TEST_3R("addv.w", 240,  56, w30, w29, w18);
701    TEST_3R("addv.w",  72, 104, w31, w3,  w14);
702    TEST_3R("addv.d",   0, 104, w0,  w10, w21);
703    TEST_3R("addv.d",   8,  72, w1,  w5,  w3);
704    TEST_3R("addv.d",  16,  24, w2,  w8,  w21);
705    TEST_3R("addv.d",  24,  40, w3,  w31, w17);
706    TEST_3R("addv.d",  32, 152, w4,  w15, w19);
707    TEST_3R("addv.d",  40, 192, w5,  w31, w25);
708    TEST_3R("addv.d",  48, 120, w6,  w16, w0);
709    TEST_3R("addv.d",  56, 216, w7,  w7,  w7);
710    TEST_3R("addv.d",  64,  32, w8,  w18, w27);
711    TEST_3R("addv.d",  72, 216, w9,  w1,  w22);
712    TEST_3R("addv.d",  80,  96, w10, w1,  w0);
713    TEST_3R("addv.d",  88, 160, w11, w28, w11);
714    TEST_3R("addv.d",  96, 104, w12, w4,  w21);
715    TEST_3R("addv.d", 104, 128, w13, w6,  w23);
716    TEST_3R("addv.d", 112, 160, w14, w1,  w1);
717    TEST_3R("addv.d", 120,  16, w15, w21, w13);
718    TEST_3R("addv.d", 128, 208, w16, w8,  w22);
719    TEST_3R("addv.d", 136, 208, w17, w1,  w28);
720    TEST_3R("addv.d", 144, 192, w18, w1,  w25);
721    TEST_3R("addv.d", 152,  16, w19, w20, w18);
722    TEST_3R("addv.d", 160, 160, w20, w10, w30);
723    TEST_3R("addv.d", 168,  40, w21, w21, w10);
724    TEST_3R("addv.d", 176, 144, w22, w18, w16);
725    TEST_3R("addv.d", 184, 136, w23, w7,  w30);
726    TEST_3R("addv.d", 192,  24, w24, w30, w1);
727    TEST_3R("addv.d", 200, 200, w25, w21, w22);
728    TEST_3R("addv.d", 208, 152, w26, w27, w31);
729    TEST_3R("addv.d", 216, 224, w27, w0,  w11);
730    TEST_3R("addv.d", 224, 184, w28, w2,  w4);
731    TEST_3R("addv.d", 232, 152, w29, w22, w24);
732    TEST_3R("addv.d", 240, 104, w30, w11, w2);
733    TEST_3R("addv.d",  48, 152, w31, w1,  w13);
734    TEST_3R("asub_s.b",   0,  96, w0,  w26, w28);
735    TEST_3R("asub_s.b",   8,  56, w1,  w15, w19);
736    TEST_3R("asub_s.b",  16, 216, w2,  w10, w18);
737    TEST_3R("asub_s.b",  24, 160, w3,  w10, w18);
738    TEST_3R("asub_s.b",  32, 152, w4,  w0,  w20);
739    TEST_3R("asub_s.b",  40,   0, w5,  w25, w10);
740    TEST_3R("asub_s.b",  48, 112, w6,  w4,  w21);
741    TEST_3R("asub_s.b",  56,   0, w7,  w13, w23);
742    TEST_3R("asub_s.b",  64,  64, w8,  w22, w11);
743    TEST_3R("asub_s.b",  72,  40, w9,  w3,  w6);
744    TEST_3R("asub_s.b",  80, 184, w10, w27, w0);
745    TEST_3R("asub_s.b",  88, 216, w11, w30, w15);
746    TEST_3R("asub_s.b",  96,  24, w12, w27, w25);
747    TEST_3R("asub_s.b", 104, 208, w13, w13, w6);
748    TEST_3R("asub_s.b", 112,  64, w14, w15, w29);
749    TEST_3R("asub_s.b", 120, 104, w15, w4,  w25);
750    TEST_3R("asub_s.b", 128, 176, w16, w14, w13);
751    TEST_3R("asub_s.b", 136, 104, w17, w4,  w3);
752    TEST_3R("asub_s.b", 144,  64, w18, w27, w7);
753    TEST_3R("asub_s.b", 152,  88, w19, w6,  w7);
754    TEST_3R("asub_s.b", 160, 176, w20, w12, w3);
755    TEST_3R("asub_s.b", 168, 128, w21, w13, w27);
756    TEST_3R("asub_s.b", 176, 136, w22, w28, w6);
757    TEST_3R("asub_s.b", 184,  96, w23, w22, w22);
758    TEST_3R("asub_s.b", 192, 224, w24, w4,  w26);
759    TEST_3R("asub_s.b", 200, 160, w25, w1,  w30);
760    TEST_3R("asub_s.b", 208,  16, w26, w28, w5);
761    TEST_3R("asub_s.b", 216,  56, w27, w29, w27);
762    TEST_3R("asub_s.b", 224, 208, w28, w11, w12);
763    TEST_3R("asub_s.b", 232, 128, w29, w29, w29);
764    TEST_3R("asub_s.b", 240,   8, w30, w18, w10);
765    TEST_3R("asub_s.b", 104,  40, w31, w27, w22);
766    TEST_3R("asub_s.h",   0,   0, w0,  w3,  w23);
767    TEST_3R("asub_s.h",   8,   8, w1,  w0,  w29);
768    TEST_3R("asub_s.h",  16, 128, w2,  w22, w0);
769    TEST_3R("asub_s.h",  24,  32, w3,  w16, w19);
770    TEST_3R("asub_s.h",  32, 232, w4,  w14, w9);
771    TEST_3R("asub_s.h",  40, 128, w5,  w10, w14);
772    TEST_3R("asub_s.h",  48,  80, w6,  w8,  w23);
773    TEST_3R("asub_s.h",  56, 208, w7,  w20, w27);
774    TEST_3R("asub_s.h",  64,  88, w8,  w6,  w5);
775    TEST_3R("asub_s.h",  72,   8, w9,  w1,  w28);
776    TEST_3R("asub_s.h",  80,  16, w10, w0,  w31);
777    TEST_3R("asub_s.h",  88,  88, w11, w2,  w31);
778    TEST_3R("asub_s.h",  96, 136, w12, w1,  w21);
779    TEST_3R("asub_s.h", 104,  80, w13, w13, w4);
780    TEST_3R("asub_s.h", 112, 176, w14, w2,  w8);
781    TEST_3R("asub_s.h", 120, 232, w15, w11, w7);
782    TEST_3R("asub_s.h", 128, 208, w16, w26, w14);
783    TEST_3R("asub_s.h", 136, 184, w17, w31, w27);
784    TEST_3R("asub_s.h", 144,  96, w18, w3,  w1);
785    TEST_3R("asub_s.h", 152,  24, w19, w0,  w3);
786    TEST_3R("asub_s.h", 160, 200, w20, w25, w3);
787    TEST_3R("asub_s.h", 168, 232, w21, w10, w5);
788    TEST_3R("asub_s.h", 176,  96, w22, w25, w6);
789    TEST_3R("asub_s.h", 184, 120, w23, w8,  w8);
790    TEST_3R("asub_s.h", 192,  16, w24, w8,  w10);
791    TEST_3R("asub_s.h", 200, 136, w25, w28, w21);
792    TEST_3R("asub_s.h", 208, 152, w26, w27, w15);
793    TEST_3R("asub_s.h", 216, 160, w27, w1,  w27);
794    TEST_3R("asub_s.h", 224, 184, w28, w8,  w14);
795    TEST_3R("asub_s.h", 232, 152, w29, w29, w29);
796    TEST_3R("asub_s.h", 240,  32, w30, w0,  w11);
797    TEST_3R("asub_s.h",  56, 112, w31, w15, w4);
798    TEST_3R("asub_s.w",   0,  56, w0,  w15, w10);
799    TEST_3R("asub_s.w",   8, 152, w1,  w8,  w16);
800    TEST_3R("asub_s.w",  16, 208, w2,  w16, w27);
801    TEST_3R("asub_s.w",  24,  80, w3,  w26, w14);
802    TEST_3R("asub_s.w",  32,  56, w4,  w15, w8);
803    TEST_3R("asub_s.w",  40,   8, w5,  w31, w17);
804    TEST_3R("asub_s.w",  48, 152, w6,  w0,  w25);
805    TEST_3R("asub_s.w",  56,  72, w7,  w14, w4);
806    TEST_3R("asub_s.w",  64, 216, w8,  w14, w15);
807    TEST_3R("asub_s.w",  72,  88, w9,  w29, w19);
808    TEST_3R("asub_s.w",  80,   8, w10, w26, w2);
809    TEST_3R("asub_s.w",  88,  72, w11, w5,  w10);
810    TEST_3R("asub_s.w",  96, 128, w12, w18, w26);
811    TEST_3R("asub_s.w", 104,  64, w13, w13, w8);
812    TEST_3R("asub_s.w", 112,   0, w14, w18, w27);
813    TEST_3R("asub_s.w", 120, 192, w15, w27, w8);
814    TEST_3R("asub_s.w", 128,  64, w16, w12, w23);
815    TEST_3R("asub_s.w", 136, 160, w17, w5,  w3);
816    TEST_3R("asub_s.w", 144, 200, w18, w9,  w12);
817    TEST_3R("asub_s.w", 152, 104, w19, w24, w23);
818    TEST_3R("asub_s.w", 160,  64, w20, w11, w6);
819    TEST_3R("asub_s.w", 168,  88, w21, w14, w31);
820    TEST_3R("asub_s.w", 176,  24, w22, w24, w8);
821    TEST_3R("asub_s.w", 184, 168, w23, w19, w19);
822    TEST_3R("asub_s.w", 192, 136, w24, w23, w7);
823    TEST_3R("asub_s.w", 200,  72, w25, w18, w11);
824    TEST_3R("asub_s.w", 208,  16, w26, w27, w14);
825    TEST_3R("asub_s.w", 216, 160, w27, w18, w27);
826    TEST_3R("asub_s.w", 224,  80, w28, w11, w21);
827    TEST_3R("asub_s.w", 232, 224, w29, w29, w29);
828    TEST_3R("asub_s.w", 240, 200, w30, w2,  w12);
829    TEST_3R("asub_s.w", 136,  64, w31, w24, w22);
830    TEST_3R("asub_s.d",   0,  64, w0,  w19, w30);
831    TEST_3R("asub_s.d",   8, 112, w1,  w2,  w17);
832    TEST_3R("asub_s.d",  16,  24, w2,  w25, w19);
833    TEST_3R("asub_s.d",  24,  64, w3,  w4,  w13);
834    TEST_3R("asub_s.d",  32,  40, w4,  w19, w20);
835    TEST_3R("asub_s.d",  40,  88, w5,  w4,  w31);
836    TEST_3R("asub_s.d",  48,  48, w6,  w7,  w20);
837    TEST_3R("asub_s.d",  56,   8, w7,  w9,  w0);
838    TEST_3R("asub_s.d",  64,  40, w8,  w24, w9);
839    TEST_3R("asub_s.d",  72, 112, w9,  w30, w7);
840    TEST_3R("asub_s.d",  80, 192, w10, w29, w13);
841    TEST_3R("asub_s.d",  88, 200, w11, w14, w1);
842    TEST_3R("asub_s.d",  96, 232, w12, w7,  w20);
843    TEST_3R("asub_s.d", 104, 224, w13, w13, w12);
844    TEST_3R("asub_s.d", 112,  80, w14, w0,  w31);
845    TEST_3R("asub_s.d", 120, 144, w15, w25, w3);
846    TEST_3R("asub_s.d", 128, 184, w16, w8,  w10);
847    TEST_3R("asub_s.d", 136,  24, w17, w25, w19);
848    TEST_3R("asub_s.d", 144,   0, w18, w3,  w27);
849    TEST_3R("asub_s.d", 152, 160, w19, w12, w26);
850    TEST_3R("asub_s.d", 160, 104, w20, w19, w11);
851    TEST_3R("asub_s.d", 168,  40, w21, w1,  w31);
852    TEST_3R("asub_s.d", 176, 112, w22, w2,  w12);
853    TEST_3R("asub_s.d", 184,   0, w23, w22, w22);
854    TEST_3R("asub_s.d", 192, 176, w24, w31, w23);
855    TEST_3R("asub_s.d", 200, 152, w25, w30, w13);
856    TEST_3R("asub_s.d", 208, 120, w26, w2,  w7);
857    TEST_3R("asub_s.d", 216, 224, w27, w11, w27);
858    TEST_3R("asub_s.d", 224,  96, w28, w0,  w20);
859    TEST_3R("asub_s.d", 232,  72, w29, w29, w29);
860    TEST_3R("asub_s.d", 240,  64, w30, w22, w16);
861    TEST_3R("asub_s.d", 112,  48, w31, w23, w4);
862    TEST_3R("asub_u.b",   0,   8, w0,  w0,  w20);
863    TEST_3R("asub_u.b",   8,  32, w1,  w17, w19);
864    TEST_3R("asub_u.b",  16, 144, w2,  w22, w18);
865    TEST_3R("asub_u.b",  24,  48, w3,  w20, w27);
866    TEST_3R("asub_u.b",  32,  48, w4,  w14, w28);
867    TEST_3R("asub_u.b",  40, 208, w5,  w5,  w5);
868    TEST_3R("asub_u.b",  48, 184, w6,  w0,  w28);
869    TEST_3R("asub_u.b",  56,  64, w7,  w16, w7);
870    TEST_3R("asub_u.b",  64, 224, w8,  w16, w20);
871    TEST_3R("asub_u.b",  72,  80, w9,  w5,  w25);
872    TEST_3R("asub_u.b",  80, 184, w10, w5,  w0);
873    TEST_3R("asub_u.b",  88, 168, w11, w25, w29);
874    TEST_3R("asub_u.b",  96,   0, w12, w13, w13);
875    TEST_3R("asub_u.b", 104, 144, w13, w5,  w31);
876    TEST_3R("asub_u.b", 112,  48, w14, w26, w19);
877    TEST_3R("asub_u.b", 120, 160, w15, w21, w19);
878    TEST_3R("asub_u.b", 128, 136, w16, w17, w20);
879    TEST_3R("asub_u.b", 136, 176, w17, w16, w2);
880    TEST_3R("asub_u.b", 144,  64, w18, w1,  w22);
881    TEST_3R("asub_u.b", 152, 144, w19, w23, w16);
882    TEST_3R("asub_u.b", 160, 208, w20, w29, w16);
883    TEST_3R("asub_u.b", 168,  16, w21, w22, w14);
884    TEST_3R("asub_u.b", 176, 232, w22, w3,  w0);
885    TEST_3R("asub_u.b", 184, 160, w23, w2,  w19);
886    TEST_3R("asub_u.b", 192, 136, w24, w21, w10);
887    TEST_3R("asub_u.b", 200,  24, w25, w9,  w16);
888    TEST_3R("asub_u.b", 208,  40, w26, w29, w24);
889    TEST_3R("asub_u.b", 216,  88, w27, w13, w26);
890    TEST_3R("asub_u.b", 224, 208, w28, w14, w13);
891    TEST_3R("asub_u.b", 232,  96, w29, w2,  w4);
892    TEST_3R("asub_u.b", 240, 176, w30, w9,  w1);
893    TEST_3R("asub_u.b",  16, 224, w31, w14, w24);
894    TEST_3R("asub_u.h",   0, 144, w0,  w0,  w27);
895    TEST_3R("asub_u.h",   8, 208, w1,  w28, w30);
896    TEST_3R("asub_u.h",  16, 208, w2,  w16, w19);
897    TEST_3R("asub_u.h",  24, 128, w3,  w26, w28);
898    TEST_3R("asub_u.h",  32,  56, w4,  w21, w25);
899    TEST_3R("asub_u.h",  40,   0, w5,  w5,  w5);
900    TEST_3R("asub_u.h",  48, 224, w6,  w20, w16);
901    TEST_3R("asub_u.h",  56,  64, w7,  w1,  w7);
902    TEST_3R("asub_u.h",  64,  40, w8,  w23, w6);
903    TEST_3R("asub_u.h",  72,  88, w9,  w0,  w7);
904    TEST_3R("asub_u.h",  80, 192, w10, w14, w31);
905    TEST_3R("asub_u.h",  88,  96, w11, w17, w27);
906    TEST_3R("asub_u.h",  96, 184, w12, w13, w13);
907    TEST_3R("asub_u.h", 104,  88, w13, w29, w30);
908    TEST_3R("asub_u.h", 112,  72, w14, w15, w24);
909    TEST_3R("asub_u.h", 120,  16, w15, w16, w13);
910    TEST_3R("asub_u.h", 128, 184, w16, w10, w14);
911    TEST_3R("asub_u.h", 136, 168, w17, w31, w30);
912    TEST_3R("asub_u.h", 144,  32, w18, w0,  w19);
913    TEST_3R("asub_u.h", 152,  48, w19, w6,  w29);
914    TEST_3R("asub_u.h", 160, 176, w20, w14, w13);
915    TEST_3R("asub_u.h", 168, 192, w21, w13, w16);
916    TEST_3R("asub_u.h", 176, 224, w22, w8,  w6);
917    TEST_3R("asub_u.h", 184, 176, w23, w1,  w4);
918    TEST_3R("asub_u.h", 192,  56, w24, w14, w19);
919    TEST_3R("asub_u.h", 200,  16, w25, w23, w3);
920    TEST_3R("asub_u.h", 208, 224, w26, w25, w14);
921    TEST_3R("asub_u.h", 216, 160, w27, w2,  w13);
922    TEST_3R("asub_u.h", 224,  32, w28, w0,  w13);
923    TEST_3R("asub_u.h", 232,  64, w29, w22, w20);
924    TEST_3R("asub_u.h", 240,  64, w30, w12, w2);
925    TEST_3R("asub_u.h",  64,  16, w31, w16, w15);
926    TEST_3R("asub_u.w",   0, 176, w0,  w0,  w24);
927    TEST_3R("asub_u.w",   8,  56, w1,  w9,  w25);
928    TEST_3R("asub_u.w",  16,  72, w2,  w10, w7);
929    TEST_3R("asub_u.w",  24,  56, w3,  w30, w2);
930    TEST_3R("asub_u.w",  32,  40, w4,  w24, w16);
931    TEST_3R("asub_u.w",  40,  24, w5,  w5,  w5);
932    TEST_3R("asub_u.w",  48, 120, w6,  w29, w16);
933    TEST_3R("asub_u.w",  56, 224, w7,  w10, w7);
934    TEST_3R("asub_u.w",  64, 168, w8,  w17, w30);
935    TEST_3R("asub_u.w",  72, 232, w9,  w29, w0);
936    TEST_3R("asub_u.w",  80, 120, w10, w13, w16);
937    TEST_3R("asub_u.w",  88,  64, w11, w19, w8);
938    TEST_3R("asub_u.w",  96, 160, w12, w28, w28);
939    TEST_3R("asub_u.w", 104, 184, w13, w0,  w6);
940    TEST_3R("asub_u.w", 112, 176, w14, w30, w9);
941    TEST_3R("asub_u.w", 120, 152, w15, w0,  w18);
942    TEST_3R("asub_u.w", 128, 224, w16, w26, w13);
943    TEST_3R("asub_u.w", 136, 208, w17, w21, w24);
944    TEST_3R("asub_u.w", 144,  16, w18, w6,  w22);
945    TEST_3R("asub_u.w", 152, 120, w19, w3,  w23);
946    TEST_3R("asub_u.w", 160,   8, w20, w16, w7);
947    TEST_3R("asub_u.w", 168,  80, w21, w4,  w15);
948    TEST_3R("asub_u.w", 176,  80, w22, w0,  w16);
949    TEST_3R("asub_u.w", 184,  40, w23, w7,  w25);
950    TEST_3R("asub_u.w", 192,   8, w24, w16, w1);
951    TEST_3R("asub_u.w", 200,  24, w25, w3,  w0);
952    TEST_3R("asub_u.w", 208,  64, w26, w19, w29);
953    TEST_3R("asub_u.w", 216,  40, w27, w15, w21);
954    TEST_3R("asub_u.w", 224, 168, w28, w21, w11);
955    TEST_3R("asub_u.w", 232,  56, w29, w24, w2);
956    TEST_3R("asub_u.w", 240, 120, w30, w9,  w7);
957    TEST_3R("asub_u.w", 104, 104, w31, w24, w7);
958    TEST_3R("asub_u.d",   0, 112, w0,  w0,  w7);
959    TEST_3R("asub_u.d",   8, 176, w1,  w2,  w6);
960    TEST_3R("asub_u.d",  16, 232, w2,  w3,  w5);
961    TEST_3R("asub_u.d",  24,  72, w3,  w4,  w20);
962    TEST_3R("asub_u.d",  32, 136, w4,  w30, w17);
963    TEST_3R("asub_u.d",  40, 104, w5,  w5,  w5);
964    TEST_3R("asub_u.d",  48,  96, w6,  w25, w3);
965    TEST_3R("asub_u.d",  56, 232, w7,  w23, w7);
966    TEST_3R("asub_u.d",  64, 176, w8,  w20, w19);
967    TEST_3R("asub_u.d",  72, 176, w9,  w30, w26);
968    TEST_3R("asub_u.d",  80, 152, w10, w22, w2);
969    TEST_3R("asub_u.d",  88,  32, w11, w31, w9);
970    TEST_3R("asub_u.d",  96, 136, w12, w2,  w2);
971    TEST_3R("asub_u.d", 104, 176, w13, w25, w5);
972    TEST_3R("asub_u.d", 112, 120, w14, w1,  w9);
973    TEST_3R("asub_u.d", 120, 200, w15, w28, w8);
974    TEST_3R("asub_u.d", 128, 224, w16, w10, w22);
975    TEST_3R("asub_u.d", 136, 192, w17, w4,  w25);
976    TEST_3R("asub_u.d", 144,  64, w18, w27, w21);
977    TEST_3R("asub_u.d", 152, 144, w19, w14, w26);
978    TEST_3R("asub_u.d", 160,  56, w20, w8,  w12);
979    TEST_3R("asub_u.d", 168, 184, w21, w10, w12);
980    TEST_3R("asub_u.d", 176,  24, w22, w20, w0);
981    TEST_3R("asub_u.d", 184,  96, w23, w3,  w25);
982    TEST_3R("asub_u.d", 192,  96, w24, w26, w12);
983    TEST_3R("asub_u.d", 200,  56, w25, w22, w20);
984    TEST_3R("asub_u.d", 208, 152, w26, w0,  w10);
985    TEST_3R("asub_u.d", 216, 136, w27, w4,  w15);
986    TEST_3R("asub_u.d", 224,  40, w28, w25, w23);
987    TEST_3R("asub_u.d", 232, 176, w29, w20, w28);
988    TEST_3R("asub_u.d", 240, 208, w30, w0,  w24);
989    TEST_3R("asub_u.d", 120, 112, w31, w12, w20);
990    TEST_3R("ave_s.b",   0, 144, w0,  w16, w31);
991    TEST_3R("ave_s.b",   8, 128, w1,  w17, w21);
992    TEST_3R("ave_s.b",  16, 128, w2,  w12, w22);
993    TEST_3R("ave_s.b",  24, 128, w3,  w9,  w26);
994    TEST_3R("ave_s.b",  32, 120, w4,  w24, w26);
995    TEST_3R("ave_s.b",  40,  48, w5,  w15, w5);
996    TEST_3R("ave_s.b",  48, 232, w6,  w17, w12);
997    TEST_3R("ave_s.b",  56,  72, w7,  w18, w4);
998    TEST_3R("ave_s.b",  64, 192, w8,  w30, w24);
999    TEST_3R("ave_s.b",  72, 104, w9,  w11, w10);
1000    TEST_3R("ave_s.b",  80, 120, w10, w16, w30);
1001    TEST_3R("ave_s.b",  88, 232, w11, w16, w31);
1002    TEST_3R("ave_s.b",  96,  40, w12, w5,  w21);
1003    TEST_3R("ave_s.b", 104,   0, w13, w27, w21);
1004    TEST_3R("ave_s.b", 112, 184, w14, w22, w25);
1005    TEST_3R("ave_s.b", 120,  56, w15, w16, w22);
1006    TEST_3R("ave_s.b", 128, 112, w16, w23, w8);
1007    TEST_3R("ave_s.b", 136, 160, w17, w17, w17);
1008    TEST_3R("ave_s.b", 144,   0, w18, w26, w25);
1009    TEST_3R("ave_s.b", 152,  64, w19, w24, w18);
1010    TEST_3R("ave_s.b", 160, 184, w20, w3,  w3);
1011    TEST_3R("ave_s.b", 168, 120, w21, w16, w20);
1012    TEST_3R("ave_s.b", 176, 200, w22, w10, w4);
1013    TEST_3R("ave_s.b", 184,  40, w23, w22, w9);
1014    TEST_3R("ave_s.b", 192,  16, w24, w24, w14);
1015    TEST_3R("ave_s.b", 200,   8, w25, w4,  w15);
1016    TEST_3R("ave_s.b", 208, 136, w26, w29, w8);
1017    TEST_3R("ave_s.b", 216,  64, w27, w19, w17);
1018    TEST_3R("ave_s.b", 224, 224, w28, w27, w6);
1019    TEST_3R("ave_s.b", 232, 232, w29, w21, w0);
1020    TEST_3R("ave_s.b", 240,  64, w30, w14, w18);
1021    TEST_3R("ave_s.b", 128, 112, w31, w17, w14);
1022    TEST_3R("ave_s.h",   0, 200, w0,  w8,  w10);
1023    TEST_3R("ave_s.h",   8,  96, w1,  w2,  w0);
1024    TEST_3R("ave_s.h",  16, 232, w2,  w17, w14);
1025    TEST_3R("ave_s.h",  24,   0, w3,  w21, w29);
1026    TEST_3R("ave_s.h",  32,   8, w4,  w18, w6);
1027    TEST_3R("ave_s.h",  40,  64, w5,  w6,  w5);
1028    TEST_3R("ave_s.h",  48,   8, w6,  w0,  w1);
1029    TEST_3R("ave_s.h",  56,   8, w7,  w24, w23);
1030    TEST_3R("ave_s.h",  64, 208, w8,  w2,  w5);
1031    TEST_3R("ave_s.h",  72, 104, w9,  w18, w22);
1032    TEST_3R("ave_s.h",  80, 112, w10, w18, w28);
1033    TEST_3R("ave_s.h",  88, 216, w11, w29, w5);
1034    TEST_3R("ave_s.h",  96, 104, w12, w29, w24);
1035    TEST_3R("ave_s.h", 104,  16, w13, w12, w16);
1036    TEST_3R("ave_s.h", 112, 144, w14, w9,  w3);
1037    TEST_3R("ave_s.h", 120,  96, w15, w1,  w8);
1038    TEST_3R("ave_s.h", 128, 224, w16, w2,  w10);
1039    TEST_3R("ave_s.h", 136, 216, w17, w17, w17);
1040    TEST_3R("ave_s.h", 144, 152, w18, w1,  w3);
1041    TEST_3R("ave_s.h", 152, 184, w19, w6,  w15);
1042    TEST_3R("ave_s.h", 160, 144, w20, w17, w17);
1043    TEST_3R("ave_s.h", 168, 168, w21, w24, w23);
1044    TEST_3R("ave_s.h", 176, 168, w22, w30, w0);
1045    TEST_3R("ave_s.h", 184,  88, w23, w22, w27);
1046    TEST_3R("ave_s.h", 192,  24, w24, w24, w7);
1047    TEST_3R("ave_s.h", 200, 168, w25, w17, w10);
1048    TEST_3R("ave_s.h", 208, 160, w26, w1,  w12);
1049    TEST_3R("ave_s.h", 216, 144, w27, w8,  w14);
1050    TEST_3R("ave_s.h", 224,  80, w28, w13, w8);
1051    TEST_3R("ave_s.h", 232, 144, w29, w16, w4);
1052    TEST_3R("ave_s.h", 240, 208, w30, w3,  w19);
1053    TEST_3R("ave_s.h",  40, 168, w31, w20, w21);
1054    TEST_3R("ave_s.w",   0, 184, w0,  w19, w26);
1055    TEST_3R("ave_s.w",   8,  80, w1,  w15, w16);
1056    TEST_3R("ave_s.w",  16, 168, w2,  w23, w18);
1057    TEST_3R("ave_s.w",  24, 184, w3,  w2,  w31);
1058    TEST_3R("ave_s.w",  32, 176, w4,  w14, w21);
1059    TEST_3R("ave_s.w",  40, 208, w5,  w28, w5);
1060    TEST_3R("ave_s.w",  48,  48, w6,  w31, w4);
1061    TEST_3R("ave_s.w",  56,  72, w7,  w15, w8);
1062    TEST_3R("ave_s.w",  64,  48, w8,  w18, w28);
1063    TEST_3R("ave_s.w",  72,  88, w9,  w6,  w17);
1064    TEST_3R("ave_s.w",  80,  64, w10, w17, w4);
1065    TEST_3R("ave_s.w",  88,  16, w11, w29, w20);
1066    TEST_3R("ave_s.w",  96,  24, w12, w4,  w11);
1067    TEST_3R("ave_s.w", 104, 128, w13, w22, w20);
1068    TEST_3R("ave_s.w", 112, 152, w14, w22, w30);
1069    TEST_3R("ave_s.w", 120, 120, w15, w11, w16);
1070    TEST_3R("ave_s.w", 128,   8, w16, w1,  w15);
1071    TEST_3R("ave_s.w", 136, 192, w17, w17, w17);
1072    TEST_3R("ave_s.w", 144,  32, w18, w30, w23);
1073    TEST_3R("ave_s.w", 152, 128, w19, w16, w22);
1074    TEST_3R("ave_s.w", 160, 176, w20, w4,  w4);
1075    TEST_3R("ave_s.w", 168, 120, w21, w8,  w9);
1076    TEST_3R("ave_s.w", 176, 144, w22, w5,  w29);
1077    TEST_3R("ave_s.w", 184,  48, w23, w10, w8);
1078    TEST_3R("ave_s.w", 192, 232, w24, w24, w0);
1079    TEST_3R("ave_s.w", 200, 216, w25, w17, w22);
1080    TEST_3R("ave_s.w", 208, 136, w26, w0,  w2);
1081    TEST_3R("ave_s.w", 216,  88, w27, w11, w3);
1082    TEST_3R("ave_s.w", 224, 152, w28, w26, w18);
1083    TEST_3R("ave_s.w", 232,   0, w29, w10, w5);
1084    TEST_3R("ave_s.w", 240,  56, w30, w1,  w10);
1085    TEST_3R("ave_s.w",  40, 176, w31, w9,  w19);
1086    TEST_3R("ave_s.d",   0, 200, w0,  w16, w20);
1087    TEST_3R("ave_s.d",   8, 184, w1,  w24, w4);
1088    TEST_3R("ave_s.d",  16,  24, w2,  w21, w22);
1089    TEST_3R("ave_s.d",  24,  48, w3,  w17, w22);
1090    TEST_3R("ave_s.d",  32,  96, w4,  w29, w2);
1091    TEST_3R("ave_s.d",  40,  72, w5,  w24, w5);
1092    TEST_3R("ave_s.d",  48, 120, w6,  w15, w18);
1093    TEST_3R("ave_s.d",  56,  64, w7,  w30, w29);
1094    TEST_3R("ave_s.d",  64, 168, w8,  w4,  w30);
1095    TEST_3R("ave_s.d",  72, 176, w9,  w28, w7);
1096    TEST_3R("ave_s.d",  80,  16, w10, w31, w21);
1097    TEST_3R("ave_s.d",  88,  40, w11, w19, w14);
1098    TEST_3R("ave_s.d",  96, 184, w12, w23, w7);
1099    TEST_3R("ave_s.d", 104,  16, w13, w22, w0);
1100    TEST_3R("ave_s.d", 112, 224, w14, w8,  w29);
1101    TEST_3R("ave_s.d", 120,  64, w15, w28, w21);
1102    TEST_3R("ave_s.d", 128,  64, w16, w11, w8);
1103    TEST_3R("ave_s.d", 136,   8, w17, w17, w17);
1104    TEST_3R("ave_s.d", 144,  32, w18, w5,  w14);
1105    TEST_3R("ave_s.d", 152, 168, w19, w3,  w10);
1106    TEST_3R("ave_s.d", 160,  88, w20, w9,  w9);
1107    TEST_3R("ave_s.d", 168, 152, w21, w28, w13);
1108    TEST_3R("ave_s.d", 176,  16, w22, w20, w29);
1109    TEST_3R("ave_s.d", 184, 144, w23, w11, w29);
1110    TEST_3R("ave_s.d", 192, 136, w24, w24, w19);
1111    TEST_3R("ave_s.d", 200, 208, w25, w11, w15);
1112    TEST_3R("ave_s.d", 208,  56, w26, w14, w27);
1113    TEST_3R("ave_s.d", 216, 152, w27, w31, w5);
1114    TEST_3R("ave_s.d", 224, 192, w28, w4,  w19);
1115    TEST_3R("ave_s.d", 232,  72, w29, w7,  w10);
1116    TEST_3R("ave_s.d", 240, 192, w30, w7,  w9);
1117    TEST_3R("ave_s.d",   0, 104, w31, w3,  w23);
1118    TEST_3R("ave_u.b",   0, 136, w0,  w25, w30);
1119    TEST_3R("ave_u.b",   8, 216, w1,  w20, w10);
1120    TEST_3R("ave_u.b",  16, 160, w2,  w4,  w24);
1121    TEST_3R("ave_u.b",  24, 232, w3,  w28, w23);
1122    TEST_3R("ave_u.b",  32, 200, w4,  w25, w27);
1123    TEST_3R("ave_u.b",  40,  40, w5,  w25, w2);
1124    TEST_3R("ave_u.b",  48, 208, w6,  w3,  w29);
1125    TEST_3R("ave_u.b",  56,  80, w7,  w12, w13);
1126    TEST_3R("ave_u.b",  64, 200, w8,  w3,  w11);
1127    TEST_3R("ave_u.b",  72,  96, w9,  w15, w7);
1128    TEST_3R("ave_u.b",  80,  16, w10, w5,  w1);
1129    TEST_3R("ave_u.b",  88, 136, w11, w11, w11);
1130    TEST_3R("ave_u.b",  96, 120, w12, w21, w13);
1131    TEST_3R("ave_u.b", 104, 152, w13, w25, w5);
1132    TEST_3R("ave_u.b", 112,  16, w14, w21, w28);
1133    TEST_3R("ave_u.b", 120, 224, w15, w14, w23);
1134    TEST_3R("ave_u.b", 128, 136, w16, w7,  w25);
1135    TEST_3R("ave_u.b", 136, 104, w17, w10, w22);
1136    TEST_3R("ave_u.b", 144,  56, w18, w22, w3);
1137    TEST_3R("ave_u.b", 152,  24, w19, w26, w14);
1138    TEST_3R("ave_u.b", 160, 232, w20, w9,  w22);
1139    TEST_3R("ave_u.b", 168,  16, w21, w14, w23);
1140    TEST_3R("ave_u.b", 176,  72, w22, w29, w29);
1141    TEST_3R("ave_u.b", 184, 208, w23, w15, w5);
1142    TEST_3R("ave_u.b", 192,  40, w24, w20, w1);
1143    TEST_3R("ave_u.b", 200, 176, w25, w16, w25);
1144    TEST_3R("ave_u.b", 208, 160, w26, w8,  w7);
1145    TEST_3R("ave_u.b", 216,  64, w27, w15, w0);
1146    TEST_3R("ave_u.b", 224, 224, w28, w28, w25);
1147    TEST_3R("ave_u.b", 232, 104, w29, w15, w25);
1148    TEST_3R("ave_u.b", 240, 128, w30, w9,  w7);
1149    TEST_3R("ave_u.b",  32,   0, w31, w18, w29);
1150    TEST_3R("ave_u.h",   0,  40, w0,  w20, w7);
1151    TEST_3R("ave_u.h",   8, 160, w1,  w0,  w22);
1152    TEST_3R("ave_u.h",  16,  80, w2,  w5,  w10);
1153    TEST_3R("ave_u.h",  24, 136, w3,  w31, w26);
1154    TEST_3R("ave_u.h",  32, 176, w4,  w7,  w1);
1155    TEST_3R("ave_u.h",  40, 112, w5,  w22, w1);
1156    TEST_3R("ave_u.h",  48, 160, w6,  w15, w23);
1157    TEST_3R("ave_u.h",  56,  24, w7,  w31, w16);
1158    TEST_3R("ave_u.h",  64,  40, w8,  w24, w5);
1159    TEST_3R("ave_u.h",  72, 184, w9,  w21, w10);
1160    TEST_3R("ave_u.h",  80,  40, w10, w18, w26);
1161    TEST_3R("ave_u.h",  88, 168, w11, w11, w11);
1162    TEST_3R("ave_u.h",  96,  96, w12, w30, w16);
1163    TEST_3R("ave_u.h", 104, 200, w13, w4,  w15);
1164    TEST_3R("ave_u.h", 112, 184, w14, w0,  w23);
1165    TEST_3R("ave_u.h", 120, 128, w15, w19, w13);
1166    TEST_3R("ave_u.h", 128, 168, w16, w9,  w29);
1167    TEST_3R("ave_u.h", 136,  24, w17, w27, w28);
1168    TEST_3R("ave_u.h", 144,  16, w18, w26, w4);
1169    TEST_3R("ave_u.h", 152,  72, w19, w31, w6);
1170    TEST_3R("ave_u.h", 160,   8, w20, w27, w16);
1171    TEST_3R("ave_u.h", 168, 176, w21, w22, w26);
1172    TEST_3R("ave_u.h", 176,  40, w22, w20, w20);
1173    TEST_3R("ave_u.h", 184, 112, w23, w24, w26);
1174    TEST_3R("ave_u.h", 192,  24, w24, w17, w19);
1175    TEST_3R("ave_u.h", 200, 176, w25, w30, w25);
1176    TEST_3R("ave_u.h", 208, 104, w26, w21, w27);
1177    TEST_3R("ave_u.h", 216,   0, w27, w16, w23);
1178    TEST_3R("ave_u.h", 224,  56, w28, w28, w10);
1179    TEST_3R("ave_u.h", 232,  56, w29, w21, w9);
1180    TEST_3R("ave_u.h", 240, 128, w30, w27, w19);
1181    TEST_3R("ave_u.h",  80, 184, w31, w11, w14);
1182    TEST_3R("ave_u.w",   0, 128, w0,  w18, w1);
1183    TEST_3R("ave_u.w",   8, 104, w1,  w9,  w26);
1184    TEST_3R("ave_u.w",  16, 184, w2,  w14, w18);
1185    TEST_3R("ave_u.w",  24,  40, w3,  w1,  w30);
1186    TEST_3R("ave_u.w",  32,  48, w4,  w5,  w19);
1187    TEST_3R("ave_u.w",  40, 136, w5,  w17, w4);
1188    TEST_3R("ave_u.w",  48, 200, w6,  w22, w14);
1189    TEST_3R("ave_u.w",  56,  16, w7,  w11, w24);
1190    TEST_3R("ave_u.w",  64,  24, w8,  w6,  w11);
1191    TEST_3R("ave_u.w",  72, 216, w9,  w17, w25);
1192    TEST_3R("ave_u.w",  80, 120, w10, w22, w12);
1193    TEST_3R("ave_u.w",  88, 208, w11, w11, w11);
1194    TEST_3R("ave_u.w",  96,  80, w12, w21, w3);
1195    TEST_3R("ave_u.w", 104, 136, w13, w3,  w22);
1196    TEST_3R("ave_u.w", 112, 176, w14, w5,  w20);
1197    TEST_3R("ave_u.w", 120, 104, w15, w10, w8);
1198    TEST_3R("ave_u.w", 128,   0, w16, w28, w12);
1199    TEST_3R("ave_u.w", 136,  72, w17, w18, w26);
1200    TEST_3R("ave_u.w", 144,  64, w18, w29, w19);
1201    TEST_3R("ave_u.w", 152,  64, w19, w29, w14);
1202    TEST_3R("ave_u.w", 160, 152, w20, w23, w22);
1203    TEST_3R("ave_u.w", 168,   0, w21, w3,  w31);
1204    TEST_3R("ave_u.w", 176, 176, w22, w24, w24);
1205    TEST_3R("ave_u.w", 184, 104, w23, w1,  w28);
1206    TEST_3R("ave_u.w", 192, 104, w24, w13, w1);
1207    TEST_3R("ave_u.w", 200,  40, w25, w18, w25);
1208    TEST_3R("ave_u.w", 208,  80, w26, w21, w12);
1209    TEST_3R("ave_u.w", 216,  24, w27, w1,  w18);
1210    TEST_3R("ave_u.w", 224,  80, w28, w28, w1);
1211    TEST_3R("ave_u.w", 232, 152, w29, w14, w20);
1212    TEST_3R("ave_u.w", 240,  88, w30, w12, w2);
1213    TEST_3R("ave_u.w",  16, 120, w31, w3,  w24);
1214    TEST_3R("ave_u.d",   0, 120, w0,  w24, w9);
1215    TEST_3R("ave_u.d",   8,  72, w1,  w27, w10);
1216    TEST_3R("ave_u.d",  16,  56, w2,  w20, w23);
1217    TEST_3R("ave_u.d",  24, 208, w3,  w1,  w9);
1218    TEST_3R("ave_u.d",  32,  56, w4,  w23, w21);
1219    TEST_3R("ave_u.d",  40, 200, w5,  w24, w8);
1220    TEST_3R("ave_u.d",  48,  40, w6,  w20, w9);
1221    TEST_3R("ave_u.d",  56,  72, w7,  w3,  w30);
1222    TEST_3R("ave_u.d",  64, 160, w8,  w15, w0);
1223    TEST_3R("ave_u.d",  72, 152, w9,  w18, w25);
1224    TEST_3R("ave_u.d",  80,  32, w10, w24, w17);
1225    TEST_3R("ave_u.d",  88,  80, w11, w11, w11);
1226    TEST_3R("ave_u.d",  96, 152, w12, w17, w0);
1227    TEST_3R("ave_u.d", 104, 224, w13, w12, w1);
1228    TEST_3R("ave_u.d", 112,  80, w14, w19, w24);
1229    TEST_3R("ave_u.d", 120,  72, w15, w2,  w17);
1230    TEST_3R("ave_u.d", 128,  56, w16, w10, w5);
1231    TEST_3R("ave_u.d", 136,  80, w17, w8,  w23);
1232    TEST_3R("ave_u.d", 144,  24, w18, w23, w6);
1233    TEST_3R("ave_u.d", 152, 224, w19, w16, w3);
1234    TEST_3R("ave_u.d", 160,  72, w20, w1,  w10);
1235    TEST_3R("ave_u.d", 168, 104, w21, w13, w27);
1236    TEST_3R("ave_u.d", 176,  64, w22, w13, w13);
1237    TEST_3R("ave_u.d", 184,  48, w23, w21, w15);
1238    TEST_3R("ave_u.d", 192,   8, w24, w9,  w7);
1239    TEST_3R("ave_u.d", 200, 216, w25, w11, w25);
1240    TEST_3R("ave_u.d", 208, 200, w26, w12, w21);
1241    TEST_3R("ave_u.d", 216,  64, w27, w5,  w29);
1242    TEST_3R("ave_u.d", 224,  24, w28, w28, w30);
1243    TEST_3R("ave_u.d", 232, 160, w29, w20, w4);
1244    TEST_3R("ave_u.d", 240, 152, w30, w4,  w7);
1245    TEST_3R("ave_u.d", 208,  96, w31, w6,  w17);
1246    TEST_3R("aver_s.b",   0, 144, w0,  w31, w16);
1247    TEST_3R("aver_s.b",   8,  32, w1,  w8,  w1);
1248    TEST_3R("aver_s.b",  16, 232, w2,  w19, w16);
1249    TEST_3R("aver_s.b",  24,  16, w3,  w8,  w14);
1250    TEST_3R("aver_s.b",  32,  16, w4,  w6,  w20);
1251    TEST_3R("aver_s.b",  40, 208, w5,  w4,  w18);
1252    TEST_3R("aver_s.b",  48, 232, w6,  w8,  w26);
1253    TEST_3R("aver_s.b",  56,  40, w7,  w15, w3);
1254    TEST_3R("aver_s.b",  64,  16, w8,  w1,  w4);
1255    TEST_3R("aver_s.b",  72,  32, w9,  w13, w14);
1256    TEST_3R("aver_s.b",  80,  88, w10, w10, w29);
1257    TEST_3R("aver_s.b",  88,   0, w11, w20, w3);
1258    TEST_3R("aver_s.b",  96, 136, w12, w12, w12);
1259    TEST_3R("aver_s.b", 104,  24, w13, w5,  w9);
1260    TEST_3R("aver_s.b", 112, 120, w14, w20, w18);
1261    TEST_3R("aver_s.b", 120,  40, w15, w9,  w24);
1262    TEST_3R("aver_s.b", 128,  88, w16, w26, w26);
1263    TEST_3R("aver_s.b", 136, 160, w17, w16, w31);
1264    TEST_3R("aver_s.b", 144, 176, w18, w10, w8);
1265    TEST_3R("aver_s.b", 152, 192, w19, w13, w24);
1266    TEST_3R("aver_s.b", 160,   0, w20, w17, w27);
1267    TEST_3R("aver_s.b", 168, 144, w21, w31, w13);
1268    TEST_3R("aver_s.b", 176, 152, w22, w2,  w3);
1269    TEST_3R("aver_s.b", 184, 184, w23, w8,  w12);
1270    TEST_3R("aver_s.b", 192,  64, w24, w28, w30);
1271    TEST_3R("aver_s.b", 200, 112, w25, w5,  w22);
1272    TEST_3R("aver_s.b", 208, 224, w26, w31, w18);
1273    TEST_3R("aver_s.b", 216,  88, w27, w30, w22);
1274    TEST_3R("aver_s.b", 224, 104, w28, w7,  w10);
1275    TEST_3R("aver_s.b", 232, 104, w29, w31, w30);
1276    TEST_3R("aver_s.b", 240, 184, w30, w26, w0);
1277    TEST_3R("aver_s.b",  24, 120, w31, w25, w0);
1278    TEST_3R("aver_s.h",   0, 184, w0,  w2,  w11);
1279    TEST_3R("aver_s.h",   8,  32, w1,  w10, w1);
1280    TEST_3R("aver_s.h",  16, 208, w2,  w4,  w7);
1281    TEST_3R("aver_s.h",  24,  72, w3,  w8,  w12);
1282    TEST_3R("aver_s.h",  32,  24, w4,  w9,  w12);
1283    TEST_3R("aver_s.h",  40,  16, w5,  w27, w10);
1284    TEST_3R("aver_s.h",  48,  72, w6,  w24, w17);
1285    TEST_3R("aver_s.h",  56,  72, w7,  w2,  w16);
1286    TEST_3R("aver_s.h",  64,  72, w8,  w29, w10);
1287    TEST_3R("aver_s.h",  72, 232, w9,  w24, w3);
1288    TEST_3R("aver_s.h",  80, 104, w10, w10, w0);
1289    TEST_3R("aver_s.h",  88, 152, w11, w1,  w26);
1290    TEST_3R("aver_s.h",  96, 128, w12, w12, w12);
1291    TEST_3R("aver_s.h", 104, 216, w13, w30, w18);
1292    TEST_3R("aver_s.h", 112,  48, w14, w6,  w31);
1293    TEST_3R("aver_s.h", 120, 192, w15, w16, w11);
1294    TEST_3R("aver_s.h", 128,  16, w16, w11, w11);
1295    TEST_3R("aver_s.h", 136,  96, w17, w26, w3);
1296    TEST_3R("aver_s.h", 144, 112, w18, w25, w5);
1297    TEST_3R("aver_s.h", 152, 208, w19, w23, w3);
1298    TEST_3R("aver_s.h", 160, 160, w20, w22, w27);
1299    TEST_3R("aver_s.h", 168,  32, w21, w20, w28);
1300    TEST_3R("aver_s.h", 176,  72, w22, w21, w7);
1301    TEST_3R("aver_s.h", 184, 120, w23, w1,  w10);
1302    TEST_3R("aver_s.h", 192, 112, w24, w19, w3);
1303    TEST_3R("aver_s.h", 200,  32, w25, w18, w9);
1304    TEST_3R("aver_s.h", 208, 104, w26, w29, w13);
1305    TEST_3R("aver_s.h", 216, 176, w27, w19, w7);
1306    TEST_3R("aver_s.h", 224, 120, w28, w26, w1);
1307    TEST_3R("aver_s.h", 232,  24, w29, w17, w24);
1308    TEST_3R("aver_s.h", 240,  80, w30, w19, w14);
1309    TEST_3R("aver_s.h",   8, 176, w31, w25, w3);
1310    TEST_3R("aver_s.w",   0,  88, w0,  w24, w26);
1311    TEST_3R("aver_s.w",   8, 176, w1,  w25, w1);
1312    TEST_3R("aver_s.w",  16,  88, w2,  w10, w13);
1313    TEST_3R("aver_s.w",  24, 176, w3,  w30, w31);
1314    TEST_3R("aver_s.w",  32, 200, w4,  w2,  w29);
1315    TEST_3R("aver_s.w",  40, 208, w5,  w18, w16);
1316    TEST_3R("aver_s.w",  48, 144, w6,  w5,  w10);
1317    TEST_3R("aver_s.w",  56, 208, w7,  w29, w27);
1318    TEST_3R("aver_s.w",  64, 216, w8,  w25, w15);
1319    TEST_3R("aver_s.w",  72,  64, w9,  w16, w8);
1320    TEST_3R("aver_s.w",  80, 128, w10, w10, w3);
1321    TEST_3R("aver_s.w",  88, 224, w11, w10, w29);
1322    TEST_3R("aver_s.w",  96, 192, w12, w12, w12);
1323    TEST_3R("aver_s.w", 104,  16, w13, w2,  w29);
1324    TEST_3R("aver_s.w", 112, 176, w14, w11, w28);
1325    TEST_3R("aver_s.w", 120,  72, w15, w28, w30);
1326    TEST_3R("aver_s.w", 128,   0, w16, w27, w27);
1327    TEST_3R("aver_s.w", 136, 144, w17, w29, w2);
1328    TEST_3R("aver_s.w", 144, 176, w18, w7,  w9);
1329    TEST_3R("aver_s.w", 152, 232, w19, w2,  w9);
1330    TEST_3R("aver_s.w", 160,   8, w20, w17, w24);
1331    TEST_3R("aver_s.w", 168,  72, w21, w25, w9);
1332    TEST_3R("aver_s.w", 176,  24, w22, w15, w19);
1333    TEST_3R("aver_s.w", 184, 128, w23, w2,  w31);
1334    TEST_3R("aver_s.w", 192, 152, w24, w7,  w10);
1335    TEST_3R("aver_s.w", 200,  56, w25, w23, w6);
1336    TEST_3R("aver_s.w", 208, 168, w26, w4,  w2);
1337    TEST_3R("aver_s.w", 216,  80, w27, w1,  w4);
1338    TEST_3R("aver_s.w", 224,  16, w28, w8,  w13);
1339    TEST_3R("aver_s.w", 232, 120, w29, w11, w23);
1340    TEST_3R("aver_s.w", 240, 136, w30, w28, w15);
1341    TEST_3R("aver_s.w",   0, 216, w31, w22, w24);
1342    TEST_3R("aver_s.d",   0, 184, w0,  w12, w23);
1343    TEST_3R("aver_s.d",   8,  16, w1,  w3,  w1);
1344    TEST_3R("aver_s.d",  16,  16, w2,  w8,  w10);
1345    TEST_3R("aver_s.d",  24, 144, w3,  w4,  w2);
1346    TEST_3R("aver_s.d",  32,  24, w4,  w30, w6);
1347    TEST_3R("aver_s.d",  40,  88, w5,  w9,  w8);
1348    TEST_3R("aver_s.d",  48, 152, w6,  w10, w16);
1349    TEST_3R("aver_s.d",  56, 160, w7,  w29, w27);
1350    TEST_3R("aver_s.d",  64,  96, w8,  w29, w24);
1351    TEST_3R("aver_s.d",  72, 152, w9,  w24, w14);
1352    TEST_3R("aver_s.d",  80,   0, w10, w10, w19);
1353    TEST_3R("aver_s.d",  88,  56, w11, w4,  w10);
1354    TEST_3R("aver_s.d",  96, 176, w12, w12, w12);
1355    TEST_3R("aver_s.d", 104,   0, w13, w0,  w3);
1356    TEST_3R("aver_s.d", 112, 144, w14, w0,  w7);
1357    TEST_3R("aver_s.d", 120, 120, w15, w6,  w26);
1358    TEST_3R("aver_s.d", 128, 192, w16, w15, w15);
1359    TEST_3R("aver_s.d", 136,  16, w17, w27, w25);
1360    TEST_3R("aver_s.d", 144, 232, w18, w21, w23);
1361    TEST_3R("aver_s.d", 152, 176, w19, w6,  w20);
1362    TEST_3R("aver_s.d", 160, 176, w20, w6,  w12);
1363    TEST_3R("aver_s.d", 168,  64, w21, w31, w8);
1364    TEST_3R("aver_s.d", 176,   8, w22, w9,  w3);
1365    TEST_3R("aver_s.d", 184,   8, w23, w9,  w7);
1366    TEST_3R("aver_s.d", 192,  32, w24, w9,  w14);
1367    TEST_3R("aver_s.d", 200,   8, w25, w16, w20);
1368    TEST_3R("aver_s.d", 208,  72, w26, w31, w4);
1369    TEST_3R("aver_s.d", 216,  96, w27, w26, w29);
1370    TEST_3R("aver_s.d", 224, 200, w28, w16, w20);
1371    TEST_3R("aver_s.d", 232, 144, w29, w22, w8);
1372    TEST_3R("aver_s.d", 240, 200, w30, w29, w21);
1373    TEST_3R("aver_s.d",  40, 128, w31, w28, w20);
1374    TEST_3R("aver_u.b",   0, 176, w0,  w29, w7);
1375    TEST_3R("aver_u.b",   8,  96, w1,  w11, w24);
1376    TEST_3R("aver_u.b",  16, 144, w2,  w0,  w4);
1377    TEST_3R("aver_u.b",  24,  40, w3,  w4,  w18);
1378    TEST_3R("aver_u.b",  32, 168, w4,  w1,  w19);
1379    TEST_3R("aver_u.b",  40,  96, w5,  w22, w2);
1380    TEST_3R("aver_u.b",  48, 152, w6,  w30, w24);
1381    TEST_3R("aver_u.b",  56, 208, w7,  w19, w19);
1382    TEST_3R("aver_u.b",  64, 168, w8,  w26, w21);
1383    TEST_3R("aver_u.b",  72,  96, w9,  w6,  w11);
1384    TEST_3R("aver_u.b",  80, 216, w10, w13, w10);
1385    TEST_3R("aver_u.b",  88, 224, w11, w30, w20);
1386    TEST_3R("aver_u.b",  96, 200, w12, w31, w20);
1387    TEST_3R("aver_u.b", 104,   8, w13, w31, w24);
1388    TEST_3R("aver_u.b", 112, 152, w14, w26, w25);
1389    TEST_3R("aver_u.b", 120, 200, w15, w4,  w5);
1390    TEST_3R("aver_u.b", 128, 192, w16, w8,  w3);
1391    TEST_3R("aver_u.b", 136,  88, w17, w11, w29);
1392    TEST_3R("aver_u.b", 144, 120, w18, w0,  w23);
1393    TEST_3R("aver_u.b", 152,  56, w19, w12, w27);
1394    TEST_3R("aver_u.b", 160, 120, w20, w6,  w27);
1395    TEST_3R("aver_u.b", 168,  72, w21, w10, w27);
1396    TEST_3R("aver_u.b", 176, 104, w22, w22, w18);
1397    TEST_3R("aver_u.b", 184, 112, w23, w20, w12);
1398    TEST_3R("aver_u.b", 192, 184, w24, w14, w25);
1399    TEST_3R("aver_u.b", 200, 216, w25, w29, w9);
1400    TEST_3R("aver_u.b", 208, 176, w26, w11, w17);
1401    TEST_3R("aver_u.b", 216,   8, w27, w13, w28);
1402    TEST_3R("aver_u.b", 224, 184, w28, w22, w6);
1403    TEST_3R("aver_u.b", 232, 104, w29, w17, w3);
1404    TEST_3R("aver_u.b", 240, 136, w30, w30, w30);
1405    TEST_3R("aver_u.b",   8,   0, w31, w30, w5);
1406    TEST_3R("aver_u.h",   0, 224, w0,  w2,  w21);
1407    TEST_3R("aver_u.h",   8, 112, w1,  w22, w8);
1408    TEST_3R("aver_u.h",  16, 144, w2,  w27, w1);
1409    TEST_3R("aver_u.h",  24,   8, w3,  w4,  w0);
1410    TEST_3R("aver_u.h",  32,  72, w4,  w21, w2);
1411    TEST_3R("aver_u.h",  40,  96, w5,  w17, w1);
1412    TEST_3R("aver_u.h",  48,   0, w6,  w13, w24);
1413    TEST_3R("aver_u.h",  56, 120, w7,  w22, w22);
1414    TEST_3R("aver_u.h",  64, 128, w8,  w26, w19);
1415    TEST_3R("aver_u.h",  72,  96, w9,  w24, w4);
1416    TEST_3R("aver_u.h",  80, 200, w10, w26, w10);
1417    TEST_3R("aver_u.h",  88, 104, w11, w6,  w17);
1418    TEST_3R("aver_u.h",  96,   0, w12, w14, w21);
1419    TEST_3R("aver_u.h", 104, 136, w13, w16, w23);
1420    TEST_3R("aver_u.h", 112,  56, w14, w16, w5);
1421    TEST_3R("aver_u.h", 120, 232, w15, w18, w31);
1422    TEST_3R("aver_u.h", 128,  56, w16, w19, w13);
1423    TEST_3R("aver_u.h", 136, 176, w17, w7,  w3);
1424    TEST_3R("aver_u.h", 144, 176, w18, w1,  w22);
1425    TEST_3R("aver_u.h", 152,  72, w19, w26, w14);
1426    TEST_3R("aver_u.h", 160, 144, w20, w12, w9);
1427    TEST_3R("aver_u.h", 168,   8, w21, w18, w26);
1428    TEST_3R("aver_u.h", 176, 152, w22, w22, w0);
1429    TEST_3R("aver_u.h", 184,  32, w23, w3,  w16);
1430    TEST_3R("aver_u.h", 192, 168, w24, w29, w0);
1431    TEST_3R("aver_u.h", 200,   8, w25, w11, w18);
1432    TEST_3R("aver_u.h", 208,  56, w26, w11, w6);
1433    TEST_3R("aver_u.h", 216, 224, w27, w24, w17);
1434    TEST_3R("aver_u.h", 224,   0, w28, w27, w6);
1435    TEST_3R("aver_u.h", 232,  24, w29, w17, w31);
1436    TEST_3R("aver_u.h", 240, 128, w30, w30, w30);
1437    TEST_3R("aver_u.h", 104, 152, w31, w11, w8);
1438    TEST_3R("aver_u.w",   0,  88, w0,  w2,  w25);
1439    TEST_3R("aver_u.w",   8,  56, w1,  w18, w28);
1440    TEST_3R("aver_u.w",  16, 176, w2,  w25, w14);
1441    TEST_3R("aver_u.w",  24,  64, w3,  w5,  w1);
1442    TEST_3R("aver_u.w",  32, 232, w4,  w16, w7);
1443    TEST_3R("aver_u.w",  40, 224, w5,  w8,  w24);
1444    TEST_3R("aver_u.w",  48, 224, w6,  w3,  w31);
1445    TEST_3R("aver_u.w",  56, 232, w7,  w20, w20);
1446    TEST_3R("aver_u.w",  64,   0, w8,  w20, w19);
1447    TEST_3R("aver_u.w",  72, 152, w9,  w31, w28);
1448    TEST_3R("aver_u.w",  80, 184, w10, w28, w10);
1449    TEST_3R("aver_u.w",  88, 160, w11, w23, w25);
1450    TEST_3R("aver_u.w",  96,  56, w12, w20, w7);
1451    TEST_3R("aver_u.w", 104, 224, w13, w22, w14);
1452    TEST_3R("aver_u.w", 112, 208, w14, w23, w31);
1453    TEST_3R("aver_u.w", 120, 200, w15, w30, w11);
1454    TEST_3R("aver_u.w", 128, 232, w16, w22, w27);
1455    TEST_3R("aver_u.w", 136, 224, w17, w21, w16);
1456    TEST_3R("aver_u.w", 144, 224, w18, w17, w4);
1457    TEST_3R("aver_u.w", 152,   0, w19, w5,  w3);
1458    TEST_3R("aver_u.w", 160,  56, w20, w3,  w31);
1459    TEST_3R("aver_u.w", 168, 224, w21, w27, w25);
1460    TEST_3R("aver_u.w", 176, 192, w22, w22, w15);
1461    TEST_3R("aver_u.w", 184,  32, w23, w9,  w28);
1462    TEST_3R("aver_u.w", 192, 192, w24, w15, w13);
1463    TEST_3R("aver_u.w", 200,   0, w25, w17, w11);
1464    TEST_3R("aver_u.w", 208, 152, w26, w28, w2);
1465    TEST_3R("aver_u.w", 216,  40, w27, w9,  w23);
1466    TEST_3R("aver_u.w", 224, 144, w28, w11, w9);
1467    TEST_3R("aver_u.w", 232, 160, w29, w0,  w14);
1468    TEST_3R("aver_u.w", 240, 112, w30, w30, w30);
1469    TEST_3R("aver_u.w", 120, 176, w31, w17, w22);
1470    TEST_3R("aver_u.d",   0, 168, w0,  w15, w27);
1471    TEST_3R("aver_u.d",   8, 208, w1,  w10, w24);
1472    TEST_3R("aver_u.d",  16,  40, w2,  w7,  w19);
1473    TEST_3R("aver_u.d",  24, 152, w3,  w24, w31);
1474    TEST_3R("aver_u.d",  32,  72, w4,  w20, w1);
1475    TEST_3R("aver_u.d",  40, 232, w5,  w30, w24);
1476    TEST_3R("aver_u.d",  48, 136, w6,  w9,  w1);
1477    TEST_3R("aver_u.d",  56, 216, w7,  w9,  w9);
1478    TEST_3R("aver_u.d",  64, 176, w8,  w17, w26);
1479    TEST_3R("aver_u.d",  72, 168, w9,  w7,  w26);
1480    TEST_3R("aver_u.d",  80, 152, w10, w22, w10);
1481    TEST_3R("aver_u.d",  88, 208, w11, w9,  w6);
1482    TEST_3R("aver_u.d",  96, 104, w12, w1,  w7);
1483    TEST_3R("aver_u.d", 104, 112, w13, w31, w0);
1484    TEST_3R("aver_u.d", 112,  32, w14, w30, w27);
1485    TEST_3R("aver_u.d", 120, 224, w15, w31, w21);
1486    TEST_3R("aver_u.d", 128,  72, w16, w24, w29);
1487    TEST_3R("aver_u.d", 136, 160, w17, w25, w24);
1488    TEST_3R("aver_u.d", 144, 168, w18, w9,  w31);
1489    TEST_3R("aver_u.d", 152,  96, w19, w17, w25);
1490    TEST_3R("aver_u.d", 160,  72, w20, w7,  w0);
1491    TEST_3R("aver_u.d", 168, 104, w21, w25, w1);
1492    TEST_3R("aver_u.d", 176, 120, w22, w22, w0);
1493    TEST_3R("aver_u.d", 184, 104, w23, w25, w0);
1494    TEST_3R("aver_u.d", 192,   8, w24, w23, w28);
1495    TEST_3R("aver_u.d", 200,   0, w25, w23, w17);
1496    TEST_3R("aver_u.d", 208,  72, w26, w15, w14);
1497    TEST_3R("aver_u.d", 216, 112, w27, w8,  w6);
1498    TEST_3R("aver_u.d", 224, 112, w28, w17, w15);
1499    TEST_3R("aver_u.d", 232, 232, w29, w27, w0);
1500    TEST_3R("aver_u.d", 240,  80, w30, w30, w30);
1501    TEST_3R("aver_u.d",   0,  48, w31, w8,  w0);
1502    TEST_3R("div_s.b",   0,  64, w0,  w10, w3);
1503    TEST_3R("div_s.b",   8,  80, w1,  w17, w8);
1504    TEST_3R("div_s.b",  16,  64, w2,  w28, w24);
1505    TEST_3R("div_s.b",  24, 224, w3,  w21, w9);
1506    TEST_3R("div_s.b",  32,  80, w4,  w22, w26);
1507    TEST_3R("div_s.b",  40, 240, w5,  w15, w14);
1508    TEST_3R("div_s.b",  48, 128, w6,  w26, w13);
1509    TEST_3R("div_s.b",  56, 208, w7,  w13, w18);
1510    TEST_3R("div_s.b",  64,  80, w8,  w16, w18);
1511    TEST_3R("div_s.b",  72,  64, w9,  w10, w11);
1512    TEST_3R("div_s.b",  80,  80, w10, w21, w14);
1513    TEST_3R("div_s.b",  88,  80, w11, w22, w31);
1514    TEST_3R("div_s.b",  96,  96, w12, w0,  w27);
1515    TEST_3R("div_s.b", 104,  80, w13, w13, w13);
1516    TEST_3R("div_s.b", 112,  16, w14, w16, w12);
1517    TEST_3R("div_s.b", 120, 224, w15, w6,  w26);
1518    TEST_3R("div_s.b", 128,  16, w16, w20, w1);
1519    TEST_3R("div_s.b", 136, 224, w17, w1,  w22);
1520    TEST_3R("div_s.b", 144, 224, w18, w20, w27);
1521    TEST_3R("div_s.b", 152,  16, w19, w6,  w14);
1522    TEST_3R("div_s.b", 160, 208, w20, w17, w23);
1523    TEST_3R("div_s.b", 168, 128, w21, w31, w26);
1524    TEST_3R("div_s.b", 176, 128, w22, w31, w4);
1525    TEST_3R("div_s.b", 184, 240, w23, w26, w26);
1526    TEST_3R("div_s.b", 192,  96, w24, w14, w24);
1527    TEST_3R("div_s.b", 200,  64, w25, w20, w30);
1528    TEST_3R("div_s.b", 208, 240, w26, w26, w24);
1529    TEST_3R("div_s.b", 216,  16, w27, w15, w26);
1530    TEST_3R("div_s.b", 224, 128, w28, w16, w22);
1531    TEST_3R("div_s.b", 232,  96, w29, w11, w4);
1532    TEST_3R("div_s.b", 240, 128, w30, w25, w28);
1533    TEST_3R("div_s.b",   8, 128, w31, w17, w10);
1534    TEST_3R("div_s.h",   0, 240, w0,  w14, w27);
1535    TEST_3R("div_s.h",   8, 240, w1,  w18, w21);
1536    TEST_3R("div_s.h",  16,  96, w2,  w1,  w0);
1537    TEST_3R("div_s.h",  24, 208, w3,  w31, w18);
1538    TEST_3R("div_s.h",  32, 128, w4,  w24, w25);
1539    TEST_3R("div_s.h",  40, 208, w5,  w18, w17);
1540    TEST_3R("div_s.h",  48,  64, w6,  w2,  w7);
1541    TEST_3R("div_s.h",  56, 128, w7,  w13, w11);
1542    TEST_3R("div_s.h",  64,  16, w8,  w7,  w17);
1543    TEST_3R("div_s.h",  72,  96, w9,  w18, w13);
1544    TEST_3R("div_s.h",  80,  80, w10, w0,  w8);
1545    TEST_3R("div_s.h",  88,  64, w11, w18, w29);
1546    TEST_3R("div_s.h",  96, 128, w12, w19, w30);
1547    TEST_3R("div_s.h", 104,  96, w13, w13, w13);
1548    TEST_3R("div_s.h", 112,  96, w14, w16, w26);
1549    TEST_3R("div_s.h", 120, 208, w15, w9,  w14);
1550    TEST_3R("div_s.h", 128, 240, w16, w27, w19);
1551    TEST_3R("div_s.h", 136, 128, w17, w2,  w29);
1552    TEST_3R("div_s.h", 144,  96, w18, w14, w17);
1553    TEST_3R("div_s.h", 152,  96, w19, w22, w2);
1554    TEST_3R("div_s.h", 160, 224, w20, w8,  w15);
1555    TEST_3R("div_s.h", 168,  64, w21, w8,  w23);
1556    TEST_3R("div_s.h", 176,  80, w22, w26, w21);
1557    TEST_3R("div_s.h", 184,  96, w23, w14, w14);
1558    TEST_3R("div_s.h", 192,  64, w24, w31, w24);
1559    TEST_3R("div_s.h", 200, 128, w25, w3,  w12);
1560    TEST_3R("div_s.h", 208,  64, w26, w26, w7);
1561    TEST_3R("div_s.h", 216,  80, w27, w7,  w8);
1562    TEST_3R("div_s.h", 224,  16, w28, w24, w20);
1563    TEST_3R("div_s.h", 232, 224, w29, w9,  w8);
1564    TEST_3R("div_s.h", 240, 224, w30, w12, w19);
1565    TEST_3R("div_s.h",  64, 224, w31, w27, w2);
1566    TEST_3R("div_s.w",   0,  16, w0,  w3,  w24);
1567    TEST_3R("div_s.w",   8,  96, w1,  w13, w6);
1568    TEST_3R("div_s.w",  16, 224, w2,  w12, w7);
1569    TEST_3R("div_s.w",  24,  80, w3,  w5,  w19);
1570    TEST_3R("div_s.w",  32,  80, w4,  w13, w28);
1571    TEST_3R("div_s.w",  40, 128, w5,  w8,  w4);
1572    TEST_3R("div_s.w",  48, 128, w6,  w0,  w25);
1573    TEST_3R("div_s.w",  56,  80, w7,  w9,  w1);
1574    TEST_3R("div_s.w",  64,  16, w8,  w21, w20);
1575    TEST_3R("div_s.w",  72, 224, w9,  w17, w22);
1576    TEST_3R("div_s.w",  80, 224, w10, w4,  w25);
1577    TEST_3R("div_s.w",  88, 208, w11, w12, w7);
1578    TEST_3R("div_s.w",  96, 128, w12, w7,  w19);
1579    TEST_3R("div_s.w", 104, 208, w13, w13, w13);
1580    TEST_3R("div_s.w", 112, 240, w14, w25, w16);
1581    TEST_3R("div_s.w", 120,  64, w15, w6,  w12);
1582    TEST_3R("div_s.w", 128, 208, w16, w14, w17);
1583    TEST_3R("div_s.w", 136,  64, w17, w14, w10);
1584    TEST_3R("div_s.w", 144,  96, w18, w23, w11);
1585    TEST_3R("div_s.w", 152,  96, w19, w13, w31);
1586    TEST_3R("div_s.w", 160,  64, w20, w30, w22);
1587    TEST_3R("div_s.w", 168,  16, w21, w2,  w15);
1588    TEST_3R("div_s.w", 176, 208, w22, w14, w5);
1589    TEST_3R("div_s.w", 184,  64, w23, w10, w10);
1590    TEST_3R("div_s.w", 192,  96, w24, w26, w24);
1591    TEST_3R("div_s.w", 200,  64, w25, w17, w9);
1592    TEST_3R("div_s.w", 208,  96, w26, w26, w30);
1593    TEST_3R("div_s.w", 216,  16, w27, w23, w15);
1594    TEST_3R("div_s.w", 224,  80, w28, w5,  w25);
1595    TEST_3R("div_s.w", 232, 208, w29, w28, w4);
1596    TEST_3R("div_s.w", 240,  64, w30, w9,  w3);
1597    TEST_3R("div_s.w", 152,  80, w31, w7,  w25);
1598    TEST_3R("div_s.d",   0, 240, w0,  w9,  w10);
1599    TEST_3R("div_s.d",   8, 128, w1,  w31, w15);
1600    TEST_3R("div_s.d",  16, 224, w2,  w9,  w17);
1601    TEST_3R("div_s.d",  24,  16, w3,  w12, w2);
1602    TEST_3R("div_s.d",  32,  96, w4,  w21, w0);
1603    TEST_3R("div_s.d",  40,  96, w5,  w12, w15);
1604    TEST_3R("div_s.d",  48, 208, w6,  w17, w8);
1605    TEST_3R("div_s.d",  56,  96, w7,  w14, w12);
1606    TEST_3R("div_s.d",  64, 128, w8,  w23, w16);
1607    TEST_3R("div_s.d",  72,  16, w9,  w31, w30);
1608    TEST_3R("div_s.d",  80,  16, w10, w18, w9);
1609    TEST_3R("div_s.d",  88, 128, w11, w18, w24);
1610    TEST_3R("div_s.d",  96,  96, w12, w27, w9);
1611    TEST_3R("div_s.d", 104,  16, w13, w13, w13);
1612    TEST_3R("div_s.d", 112, 208, w14, w12, w3);
1613    TEST_3R("div_s.d", 120,  80, w15, w12, w30);
1614    TEST_3R("div_s.d", 128,  96, w16, w28, w1);
1615    TEST_3R("div_s.d", 136,  64, w17, w4,  w31);
1616    TEST_3R("div_s.d", 144,  64, w18, w17, w10);
1617    TEST_3R("div_s.d", 152,  16, w19, w1,  w14);
1618    TEST_3R("div_s.d", 160,  16, w20, w10, w12);
1619    TEST_3R("div_s.d", 168, 240, w21, w29, w8);
1620    TEST_3R("div_s.d", 176,  80, w22, w14, w21);
1621    TEST_3R("div_s.d", 184,  80, w23, w8,  w8);
1622    TEST_3R("div_s.d", 192,  96, w24, w3,  w24);
1623    TEST_3R("div_s.d", 200,  80, w25, w16, w9);
1624    TEST_3R("div_s.d", 208,  80, w26, w26, w12);
1625    TEST_3R("div_s.d", 216,  64, w27, w21, w16);
1626    TEST_3R("div_s.d", 224,  96, w28, w31, w1);
1627    TEST_3R("div_s.d", 232,  64, w29, w0,  w2);
1628    TEST_3R("div_s.d", 240, 224, w30, w0,  w13);
1629    TEST_3R("div_s.d", 208,  96, w31, w8,  w10);
1630    TEST_3R("div_u.b",   0, 224, w0,  w9,  w14);
1631    TEST_3R("div_u.b",   8, 224, w1,  w12, w25);
1632    TEST_3R("div_u.b",  16,  16, w2,  w28, w0);
1633    TEST_3R("div_u.b",  24, 208, w3,  w12, w12);
1634    TEST_3R("div_u.b",  32, 128, w4,  w25, w22);
1635    TEST_3R("div_u.b",  40, 128, w5,  w26, w9);
1636    TEST_3R("div_u.b",  48,  96, w6,  w29, w6);
1637    TEST_3R("div_u.b",  56,  64, w7,  w20, w10);
1638    TEST_3R("div_u.b",  64, 128, w8,  w29, w20);
1639    TEST_3R("div_u.b",  72, 224, w9,  w14, w13);
1640    TEST_3R("div_u.b",  80, 240, w10, w20, w16);
1641    TEST_3R("div_u.b",  88,  96, w11, w2,  w6);
1642    TEST_3R("div_u.b",  96, 208, w12, w27, w0);
1643    TEST_3R("div_u.b", 104,  64, w13, w12, w8);
1644    TEST_3R("div_u.b", 112, 240, w14, w2,  w1);
1645    TEST_3R("div_u.b", 120,  64, w15, w22, w28);
1646    TEST_3R("div_u.b", 128, 128, w16, w11, w25);
1647    TEST_3R("div_u.b", 136,  96, w17, w17, w31);
1648    TEST_3R("div_u.b", 144, 240, w18, w13, w28);
1649    TEST_3R("div_u.b", 152, 128, w19, w9,  w10);
1650    TEST_3R("div_u.b", 160, 128, w20, w23, w30);
1651    TEST_3R("div_u.b", 168,  96, w21, w14, w0);
1652    TEST_3R("div_u.b", 176, 240, w22, w18, w27);
1653    TEST_3R("div_u.b", 184, 128, w23, w18, w24);
1654    TEST_3R("div_u.b", 192, 224, w24, w26, w2);
1655    TEST_3R("div_u.b", 200, 128, w25, w25, w25);
1656    TEST_3R("div_u.b", 208,  16, w26, w1,  w12);
1657    TEST_3R("div_u.b", 216,  64, w27, w10, w23);
1658    TEST_3R("div_u.b", 224, 128, w28, w30, w23);
1659    TEST_3R("div_u.b", 232,  96, w29, w11, w19);
1660    TEST_3R("div_u.b", 240, 128, w30, w21, w15);
1661    TEST_3R("div_u.b",   8,  96, w31, w28, w3);
1662    TEST_3R("div_u.h",   0,  16, w0,  w30, w13);
1663    TEST_3R("div_u.h",   8,  64, w1,  w6,  w31);
1664    TEST_3R("div_u.h",  16,  96, w2,  w26, w25);
1665    TEST_3R("div_u.h",  24, 208, w3,  w16, w16);
1666    TEST_3R("div_u.h",  32, 208, w4,  w20, w28);
1667    TEST_3R("div_u.h",  40, 224, w5,  w31, w20);
1668    TEST_3R("div_u.h",  48,  96, w6,  w29, w6);
1669    TEST_3R("div_u.h",  56, 224, w7,  w18, w9);
1670    TEST_3R("div_u.h",  64, 128, w8,  w29, w30);
1671    TEST_3R("div_u.h",  72,  64, w9,  w12, w10);
1672    TEST_3R("div_u.h",  80, 224, w10, w16, w5);
1673    TEST_3R("div_u.h",  88, 224, w11, w14, w18);
1674    TEST_3R("div_u.h",  96, 240, w12, w20, w17);
1675    TEST_3R("div_u.h", 104,  80, w13, w14, w11);
1676    TEST_3R("div_u.h", 112, 240, w14, w30, w0);
1677    TEST_3R("div_u.h", 120, 224, w15, w27, w14);
1678    TEST_3R("div_u.h", 128,  96, w16, w15, w12);
1679    TEST_3R("div_u.h", 136, 240, w17, w17, w26);
1680    TEST_3R("div_u.h", 144, 128, w18, w12, w24);
1681    TEST_3R("div_u.h", 152,  64, w19, w10, w21);
1682    TEST_3R("div_u.h", 160,  64, w20, w21, w14);
1683    TEST_3R("div_u.h", 168, 240, w21, w26, w4);
1684    TEST_3R("div_u.h", 176, 128, w22, w13, w18);
1685    TEST_3R("div_u.h", 184,  80, w23, w30, w18);
1686    TEST_3R("div_u.h", 192,  64, w24, w9,  w4);
1687    TEST_3R("div_u.h", 200,  80, w25, w25, w25);
1688    TEST_3R("div_u.h", 208,  16, w26, w11, w4);
1689    TEST_3R("div_u.h", 216, 128, w27, w17, w19);
1690    TEST_3R("div_u.h", 224,  96, w28, w21, w13);
1691    TEST_3R("div_u.h", 232,  16, w29, w1,  w5);
1692    TEST_3R("div_u.h", 240,  64, w30, w12, w26);
1693    TEST_3R("div_u.h",   8,  80, w31, w1,  w8);
1694    TEST_3R("div_u.w",   0,  16, w0,  w12, w9);
1695    TEST_3R("div_u.w",   8, 240, w1,  w31, w5);
1696    TEST_3R("div_u.w",  16,  16, w2,  w17, w16);
1697    TEST_3R("div_u.w",  24,  64, w3,  w21, w21);
1698    TEST_3R("div_u.w",  32, 208, w4,  w26, w1);
1699    TEST_3R("div_u.w",  40, 240, w5,  w18, w16);
1700    TEST_3R("div_u.w",  48, 208, w6,  w7,  w6);
1701    TEST_3R("div_u.w",  56,  80, w7,  w26, w9);
1702    TEST_3R("div_u.w",  64, 208, w8,  w26, w21);
1703    TEST_3R("div_u.w",  72, 208, w9,  w3,  w22);
1704    TEST_3R("div_u.w",  80,  80, w10, w5,  w17);
1705    TEST_3R("div_u.w",  88,  64, w11, w15, w26);
1706    TEST_3R("div_u.w",  96,  80, w12, w20, w1);
1707    TEST_3R("div_u.w", 104, 240, w13, w4,  w17);
1708    TEST_3R("div_u.w", 112,  16, w14, w29, w12);
1709    TEST_3R("div_u.w", 120,  96, w15, w26, w30);
1710    TEST_3R("div_u.w", 128,  80, w16, w10, w21);
1711    TEST_3R("div_u.w", 136,  16, w17, w17, w7);
1712    TEST_3R("div_u.w", 144,  80, w18, w27, w10);
1713    TEST_3R("div_u.w", 152, 224, w19, w16, w7);
1714    TEST_3R("div_u.w", 160,  96, w20, w6,  w12);
1715    TEST_3R("div_u.w", 168,  80, w21, w24, w30);
1716    TEST_3R("div_u.w", 176, 240, w22, w18, w15);
1717    TEST_3R("div_u.w", 184,  96, w23, w19, w17);
1718    TEST_3R("div_u.w", 192,  64, w24, w4,  w9);
1719    TEST_3R("div_u.w", 200,  16, w25, w25, w25);
1720    TEST_3R("div_u.w", 208, 240, w26, w1,  w19);
1721    TEST_3R("div_u.w", 216, 128, w27, w12, w30);
1722    TEST_3R("div_u.w", 224, 128, w28, w31, w5);
1723    TEST_3R("div_u.w", 232, 240, w29, w26, w15);
1724    TEST_3R("div_u.w", 240, 208, w30, w11, w22);
1725    TEST_3R("div_u.w",  88,  16, w31, w17, w3);
1726    TEST_3R("div_u.d",   0,  96, w0,  w1,  w3);
1727    TEST_3R("div_u.d",   8, 224, w1,  w17, w26);
1728    TEST_3R("div_u.d",  16,  96, w2,  w21, w19);
1729    TEST_3R("div_u.d",  24,  96, w3,  w14, w14);
1730    TEST_3R("div_u.d",  32,  80, w4,  w13, w2);
1731    TEST_3R("div_u.d",  40, 240, w5,  w25, w0);
1732    TEST_3R("div_u.d",  48, 208, w6,  w24, w6);
1733    TEST_3R("div_u.d",  56, 208, w7,  w11, w19);
1734    TEST_3R("div_u.d",  64,  96, w8,  w10, w30);
1735    TEST_3R("div_u.d",  72, 224, w9,  w23, w15);
1736    TEST_3R("div_u.d",  80,  16, w10, w24, w25);
1737    TEST_3R("div_u.d",  88,  64, w11, w27, w20);
1738    TEST_3R("div_u.d",  96,  96, w12, w21, w3);
1739    TEST_3R("div_u.d", 104, 240, w13, w10, w22);
1740    TEST_3R("div_u.d", 112,  96, w14, w25, w28);
1741    TEST_3R("div_u.d", 120,  96, w15, w12, w21);
1742    TEST_3R("div_u.d", 128,  16, w16, w3,  w14);
1743    TEST_3R("div_u.d", 136,  64, w17, w17, w14);
1744    TEST_3R("div_u.d", 144, 240, w18, w21, w25);
1745    TEST_3R("div_u.d", 152, 224, w19, w1,  w16);
1746    TEST_3R("div_u.d", 160, 240, w20, w15, w8);
1747    TEST_3R("div_u.d", 168, 128, w21, w31, w3);
1748    TEST_3R("div_u.d", 176, 240, w22, w0,  w24);
1749    TEST_3R("div_u.d", 184, 208, w23, w4,  w3);
1750    TEST_3R("div_u.d", 192, 224, w24, w19, w28);
1751    TEST_3R("div_u.d", 200, 240, w25, w25, w25);
1752    TEST_3R("div_u.d", 208,  80, w26, w23, w4);
1753    TEST_3R("div_u.d", 216,  80, w27, w29, w18);
1754    TEST_3R("div_u.d", 224,  16, w28, w12, w19);
1755    TEST_3R("div_u.d", 232,  64, w29, w5,  w18);
1756    TEST_3R("div_u.d", 240,  16, w30, w21, w1);
1757    TEST_3R("div_u.d", 128,  16, w31, w30, w8);
1758    TEST_3R("dotp_s.h",   0,  40, w0,  w10, w30);
1759    TEST_3R("dotp_s.h",   8, 224, w1,  w20, w9);
1760    TEST_3R("dotp_s.h",  16, 168, w2,  w9,  w12);
1761    TEST_3R("dotp_s.h",  24, 144, w3,  w21, w31);
1762    TEST_3R("dotp_s.h",  32, 136, w4,  w30, w5);
1763    TEST_3R("dotp_s.h",  40,   0, w5,  w22, w4);
1764    TEST_3R("dotp_s.h",  48, 112, w6,  w29, w17);
1765    TEST_3R("dotp_s.h",  56,  72, w7,  w16, w22);
1766    TEST_3R("dotp_s.h",  64,  48, w8,  w23, w8);
1767    TEST_3R("dotp_s.h",  72,  16, w9,  w19, w26);
1768    TEST_3R("dotp_s.h",  80, 168, w10, w30, w25);
1769    TEST_3R("dotp_s.h",  88, 160, w11, w18, w2);
1770    TEST_3R("dotp_s.h",  96, 104, w12, w27, w28);
1771    TEST_3R("dotp_s.h", 104,   8, w13, w1,  w27);
1772    TEST_3R("dotp_s.h", 112,  24, w14, w31, w1);
1773    TEST_3R("dotp_s.h", 120,  24, w15, w21, w5);
1774    TEST_3R("dotp_s.h", 128, 136, w16, w18, w22);
1775    TEST_3R("dotp_s.h", 136, 192, w17, w3,  w29);
1776    TEST_3R("dotp_s.h", 144,   8, w18, w27, w20);
1777    TEST_3R("dotp_s.h", 152, 144, w19, w15, w14);
1778    TEST_3R("dotp_s.h", 160,  80, w20, w13, w7);
1779    TEST_3R("dotp_s.h", 168, 168, w21, w31, w31);
1780    TEST_3R("dotp_s.h", 176,   0, w22, w22, w22);
1781    TEST_3R("dotp_s.h", 184,  72, w23, w27, w22);
1782    TEST_3R("dotp_s.h", 192, 136, w24, w3,  w23);
1783    TEST_3R("dotp_s.h", 200, 216, w25, w1,  w23);
1784    TEST_3R("dotp_s.h", 208,  32, w26, w27, w12);
1785    TEST_3R("dotp_s.h", 216,  48, w27, w22, w31);
1786    TEST_3R("dotp_s.h", 224,  16, w28, w6,  w2);
1787    TEST_3R("dotp_s.h", 232, 232, w29, w12, w7);
1788    TEST_3R("dotp_s.h", 240, 136, w30, w12, w21);
1789    TEST_3R("dotp_s.h",  88, 200, w31, w31, w25);
1790    TEST_3R("dotp_s.w",   0,  96, w0,  w25, w7);
1791    TEST_3R("dotp_s.w",   8,  40, w1,  w20, w29);
1792    TEST_3R("dotp_s.w",  16,  56, w2,  w23, w20);
1793    TEST_3R("dotp_s.w",  24, 144, w3,  w25, w11);
1794    TEST_3R("dotp_s.w",  32, 176, w4,  w20, w24);
1795    TEST_3R("dotp_s.w",  40, 232, w5,  w11, w23);
1796    TEST_3R("dotp_s.w",  48, 120, w6,  w17, w25);
1797    TEST_3R("dotp_s.w",  56,   0, w7,  w29, w22);
1798    TEST_3R("dotp_s.w",  64, 144, w8,  w21, w8);
1799    TEST_3R("dotp_s.w",  72,  16, w9,  w16, w28);
1800    TEST_3R("dotp_s.w",  80,  24, w10, w29, w21);
1801    TEST_3R("dotp_s.w",  88, 200, w11, w13, w9);
1802    TEST_3R("dotp_s.w",  96,  88, w12, w28, w1);
1803    TEST_3R("dotp_s.w", 104, 136, w13, w4,  w26);
1804    TEST_3R("dotp_s.w", 112, 184, w14, w8,  w2);
1805    TEST_3R("dotp_s.w", 120, 104, w15, w25, w5);
1806    TEST_3R("dotp_s.w", 128,  48, w16, w18, w17);
1807    TEST_3R("dotp_s.w", 136, 104, w17, w8,  w5);
1808    TEST_3R("dotp_s.w", 144,  56, w18, w11, w14);
1809    TEST_3R("dotp_s.w", 152, 104, w19, w8,  w20);
1810    TEST_3R("dotp_s.w", 160, 224, w20, w29, w1);
1811    TEST_3R("dotp_s.w", 168, 120, w21, w7,  w7);
1812    TEST_3R("dotp_s.w", 176, 160, w22, w22, w22);
1813    TEST_3R("dotp_s.w", 184,  24, w23, w8,  w9);
1814    TEST_3R("dotp_s.w", 192,  32, w24, w2,  w19);
1815    TEST_3R("dotp_s.w", 200, 216, w25, w16, w21);
1816    TEST_3R("dotp_s.w", 208,  32, w26, w10, w14);
1817    TEST_3R("dotp_s.w", 216, 208, w27, w20, w0);
1818    TEST_3R("dotp_s.w", 224,  40, w28, w9,  w7);
1819    TEST_3R("dotp_s.w", 232,  96, w29, w20, w21);
1820    TEST_3R("dotp_s.w", 240,  72, w30, w28, w9);
1821    TEST_3R("dotp_s.w",  64, 200, w31, w31, w26);
1822    TEST_3R("dotp_s.d",   0, 104, w0,  w1,  w21);
1823    TEST_3R("dotp_s.d",   8, 128, w1,  w9,  w30);
1824    TEST_3R("dotp_s.d",  16,  32, w2,  w11, w18);
1825    TEST_3R("dotp_s.d",  24,   8, w3,  w27, w7);
1826    TEST_3R("dotp_s.d",  32, 152, w4,  w5,  w22);
1827    TEST_3R("dotp_s.d",  40,   0, w5,  w26, w22);
1828    TEST_3R("dotp_s.d",  48,  16, w6,  w22, w31);
1829    TEST_3R("dotp_s.d",  56,  40, w7,  w14, w20);
1830    TEST_3R("dotp_s.d",  64, 192, w8,  w19, w8);
1831    TEST_3R("dotp_s.d",  72, 120, w9,  w21, w2);
1832    TEST_3R("dotp_s.d",  80, 152, w10, w31, w9);
1833    TEST_3R("dotp_s.d",  88, 112, w11, w20, w3);
1834    TEST_3R("dotp_s.d",  96,  24, w12, w18, w21);
1835    TEST_3R("dotp_s.d", 104,  72, w13, w4,  w7);
1836    TEST_3R("dotp_s.d", 112,  16, w14, w12, w4);
1837    TEST_3R("dotp_s.d", 120, 200, w15, w2,  w18);
1838    TEST_3R("dotp_s.d", 128, 192, w16, w24, w2);
1839    TEST_3R("dotp_s.d", 136, 216, w17, w24, w25);
1840    TEST_3R("dotp_s.d", 144,  96, w18, w12, w5);
1841    TEST_3R("dotp_s.d", 152, 176, w19, w28, w26);
1842    TEST_3R("dotp_s.d", 160,  72, w20, w7,  w25);
1843    TEST_3R("dotp_s.d", 168, 136, w21, w18, w18);
1844    TEST_3R("dotp_s.d", 176, 192, w22, w22, w22);
1845    TEST_3R("dotp_s.d", 184, 192, w23, w7,  w0);
1846    TEST_3R("dotp_s.d", 192, 232, w24, w6,  w4);
1847    TEST_3R("dotp_s.d", 200, 160, w25, w1,  w16);
1848    TEST_3R("dotp_s.d", 208,   0, w26, w2,  w18);
1849    TEST_3R("dotp_s.d", 216, 192, w27, w28, w11);
1850    TEST_3R("dotp_s.d", 224, 176, w28, w13, w3);
1851    TEST_3R("dotp_s.d", 232, 192, w29, w12, w15);
1852    TEST_3R("dotp_s.d", 240, 192, w30, w11, w16);
1853    TEST_3R("dotp_s.d", 144,  72, w31, w31, w18);
1854    TEST_3R("dotp_u.h",   0, 176, w0,  w10, w4);
1855    TEST_3R("dotp_u.h",   8,  56, w1,  w29, w26);
1856    TEST_3R("dotp_u.h",  16,  32, w2,  w22, w6);
1857    TEST_3R("dotp_u.h",  24, 112, w3,  w19, w4);
1858    TEST_3R("dotp_u.h",  32, 208, w4,  w31, w5);
1859    TEST_3R("dotp_u.h",  40, 176, w5,  w5,  w5);
1860    TEST_3R("dotp_u.h",  48,  32, w6,  w11, w3);
1861    TEST_3R("dotp_u.h",  56, 136, w7,  w12, w29);
1862    TEST_3R("dotp_u.h",  64,  88, w8,  w15, w3);
1863    TEST_3R("dotp_u.h",  72, 216, w9,  w6,  w4);
1864    TEST_3R("dotp_u.h",  80,   0, w10, w23, w1);
1865    TEST_3R("dotp_u.h",  88, 176, w11, w1,  w5);
1866    TEST_3R("dotp_u.h",  96,  24, w12, w30, w30);
1867    TEST_3R("dotp_u.h", 104, 192, w13, w0,  w20);
1868    TEST_3R("dotp_u.h", 112,   8, w14, w3,  w7);
1869    TEST_3R("dotp_u.h", 120,  64, w15, w19, w6);
1870    TEST_3R("dotp_u.h", 128,  56, w16, w11, w27);
1871    TEST_3R("dotp_u.h", 136, 152, w17, w12, w7);
1872    TEST_3R("dotp_u.h", 144,  96, w18, w6,  w18);
1873    TEST_3R("dotp_u.h", 152,  56, w19, w14, w16);
1874    TEST_3R("dotp_u.h", 160,  32, w20, w18, w30);
1875    TEST_3R("dotp_u.h", 168, 192, w21, w19, w16);
1876    TEST_3R("dotp_u.h", 176, 224, w22, w25, w2);
1877    TEST_3R("dotp_u.h", 184,  32, w23, w23, w24);
1878    TEST_3R("dotp_u.h", 192,  48, w24, w6,  w30);
1879    TEST_3R("dotp_u.h", 200,  56, w25, w14, w9);
1880    TEST_3R("dotp_u.h", 208, 144, w26, w20, w25);
1881    TEST_3R("dotp_u.h", 216, 208, w27, w0,  w20);
1882    TEST_3R("dotp_u.h", 224, 232, w28, w12, w27);
1883    TEST_3R("dotp_u.h", 232, 200, w29, w19, w17);
1884    TEST_3R("dotp_u.h", 240,  88, w30, w3,  w14);
1885    TEST_3R("dotp_u.h", 112, 128, w31, w1,  w17);
1886    TEST_3R("dotp_u.w",   0, 216, w0,  w10, w19);
1887    TEST_3R("dotp_u.w",   8,  88, w1,  w2,  w22);
1888    TEST_3R("dotp_u.w",  16, 120, w2,  w1,  w28);
1889    TEST_3R("dotp_u.w",  24, 112, w3,  w10, w22);
1890    TEST_3R("dotp_u.w",  32, 112, w4,  w3,  w26);
1891    TEST_3R("dotp_u.w",  40,   0, w5,  w5,  w5);
1892    TEST_3R("dotp_u.w",  48, 112, w6,  w13, w30);
1893    TEST_3R("dotp_u.w",  56,  64, w7,  w10, w17);
1894    TEST_3R("dotp_u.w",  64,  80, w8,  w22, w20);
1895    TEST_3R("dotp_u.w",  72,   0, w9,  w19, w21);
1896    TEST_3R("dotp_u.w",  80, 232, w10, w4,  w6);
1897    TEST_3R("dotp_u.w",  88, 208, w11, w14, w25);
1898    TEST_3R("dotp_u.w",  96, 160, w12, w17, w17);
1899    TEST_3R("dotp_u.w", 104, 168, w13, w0,  w18);
1900    TEST_3R("dotp_u.w", 112,   0, w14, w29, w28);
1901    TEST_3R("dotp_u.w", 120,  32, w15, w31, w29);
1902    TEST_3R("dotp_u.w", 128,  56, w16, w22, w10);
1903    TEST_3R("dotp_u.w", 136, 184, w17, w8,  w20);
1904    TEST_3R("dotp_u.w", 144, 136, w18, w11, w18);
1905    TEST_3R("dotp_u.w", 152,   8, w19, w3,  w29);
1906    TEST_3R("dotp_u.w", 160, 144, w20, w24, w16);
1907    TEST_3R("dotp_u.w", 168, 160, w21, w30, w25);
1908    TEST_3R("dotp_u.w", 176,  32, w22, w24, w10);
1909    TEST_3R("dotp_u.w", 184, 216, w23, w23, w8);
1910    TEST_3R("dotp_u.w", 192, 128, w24, w20, w8);
1911    TEST_3R("dotp_u.w", 200, 128, w25, w23, w15);
1912    TEST_3R("dotp_u.w", 208,  56, w26, w24, w5);
1913    TEST_3R("dotp_u.w", 216,  48, w27, w22, w13);
1914    TEST_3R("dotp_u.w", 224, 184, w28, w6,  w24);
1915    TEST_3R("dotp_u.w", 232,  72, w29, w9,  w21);
1916    TEST_3R("dotp_u.w", 240, 216, w30, w2,  w5);
1917    TEST_3R("dotp_u.w", 120,   8, w31, w0,  w30);
1918    TEST_3R("dotp_u.d",   0,  96, w0,  w9,  w16);
1919    TEST_3R("dotp_u.d",   8, 112, w1,  w20, w4);
1920    TEST_3R("dotp_u.d",  16, 136, w2,  w28, w20);
1921    TEST_3R("dotp_u.d",  24,  72, w3,  w20, w0);
1922    TEST_3R("dotp_u.d",  32, 128, w4,  w8,  w30);
1923    TEST_3R("dotp_u.d",  40, 160, w5,  w5,  w5);
1924    TEST_3R("dotp_u.d",  48, 136, w6,  w16, w8);
1925    TEST_3R("dotp_u.d",  56,  64, w7,  w13, w18);
1926    TEST_3R("dotp_u.d",  64,   0, w8,  w20, w9);
1927    TEST_3R("dotp_u.d",  72,  16, w9,  w20, w7);
1928    TEST_3R("dotp_u.d",  80,  48, w10, w13, w16);
1929    TEST_3R("dotp_u.d",  88,  40, w11, w13, w4);
1930    TEST_3R("dotp_u.d",  96,  32, w12, w2,  w2);
1931    TEST_3R("dotp_u.d", 104,   0, w13, w30, w14);
1932    TEST_3R("dotp_u.d", 112,  40, w14, w1,  w10);
1933    TEST_3R("dotp_u.d", 120, 168, w15, w3,  w31);
1934    TEST_3R("dotp_u.d", 128,   8, w16, w12, w13);
1935    TEST_3R("dotp_u.d", 136, 192, w17, w30, w19);
1936    TEST_3R("dotp_u.d", 144,  40, w18, w26, w18);
1937    TEST_3R("dotp_u.d", 152, 168, w19, w6,  w1);
1938    TEST_3R("dotp_u.d", 160, 224, w20, w19, w18);
1939    TEST_3R("dotp_u.d", 168, 136, w21, w1,  w22);
1940    TEST_3R("dotp_u.d", 176, 168, w22, w3,  w23);
1941    TEST_3R("dotp_u.d", 184, 168, w23, w23, w18);
1942    TEST_3R("dotp_u.d", 192, 120, w24, w27, w0);
1943    TEST_3R("dotp_u.d", 200,  80, w25, w5,  w13);
1944    TEST_3R("dotp_u.d", 208,  40, w26, w5,  w10);
1945    TEST_3R("dotp_u.d", 216, 216, w27, w18, w20);
1946    TEST_3R("dotp_u.d", 224,  40, w28, w3,  w7);
1947    TEST_3R("dotp_u.d", 232,  40, w29, w0,  w19);
1948    TEST_3R("dotp_u.d", 240, 160, w30, w14, w7);
1949    TEST_3R("dotp_u.d", 152, 176, w31, w0,  w8);
1950    TEST_3R("dpadd_s.h",   0,  80, w0,  w4,  w23);
1951    TEST_3R("dpadd_s.h",   8, 232, w1,  w25, w21);
1952    TEST_3R("dpadd_s.h",  16,  80, w2,  w7,  w12);
1953    TEST_3R("dpadd_s.h",  24, 112, w3,  w29, w4);
1954    TEST_3R("dpadd_s.h",  32, 160, w4,  w14, w16);
1955    TEST_3R("dpadd_s.h",  40,   0, w5,  w9,  w0);
1956    TEST_3R("dpadd_s.h",  48,  32, w6,  w29, w20);
1957    TEST_3R("dpadd_s.h",  56, 128, w7,  w11, w12);
1958    TEST_3R("dpadd_s.h",  64,  24, w8,  w26, w4);
1959    TEST_3R("dpadd_s.h",  72,  40, w9,  w17, w16);
1960    TEST_3R("dpadd_s.h",  80, 128, w10, w1,  w21);
1961    TEST_3R("dpadd_s.h",  88, 144, w11, w11, w11);
1962    TEST_3R("dpadd_s.h",  96, 144, w12, w14, w9);
1963    TEST_3R("dpadd_s.h", 104,  96, w13, w22, w21);
1964    TEST_3R("dpadd_s.h", 112,  88, w14, w19, w25);
1965    TEST_3R("dpadd_s.h", 120,  16, w15, w1,  w9);
1966    TEST_3R("dpadd_s.h", 128,  24, w16, w10, w9);
1967    TEST_3R("dpadd_s.h", 136, 168, w17, w8,  w29);
1968    TEST_3R("dpadd_s.h", 144, 176, w18, w19, w9);
1969    TEST_3R("dpadd_s.h", 152, 216, w19, w14, w16);
1970    TEST_3R("dpadd_s.h", 160, 160, w20, w30, w12);
1971    TEST_3R("dpadd_s.h", 168,  64, w21, w19, w0);
1972    TEST_3R("dpadd_s.h", 176, 136, w22, w2,  w22);
1973    TEST_3R("dpadd_s.h", 184,  24, w23, w25, w24);
1974    TEST_3R("dpadd_s.h", 192, 128, w24, w0,  w11);
1975    TEST_3R("dpadd_s.h", 200,  80, w25, w30, w13);
1976    TEST_3R("dpadd_s.h", 208,  40, w26, w19, w23);
1977    TEST_3R("dpadd_s.h", 216,   8, w27, w16, w31);
1978    TEST_3R("dpadd_s.h", 224, 208, w28, w30, w19);
1979    TEST_3R("dpadd_s.h", 232,  96, w29, w15, w15);
1980    TEST_3R("dpadd_s.h", 240, 192, w30, w31, w0);
1981    TEST_3R("dpadd_s.h", 112,  40, w31, w31, w30);
1982    TEST_3R("dpadd_s.w",   0, 176, w0,  w17, w12);
1983    TEST_3R("dpadd_s.w",   8,  24, w1,  w19, w21);
1984    TEST_3R("dpadd_s.w",  16, 200, w2,  w11, w19);
1985    TEST_3R("dpadd_s.w",  24, 120, w3,  w23, w11);
1986    TEST_3R("dpadd_s.w",  32, 168, w4,  w12, w0);
1987    TEST_3R("dpadd_s.w",  40, 104, w5,  w22, w16);
1988    TEST_3R("dpadd_s.w",  48, 216, w6,  w30, w14);
1989    TEST_3R("dpadd_s.w",  56, 184, w7,  w16, w30);
1990    TEST_3R("dpadd_s.w",  64, 136, w8,  w15, w30);
1991    TEST_3R("dpadd_s.w",  72,   8, w9,  w13, w10);
1992    TEST_3R("dpadd_s.w",  80,  64, w10, w31, w23);
1993    TEST_3R("dpadd_s.w",  88,   0, w11, w11, w11);
1994    TEST_3R("dpadd_s.w",  96,  32, w12, w19, w30);
1995    TEST_3R("dpadd_s.w", 104, 136, w13, w1,  w21);
1996    TEST_3R("dpadd_s.w", 112, 120, w14, w25, w23);
1997    TEST_3R("dpadd_s.w", 120, 136, w15, w20, w13);
1998    TEST_3R("dpadd_s.w", 128, 168, w16, w15, w12);
1999    TEST_3R("dpadd_s.w", 136,  24, w17, w29, w28);
2000    TEST_3R("dpadd_s.w", 144, 152, w18, w12, w11);
2001    TEST_3R("dpadd_s.w", 152, 208, w19, w27, w25);
2002    TEST_3R("dpadd_s.w", 160,  72, w20, w10, w24);
2003    TEST_3R("dpadd_s.w", 168,   0, w21, w15, w10);
2004    TEST_3R("dpadd_s.w", 176,  88, w22, w2,  w22);
2005    TEST_3R("dpadd_s.w", 184,  48, w23, w3,  w29);
2006    TEST_3R("dpadd_s.w", 192, 120, w24, w17, w22);
2007    TEST_3R("dpadd_s.w", 200, 160, w25, w31, w11);
2008    TEST_3R("dpadd_s.w", 208, 120, w26, w30, w18);
2009    TEST_3R("dpadd_s.w", 216,  16, w27, w24, w14);
2010    TEST_3R("dpadd_s.w", 224, 168, w28, w4,  w26);
2011    TEST_3R("dpadd_s.w", 232,  16, w29, w0,  w0);
2012    TEST_3R("dpadd_s.w", 240, 184, w30, w18, w10);
2013    TEST_3R("dpadd_s.w", 224, 168, w31, w31, w29);
2014    TEST_3R("dpadd_s.d",   0,  72, w0,  w20, w27);
2015    TEST_3R("dpadd_s.d",   8,  72, w1,  w11, w31);
2016    TEST_3R("dpadd_s.d",  16, 128, w2,  w13, w16);
2017    TEST_3R("dpadd_s.d",  24,  24, w3,  w6,  w16);
2018    TEST_3R("dpadd_s.d",  32,   0, w4,  w12, w14);
2019    TEST_3R("dpadd_s.d",  40,  24, w5,  w31, w25);
2020    TEST_3R("dpadd_s.d",  48, 176, w6,  w13, w15);
2021    TEST_3R("dpadd_s.d",  56, 104, w7,  w14, w20);
2022    TEST_3R("dpadd_s.d",  64, 160, w8,  w0,  w30);
2023    TEST_3R("dpadd_s.d",  72, 152, w9,  w29, w24);
2024    TEST_3R("dpadd_s.d",  80, 104, w10, w17, w19);
2025    TEST_3R("dpadd_s.d",  88, 184, w11, w11, w11);
2026    TEST_3R("dpadd_s.d",  96, 120, w12, w18, w20);
2027    TEST_3R("dpadd_s.d", 104,  40, w13, w3,  w6);
2028    TEST_3R("dpadd_s.d", 112, 136, w14, w19, w3);
2029    TEST_3R("dpadd_s.d", 120, 184, w15, w1,  w27);
2030    TEST_3R("dpadd_s.d", 128,  24, w16, w26, w10);
2031    TEST_3R("dpadd_s.d", 136, 112, w17, w9,  w30);
2032    TEST_3R("dpadd_s.d", 144,   0, w18, w23, w10);
2033    TEST_3R("dpadd_s.d", 152,  96, w19, w17, w16);
2034    TEST_3R("dpadd_s.d", 160, 160, w20, w9,  w11);
2035    TEST_3R("dpadd_s.d", 168, 112, w21, w28, w4);
2036    TEST_3R("dpadd_s.d", 176, 184, w22, w15, w22);
2037    TEST_3R("dpadd_s.d", 184, 232, w23, w12, w18);
2038    TEST_3R("dpadd_s.d", 192,  80, w24, w28, w5);
2039    TEST_3R("dpadd_s.d", 200, 152, w25, w24, w6);
2040    TEST_3R("dpadd_s.d", 208,  24, w26, w19, w0);
2041    TEST_3R("dpadd_s.d", 216, 232, w27, w9,  w6);
2042    TEST_3R("dpadd_s.d", 224, 192, w28, w0,  w25);
2043    TEST_3R("dpadd_s.d", 232, 168, w29, w23, w23);
2044    TEST_3R("dpadd_s.d", 240, 112, w30, w6,  w12);
2045    TEST_3R("dpadd_s.d",  24,  64, w31, w31, w17);
2046    TEST_3R("dpadd_u.h",   0,  32, w0,  w1,  w29);
2047    TEST_3R("dpadd_u.h",   8,   8, w1,  w30, w11);
2048    TEST_3R("dpadd_u.h",  16, 208, w2,  w4,  w26);
2049    TEST_3R("dpadd_u.h",  24,   8, w3,  w28, w5);
2050    TEST_3R("dpadd_u.h",  32, 136, w4,  w12, w17);
2051    TEST_3R("dpadd_u.h",  40, 112, w5,  w4,  w1);
2052    TEST_3R("dpadd_u.h",  48, 216, w6,  w11, w19);
2053    TEST_3R("dpadd_u.h",  56, 232, w7,  w12, w14);
2054    TEST_3R("dpadd_u.h",  64,  96, w8,  w6,  w14);
2055    TEST_3R("dpadd_u.h",  72,   0, w9,  w11, w4);
2056    TEST_3R("dpadd_u.h",  80, 176, w10, w27, w5);
2057    TEST_3R("dpadd_u.h",  88, 216, w11, w3,  w14);
2058    TEST_3R("dpadd_u.h",  96, 192, w12, w7,  w9);
2059    TEST_3R("dpadd_u.h", 104,  56, w13, w4,  w4);
2060    TEST_3R("dpadd_u.h", 112, 120, w14, w0,  w16);
2061    TEST_3R("dpadd_u.h", 120,  80, w15, w28, w21);
2062    TEST_3R("dpadd_u.h", 128, 144, w16, w18, w0);
2063    TEST_3R("dpadd_u.h", 136, 128, w17, w13, w12);
2064    TEST_3R("dpadd_u.h", 144, 208, w18, w6,  w19);
2065    TEST_3R("dpadd_u.h", 152,  16, w19, w24, w30);
2066    TEST_3R("dpadd_u.h", 160, 152, w20, w30, w26);
2067    TEST_3R("dpadd_u.h", 168, 208, w21, w21, w21);
2068    TEST_3R("dpadd_u.h", 176, 136, w22, w22, w29);
2069    TEST_3R("dpadd_u.h", 184,  48, w23, w16, w26);
2070    TEST_3R("dpadd_u.h", 192, 216, w24, w25, w13);
2071    TEST_3R("dpadd_u.h", 200,  40, w25, w7,  w13);
2072    TEST_3R("dpadd_u.h", 208, 136, w26, w7,  w9);
2073    TEST_3R("dpadd_u.h", 216,   8, w27, w8,  w28);
2074    TEST_3R("dpadd_u.h", 224,  40, w28, w9,  w27);
2075    TEST_3R("dpadd_u.h", 232, 120, w29, w15, w14);
2076    TEST_3R("dpadd_u.h", 240, 104, w30, w7,  w30);
2077    TEST_3R("dpadd_u.h", 168,  16, w31, w2,  w6);
2078    TEST_3R("dpadd_u.w",   0,  72, w0,  w7,  w3);
2079    TEST_3R("dpadd_u.w",   8, 232, w1,  w23, w30);
2080    TEST_3R("dpadd_u.w",  16,  88, w2,  w16, w11);
2081    TEST_3R("dpadd_u.w",  24,   0, w3,  w24, w25);
2082    TEST_3R("dpadd_u.w",  32, 144, w4,  w31, w2);
2083    TEST_3R("dpadd_u.w",  40,  24, w5,  w7,  w30);
2084    TEST_3R("dpadd_u.w",  48,   8, w6,  w3,  w7);
2085    TEST_3R("dpadd_u.w",  56,  16, w7,  w1,  w22);
2086    TEST_3R("dpadd_u.w",  64, 128, w8,  w15, w30);
2087    TEST_3R("dpadd_u.w",  72, 152, w9,  w17, w4);
2088    TEST_3R("dpadd_u.w",  80,  56, w10, w14, w11);
2089    TEST_3R("dpadd_u.w",  88, 184, w11, w8,  w3);
2090    TEST_3R("dpadd_u.w",  96,   0, w12, w7,  w19);
2091    TEST_3R("dpadd_u.w", 104, 184, w13, w15, w15);
2092    TEST_3R("dpadd_u.w", 112, 120, w14, w0,  w16);
2093    TEST_3R("dpadd_u.w", 120,  64, w15, w3,  w0);
2094    TEST_3R("dpadd_u.w", 128,  48, w16, w1,  w31);
2095    TEST_3R("dpadd_u.w", 136, 192, w17, w9,  w24);
2096    TEST_3R("dpadd_u.w", 144, 224, w18, w31, w0);
2097    TEST_3R("dpadd_u.w", 152,  32, w19, w29, w20);
2098    TEST_3R("dpadd_u.w", 160,  16, w20, w1,  w14);
2099    TEST_3R("dpadd_u.w", 168,  56, w21, w21, w21);
2100    TEST_3R("dpadd_u.w", 176,  72, w22, w22, w12);
2101    TEST_3R("dpadd_u.w", 184,   0, w23, w16, w8);
2102    TEST_3R("dpadd_u.w", 192, 128, w24, w3,  w16);
2103    TEST_3R("dpadd_u.w", 200, 144, w25, w15, w16);
2104    TEST_3R("dpadd_u.w", 208, 176, w26, w25, w19);
2105    TEST_3R("dpadd_u.w", 216, 112, w27, w11, w21);
2106    TEST_3R("dpadd_u.w", 224, 184, w28, w31, w30);
2107    TEST_3R("dpadd_u.w", 232,  24, w29, w21, w10);
2108    TEST_3R("dpadd_u.w", 240, 120, w30, w27, w30);
2109    TEST_3R("dpadd_u.w", 192,   8, w31, w15, w28);
2110    TEST_3R("dpadd_u.d",   0,  24, w0,  w9,  w25);
2111    TEST_3R("dpadd_u.d",   8, 144, w1,  w25, w2);
2112    TEST_3R("dpadd_u.d",  16,  32, w2,  w29, w18);
2113    TEST_3R("dpadd_u.d",  24, 176, w3,  w12, w2);
2114    TEST_3R("dpadd_u.d",  32, 232, w4,  w5,  w22);
2115    TEST_3R("dpadd_u.d",  40, 104, w5,  w16, w11);
2116    TEST_3R("dpadd_u.d",  48, 160, w6,  w16, w9);
2117    TEST_3R("dpadd_u.d",  56, 192, w7,  w5,  w6);
2118    TEST_3R("dpadd_u.d",  64,  72, w8,  w30, w1);
2119    TEST_3R("dpadd_u.d",  72,  88, w9,  w14, w30);
2120    TEST_3R("dpadd_u.d",  80, 160, w10, w1,  w7);
2121    TEST_3R("dpadd_u.d",  88, 224, w11, w1,  w8);
2122    TEST_3R("dpadd_u.d",  96,  24, w12, w30, w26);
2123    TEST_3R("dpadd_u.d", 104,  24, w13, w10, w10);
2124    TEST_3R("dpadd_u.d", 112, 184, w14, w15, w18);
2125    TEST_3R("dpadd_u.d", 120, 160, w15, w0,  w29);
2126    TEST_3R("dpadd_u.d", 128,  16, w16, w6,  w11);
2127    TEST_3R("dpadd_u.d", 136,  64, w17, w13, w12);
2128    TEST_3R("dpadd_u.d", 144,  48, w18, w14, w12);
2129    TEST_3R("dpadd_u.d", 152, 224, w19, w12, w24);
2130    TEST_3R("dpadd_u.d", 160, 208, w20, w30, w4);
2131    TEST_3R("dpadd_u.d", 168, 112, w21, w21, w21);
2132    TEST_3R("dpadd_u.d", 176,  16, w22, w22, w23);
2133    TEST_3R("dpadd_u.d", 184, 168, w23, w0,  w31);
2134    TEST_3R("dpadd_u.d", 192, 168, w24, w29, w14);
2135    TEST_3R("dpadd_u.d", 200,  72, w25, w15, w23);
2136    TEST_3R("dpadd_u.d", 208, 184, w26, w13, w12);
2137    TEST_3R("dpadd_u.d", 216, 208, w27, w19, w24);
2138    TEST_3R("dpadd_u.d", 224,  32, w28, w0,  w4);
2139    TEST_3R("dpadd_u.d", 232, 192, w29, w15, w16);
2140    TEST_3R("dpadd_u.d", 240, 168, w30, w27, w30);
2141    TEST_3R("dpadd_u.d", 232,  32, w31, w9,  w15);
2142    TEST_3R("dpsub_s.h",   0,  72, w0,  w22, w27);
2143    TEST_3R("dpsub_s.h",   8,  48, w1,  w11, w20);
2144    TEST_3R("dpsub_s.h",  16, 168, w2,  w6,  w30);
2145    TEST_3R("dpsub_s.h",  24,  24, w3,  w15, w4);
2146    TEST_3R("dpsub_s.h",  32, 176, w4,  w4,  w4);
2147    TEST_3R("dpsub_s.h",  40,  24, w5,  w1,  w5);
2148    TEST_3R("dpsub_s.h",  48,  32, w6,  w25, w0);
2149    TEST_3R("dpsub_s.h",  56,  64, w7,  w30, w8);
2150    TEST_3R("dpsub_s.h",  64,  72, w8,  w21, w14);
2151    TEST_3R("dpsub_s.h",  72, 128, w9,  w28, w13);
2152    TEST_3R("dpsub_s.h",  80,  72, w10, w23, w25);
2153    TEST_3R("dpsub_s.h",  88,  56, w11, w18, w1);
2154    TEST_3R("dpsub_s.h",  96,   8, w12, w7,  w20);
2155    TEST_3R("dpsub_s.h", 104,  56, w13, w9,  w19);
2156    TEST_3R("dpsub_s.h", 112, 112, w14, w14, w25);
2157    TEST_3R("dpsub_s.h", 120, 136, w15, w25, w16);
2158    TEST_3R("dpsub_s.h", 128,  56, w16, w23, w9);
2159    TEST_3R("dpsub_s.h", 136, 176, w17, w24, w7);
2160    TEST_3R("dpsub_s.h", 144, 232, w18, w10, w28);
2161    TEST_3R("dpsub_s.h", 152,  40, w19, w25, w28);
2162    TEST_3R("dpsub_s.h", 160, 128, w20, w16, w19);
2163    TEST_3R("dpsub_s.h", 168, 160, w21, w30, w6);
2164    TEST_3R("dpsub_s.h", 176,   0, w22, w23, w13);
2165    TEST_3R("dpsub_s.h", 184,  48, w23, w22, w22);
2166    TEST_3R("dpsub_s.h", 192,  40, w24, w25, w17);
2167    TEST_3R("dpsub_s.h", 200, 216, w25, w17, w11);
2168    TEST_3R("dpsub_s.h", 208, 152, w26, w10, w2);
2169    TEST_3R("dpsub_s.h", 216, 176, w27, w3,  w26);
2170    TEST_3R("dpsub_s.h", 224, 224, w28, w5,  w13);
2171    TEST_3R("dpsub_s.h", 232, 160, w29, w24, w6);
2172    TEST_3R("dpsub_s.h", 240, 176, w30, w16, w22);
2173    TEST_3R("dpsub_s.h", 192, 168, w31, w1,  w20);
2174    TEST_3R("dpsub_s.w",   0,  72, w0,  w11, w23);
2175    TEST_3R("dpsub_s.w",   8,   0, w1,  w14, w19);
2176    TEST_3R("dpsub_s.w",  16,  88, w2,  w29, w4);
2177    TEST_3R("dpsub_s.w",  24, 176, w3,  w29, w14);
2178    TEST_3R("dpsub_s.w",  32, 112, w4,  w4,  w4);
2179    TEST_3R("dpsub_s.w",  40,  40, w5,  w17, w5);
2180    TEST_3R("dpsub_s.w",  48,  32, w6,  w22, w0);
2181    TEST_3R("dpsub_s.w",  56,  72, w7,  w11, w24);
2182    TEST_3R("dpsub_s.w",  64,  64, w8,  w28, w0);
2183    TEST_3R("dpsub_s.w",  72, 200, w9,  w20, w11);
2184    TEST_3R("dpsub_s.w",  80,  32, w10, w0,  w2);
2185    TEST_3R("dpsub_s.w",  88, 104, w11, w1,  w16);
2186    TEST_3R("dpsub_s.w",  96,  40, w12, w20, w14);
2187    TEST_3R("dpsub_s.w", 104, 104, w13, w18, w11);
2188    TEST_3R("dpsub_s.w", 112,  32, w14, w14, w19);
2189    TEST_3R("dpsub_s.w", 120, 192, w15, w12, w14);
2190    TEST_3R("dpsub_s.w", 128, 232, w16, w2,  w14);
2191    TEST_3R("dpsub_s.w", 136,  64, w17, w13, w6);
2192    TEST_3R("dpsub_s.w", 144, 112, w18, w9,  w14);
2193    TEST_3R("dpsub_s.w", 152, 136, w19, w10, w23);
2194    TEST_3R("dpsub_s.w", 160,  88, w20, w21, w19);
2195    TEST_3R("dpsub_s.w", 168,  24, w21, w23, w8);
2196    TEST_3R("dpsub_s.w", 176, 200, w22, w8,  w17);
2197    TEST_3R("dpsub_s.w", 184, 216, w23, w22, w22);
2198    TEST_3R("dpsub_s.w", 192, 200, w24, w17, w1);
2199    TEST_3R("dpsub_s.w", 200,  48, w25, w4,  w18);
2200    TEST_3R("dpsub_s.w", 208,   0, w26, w18, w25);
2201    TEST_3R("dpsub_s.w", 216, 160, w27, w0,  w4);
2202    TEST_3R("dpsub_s.w", 224,  72, w28, w6,  w25);
2203    TEST_3R("dpsub_s.w", 232,  48, w29, w20, w13);
2204    TEST_3R("dpsub_s.w", 240, 136, w30, w11, w22);
2205    TEST_3R("dpsub_s.w", 168,  32, w31, w30, w20);
2206    TEST_3R("dpsub_s.d",   0, 136, w0,  w28, w24);
2207    TEST_3R("dpsub_s.d",   8,   8, w1,  w18, w21);
2208    TEST_3R("dpsub_s.d",  16,  88, w2,  w19, w13);
2209    TEST_3R("dpsub_s.d",  24,  64, w3,  w5,  w17);
2210    TEST_3R("dpsub_s.d",  32, 168, w4,  w4,  w4);
2211    TEST_3R("dpsub_s.d",  40,  16, w5,  w24, w5);
2212    TEST_3R("dpsub_s.d",  48, 168, w6,  w3,  w12);
2213    TEST_3R("dpsub_s.d",  56,   8, w7,  w28, w9);
2214    TEST_3R("dpsub_s.d",  64, 184, w8,  w9,  w17);
2215    TEST_3R("dpsub_s.d",  72, 144, w9,  w0,  w13);
2216    TEST_3R("dpsub_s.d",  80, 184, w10, w31, w1);
2217    TEST_3R("dpsub_s.d",  88,  32, w11, w9,  w29);
2218    TEST_3R("dpsub_s.d",  96, 104, w12, w18, w15);
2219    TEST_3R("dpsub_s.d", 104, 136, w13, w2,  w25);
2220    TEST_3R("dpsub_s.d", 112,  88, w14, w14, w7);
2221    TEST_3R("dpsub_s.d", 120,  48, w15, w29, w6);
2222    TEST_3R("dpsub_s.d", 128, 152, w16, w15, w9);
2223    TEST_3R("dpsub_s.d", 136, 232, w17, w8,  w5);
2224    TEST_3R("dpsub_s.d", 144, 232, w18, w21, w14);
2225    TEST_3R("dpsub_s.d", 152,   0, w19, w13, w14);
2226    TEST_3R("dpsub_s.d", 160, 136, w20, w4,  w14);
2227    TEST_3R("dpsub_s.d", 168, 160, w21, w2,  w23);
2228    TEST_3R("dpsub_s.d", 176,  80, w22, w24, w10);
2229    TEST_3R("dpsub_s.d", 184,  16, w23, w4,  w4);
2230    TEST_3R("dpsub_s.d", 192, 160, w24, w7,  w29);
2231    TEST_3R("dpsub_s.d", 200,   0, w25, w15, w7);
2232    TEST_3R("dpsub_s.d", 208, 208, w26, w21, w10);
2233    TEST_3R("dpsub_s.d", 216, 216, w27, w30, w24);
2234    TEST_3R("dpsub_s.d", 224, 120, w28, w3,  w16);
2235    TEST_3R("dpsub_s.d", 232, 200, w29, w17, w25);
2236    TEST_3R("dpsub_s.d", 240,  56, w30, w0,  w16);
2237    TEST_3R("dpsub_s.d",  64, 112, w31, w14, w8);
2238    TEST_3R("dpsub_u.h",   0, 104, w0,  w31, w15);
2239    TEST_3R("dpsub_u.h",   8, 168, w1,  w23, w17);
2240    TEST_3R("dpsub_u.h",  16,  32, w2,  w11, w11);
2241    TEST_3R("dpsub_u.h",  24,  40, w3,  w24, w25);
2242    TEST_3R("dpsub_u.h",  32, 192, w4,  w14, w26);
2243    TEST_3R("dpsub_u.h",  40, 192, w5,  w13, w14);
2244    TEST_3R("dpsub_u.h",  48, 192, w6,  w13, w23);
2245    TEST_3R("dpsub_u.h",  56, 128, w7,  w8,  w2);
2246    TEST_3R("dpsub_u.h",  64, 160, w8,  w24, w3);
2247    TEST_3R("dpsub_u.h",  72, 120, w9,  w16, w31);
2248    TEST_3R("dpsub_u.h",  80, 184, w10, w2,  w30);
2249    TEST_3R("dpsub_u.h",  88, 152, w11, w28, w21);
2250    TEST_3R("dpsub_u.h",  96,   8, w12, w13, w1);
2251    TEST_3R("dpsub_u.h", 104, 112, w13, w17, w26);
2252    TEST_3R("dpsub_u.h", 112, 232, w14, w9,  w8);
2253    TEST_3R("dpsub_u.h", 120,  64, w15, w12, w15);
2254    TEST_3R("dpsub_u.h", 128, 192, w16, w26, w30);
2255    TEST_3R("dpsub_u.h", 136, 224, w17, w5,  w11);
2256    TEST_3R("dpsub_u.h", 144, 160, w18, w12, w3);
2257    TEST_3R("dpsub_u.h", 152, 176, w19, w3,  w22);
2258    TEST_3R("dpsub_u.h", 160,  64, w20, w22, w14);
2259    TEST_3R("dpsub_u.h", 168,  16, w21, w10, w28);
2260    TEST_3R("dpsub_u.h", 176, 112, w22, w11, w21);
2261    TEST_3R("dpsub_u.h", 184,   8, w23, w5,  w7);
2262    TEST_3R("dpsub_u.h", 192,  96, w24, w14, w19);
2263    TEST_3R("dpsub_u.h", 200, 128, w25, w3,  w14);
2264    TEST_3R("dpsub_u.h", 208,   8, w26, w26, w6);
2265    TEST_3R("dpsub_u.h", 216, 112, w27, w11, w18);
2266    TEST_3R("dpsub_u.h", 224,  40, w28, w23, w21);
2267    TEST_3R("dpsub_u.h", 232, 168, w29, w29, w29);
2268    TEST_3R("dpsub_u.h", 240, 216, w30, w9,  w0);
2269    TEST_3R("dpsub_u.h", 184,   0, w31, w20, w11);
2270    TEST_3R("dpsub_u.w",   0, 216, w0,  w7,  w17);
2271    TEST_3R("dpsub_u.w",   8, 104, w1,  w29, w3);
2272    TEST_3R("dpsub_u.w",  16,   8, w2,  w4,  w4);
2273    TEST_3R("dpsub_u.w",  24, 224, w3,  w29, w24);
2274    TEST_3R("dpsub_u.w",  32, 120, w4,  w1,  w6);
2275    TEST_3R("dpsub_u.w",  40, 152, w5,  w7,  w21);
2276    TEST_3R("dpsub_u.w",  48, 168, w6,  w24, w13);
2277    TEST_3R("dpsub_u.w",  56,  24, w7,  w2,  w8);
2278    TEST_3R("dpsub_u.w",  64, 192, w8,  w2,  w4);
2279    TEST_3R("dpsub_u.w",  72, 200, w9,  w23, w15);
2280    TEST_3R("dpsub_u.w",  80,  88, w10, w21, w23);
2281    TEST_3R("dpsub_u.w",  88,  88, w11, w31, w20);
2282    TEST_3R("dpsub_u.w",  96, 216, w12, w15, w24);
2283    TEST_3R("dpsub_u.w", 104, 208, w13, w12, w16);
2284    TEST_3R("dpsub_u.w", 112,  88, w14, w13, w22);
2285    TEST_3R("dpsub_u.w", 120, 168, w15, w21, w15);
2286    TEST_3R("dpsub_u.w", 128, 176, w16, w0,  w14);
2287    TEST_3R("dpsub_u.w", 136, 112, w17, w13, w29);
2288    TEST_3R("dpsub_u.w", 144, 168, w18, w21, w25);
2289    TEST_3R("dpsub_u.w", 152, 168, w19, w12, w16);
2290    TEST_3R("dpsub_u.w", 160,  48, w20, w21, w6);
2291    TEST_3R("dpsub_u.w", 168,  64, w21, w15, w5);
2292    TEST_3R("dpsub_u.w", 176, 136, w22, w12, w20);
2293    TEST_3R("dpsub_u.w", 184, 152, w23, w7,  w1);
2294    TEST_3R("dpsub_u.w", 192, 176, w24, w7,  w14);
2295    TEST_3R("dpsub_u.w", 200, 104, w25, w17, w3);
2296    TEST_3R("dpsub_u.w", 208, 224, w26, w26, w17);
2297    TEST_3R("dpsub_u.w", 216, 232, w27, w4,  w30);
2298    TEST_3R("dpsub_u.w", 224, 160, w28, w27, w19);
2299    TEST_3R("dpsub_u.w", 232,  32, w29, w29, w29);
2300    TEST_3R("dpsub_u.w", 240,  96, w30, w13, w17);
2301    TEST_3R("dpsub_u.w", 224,  72, w31, w22, w6);
2302    TEST_3R("dpsub_u.d",   0,  56, w0,  w21, w16);
2303    TEST_3R("dpsub_u.d",   8,  24, w1,  w5,  w22);
2304    TEST_3R("dpsub_u.d",  16, 224, w2,  w6,  w6);
2305    TEST_3R("dpsub_u.d",  24,  32, w3,  w15, w20);
2306    TEST_3R("dpsub_u.d",  32,  16, w4,  w1,  w24);
2307    TEST_3R("dpsub_u.d",  40, 184, w5,  w18, w10);
2308    TEST_3R("dpsub_u.d",  48,  96, w6,  w17, w25);
2309    TEST_3R("dpsub_u.d",  56, 136, w7,  w4,  w30);
2310    TEST_3R("dpsub_u.d",  64, 104, w8,  w17, w16);
2311    TEST_3R("dpsub_u.d",  72, 184, w9,  w7,  w22);
2312    TEST_3R("dpsub_u.d",  80, 216, w10, w29, w12);
2313    TEST_3R("dpsub_u.d",  88,  88, w11, w7,  w13);
2314    TEST_3R("dpsub_u.d",  96,  16, w12, w30, w22);
2315    TEST_3R("dpsub_u.d", 104,   8, w13, w17, w5);
2316    TEST_3R("dpsub_u.d", 112,   0, w14, w24, w6);
2317    TEST_3R("dpsub_u.d", 120, 216, w15, w25, w15);
2318    TEST_3R("dpsub_u.d", 128, 192, w16, w9,  w10);
2319    TEST_3R("dpsub_u.d", 136, 208, w17, w31, w14);
2320    TEST_3R("dpsub_u.d", 144, 144, w18, w9,  w0);
2321    TEST_3R("dpsub_u.d", 152,  72, w19, w24, w7);
2322    TEST_3R("dpsub_u.d", 160,  32, w20, w18, w5);
2323    TEST_3R("dpsub_u.d", 168,  32, w21, w28, w12);
2324    TEST_3R("dpsub_u.d", 176,  56, w22, w12, w10);
2325    TEST_3R("dpsub_u.d", 184,  40, w23, w1,  w28);
2326    TEST_3R("dpsub_u.d", 192,  32, w24, w11, w20);
2327    TEST_3R("dpsub_u.d", 200,   8, w25, w13, w3);
2328    TEST_3R("dpsub_u.d", 208, 200, w26, w26, w25);
2329    TEST_3R("dpsub_u.d", 216,  24, w27, w9,  w31);
2330    TEST_3R("dpsub_u.d", 224,  96, w28, w23, w3);
2331    TEST_3R("dpsub_u.d", 232, 160, w29, w29, w29);
2332    TEST_3R("dpsub_u.d", 240, 184, w30, w23, w13);
2333    TEST_3R("dpsub_u.d",  24, 120, w31, w1,  w4);
2334    TEST_3R("hadd_s.h",   0,  16, w0,  w3,  w17);
2335    TEST_3R("hadd_s.h",   8,  24, w1,  w24, w23);
2336    TEST_3R("hadd_s.h",  16, 176, w2,  w25, w15);
2337    TEST_3R("hadd_s.h",  24, 224, w3,  w1,  w22);
2338    TEST_3R("hadd_s.h",  32, 192, w4,  w11, w20);
2339    TEST_3R("hadd_s.h",  40,  56, w5,  w19, w10);
2340    TEST_3R("hadd_s.h",  48, 112, w6,  w19, w1);
2341    TEST_3R("hadd_s.h",  56, 120, w7,  w8,  w7);
2342    TEST_3R("hadd_s.h",  64, 192, w8,  w18, w0);
2343    TEST_3R("hadd_s.h",  72,  48, w9,  w31, w14);
2344    TEST_3R("hadd_s.h",  80, 176, w10, w2,  w31);
2345    TEST_3R("hadd_s.h",  88, 208, w11, w27, w22);
2346    TEST_3R("hadd_s.h",  96,  24, w12, w20, w6);
2347    TEST_3R("hadd_s.h", 104,   8, w13, w22, w28);
2348    TEST_3R("hadd_s.h", 112,  72, w14, w1,  w16);
2349    TEST_3R("hadd_s.h", 120, 216, w15, w20, w21);
2350    TEST_3R("hadd_s.h", 128,  80, w16, w16, w16);
2351    TEST_3R("hadd_s.h", 136, 200, w17, w9,  w27);
2352    TEST_3R("hadd_s.h", 144,  56, w18, w17, w23);
2353    TEST_3R("hadd_s.h", 152,   8, w19, w26, w23);
2354    TEST_3R("hadd_s.h", 160, 168, w20, w25, w6);
2355    TEST_3R("hadd_s.h", 168, 112, w21, w28, w5);
2356    TEST_3R("hadd_s.h", 176, 200, w22, w23, w28);
2357    TEST_3R("hadd_s.h", 184, 224, w23, w11, w2);
2358    TEST_3R("hadd_s.h", 192, 112, w24, w1,  w30);
2359    TEST_3R("hadd_s.h", 200, 192, w25, w2,  w15);
2360    TEST_3R("hadd_s.h", 208,  40, w26, w23, w4);
2361    TEST_3R("hadd_s.h", 216, 224, w27, w13, w13);
2362    TEST_3R("hadd_s.h", 224, 168, w28, w28, w20);
2363    TEST_3R("hadd_s.h", 232, 144, w29, w31, w25);
2364    TEST_3R("hadd_s.h", 240, 104, w30, w26, w18);
2365    TEST_3R("hadd_s.h", 168,  64, w31, w6,  w14);
2366    TEST_3R("hadd_s.w",   0, 128, w0,  w5,  w28);
2367    TEST_3R("hadd_s.w",   8, 112, w1,  w17, w30);
2368    TEST_3R("hadd_s.w",  16, 232, w2,  w18, w29);
2369    TEST_3R("hadd_s.w",  24,  56, w3,  w21, w12);
2370    TEST_3R("hadd_s.w",  32,  96, w4,  w12, w16);
2371    TEST_3R("hadd_s.w",  40, 200, w5,  w7,  w30);
2372    TEST_3R("hadd_s.w",  48, 128, w6,  w27, w29);
2373    TEST_3R("hadd_s.w",  56, 144, w7,  w26, w7);
2374    TEST_3R("hadd_s.w",  64, 168, w8,  w27, w20);
2375    TEST_3R("hadd_s.w",  72, 144, w9,  w22, w27);
2376    TEST_3R("hadd_s.w",  80, 168, w10, w23, w21);
2377    TEST_3R("hadd_s.w",  88,  56, w11, w19, w9);
2378    TEST_3R("hadd_s.w",  96, 176, w12, w18, w16);
2379    TEST_3R("hadd_s.w", 104, 160, w13, w15, w24);
2380    TEST_3R("hadd_s.w", 112, 176, w14, w27, w16);
2381    TEST_3R("hadd_s.w", 120,  40, w15, w11, w19);
2382    TEST_3R("hadd_s.w", 128, 184, w16, w16, w16);
2383    TEST_3R("hadd_s.w", 136,  64, w17, w28, w3);
2384    TEST_3R("hadd_s.w", 144,  88, w18, w3,  w29);
2385    TEST_3R("hadd_s.w", 152, 128, w19, w30, w17);
2386    TEST_3R("hadd_s.w", 160,  40, w20, w21, w12);
2387    TEST_3R("hadd_s.w", 168,  88, w21, w12, w1);
2388    TEST_3R("hadd_s.w", 176,  16, w22, w31, w10);
2389    TEST_3R("hadd_s.w", 184, 192, w23, w17, w26);
2390    TEST_3R("hadd_s.w", 192, 120, w24, w0,  w18);
2391    TEST_3R("hadd_s.w", 200, 168, w25, w27, w3);
2392    TEST_3R("hadd_s.w", 208,  80, w26, w7,  w22);
2393    TEST_3R("hadd_s.w", 216, 224, w27, w16, w16);
2394    TEST_3R("hadd_s.w", 224, 160, w28, w28, w7);
2395    TEST_3R("hadd_s.w", 232, 128, w29, w22, w4);
2396    TEST_3R("hadd_s.w", 240,  24, w30, w20, w21);
2397    TEST_3R("hadd_s.w", 176, 176, w31, w9,  w2);
2398    TEST_3R("hadd_s.d",   0,   0, w0,  w3,  w13);
2399    TEST_3R("hadd_s.d",   8, 192, w1,  w14, w19);
2400    TEST_3R("hadd_s.d",  16, 224, w2,  w8,  w25);
2401    TEST_3R("hadd_s.d",  24,  32, w3,  w27, w20);
2402    TEST_3R("hadd_s.d",  32, 184, w4,  w30, w16);
2403    TEST_3R("hadd_s.d",  40, 144, w5,  w20, w26);
2404    TEST_3R("hadd_s.d",  48, 136, w6,  w27, w17);
2405    TEST_3R("hadd_s.d",  56, 208, w7,  w31, w7);
2406    TEST_3R("hadd_s.d",  64, 232, w8,  w18, w20);
2407    TEST_3R("hadd_s.d",  72, 176, w9,  w27, w22);
2408    TEST_3R("hadd_s.d",  80,  72, w10, w17, w26);
2409    TEST_3R("hadd_s.d",  88, 112, w11, w6,  w8);
2410    TEST_3R("hadd_s.d",  96, 192, w12, w16, w10);
2411    TEST_3R("hadd_s.d", 104,  96, w13, w11, w30);
2412    TEST_3R("hadd_s.d", 112, 200, w14, w9,  w31);
2413    TEST_3R("hadd_s.d", 120, 224, w15, w2,  w25);
2414    TEST_3R("hadd_s.d", 128, 152, w16, w16, w16);
2415    TEST_3R("hadd_s.d", 136,   8, w17, w10, w3);
2416    TEST_3R("hadd_s.d", 144,  64, w18, w15, w21);
2417    TEST_3R("hadd_s.d", 152,   0, w19, w12, w16);
2418    TEST_3R("hadd_s.d", 160, 224, w20, w29, w1);
2419    TEST_3R("hadd_s.d", 168,  88, w21, w28, w7);
2420    TEST_3R("hadd_s.d", 176,  72, w22, w13, w20);
2421    TEST_3R("hadd_s.d", 184, 160, w23, w24, w7);
2422    TEST_3R("hadd_s.d", 192, 200, w24, w22, w29);
2423    TEST_3R("hadd_s.d", 200,  40, w25, w5,  w29);
2424    TEST_3R("hadd_s.d", 208,  32, w26, w7,  w22);
2425    TEST_3R("hadd_s.d", 216,  64, w27, w5,  w5);
2426    TEST_3R("hadd_s.d", 224, 224, w28, w28, w21);
2427    TEST_3R("hadd_s.d", 232,  48, w29, w16, w10);
2428    TEST_3R("hadd_s.d", 240, 168, w30, w28, w27);
2429    TEST_3R("hadd_s.d",   0,  24, w31, w25, w28);
2430    TEST_3R("hadd_u.h",   0, 192, w0,  w25, w17);
2431    TEST_3R("hadd_u.h",   8, 184, w1,  w16, w31);
2432    TEST_3R("hadd_u.h",  16,  96, w2,  w26, w10);
2433    TEST_3R("hadd_u.h",  24, 192, w3,  w21, w3);
2434    TEST_3R("hadd_u.h",  32,  64, w4,  w4,  w4);
2435    TEST_3R("hadd_u.h",  40,  40, w5,  w5,  w3);
2436    TEST_3R("hadd_u.h",  48,  64, w6,  w25, w9);
2437    TEST_3R("hadd_u.h",  56, 168, w7,  w6,  w30);
2438    TEST_3R("hadd_u.h",  64,   0, w8,  w24, w19);
2439    TEST_3R("hadd_u.h",  72, 184, w9,  w27, w20);
2440    TEST_3R("hadd_u.h",  80,   8, w10, w28, w20);
2441    TEST_3R("hadd_u.h",  88,  32, w11, w2,  w22);
2442    TEST_3R("hadd_u.h",  96,  80, w12, w19, w6);
2443    TEST_3R("hadd_u.h", 104,  72, w13, w17, w1);
2444    TEST_3R("hadd_u.h", 112,  24, w14, w3,  w22);
2445    TEST_3R("hadd_u.h", 120, 184, w15, w7,  w25);
2446    TEST_3R("hadd_u.h", 128,   8, w16, w0,  w2);
2447    TEST_3R("hadd_u.h", 136,  48, w17, w6,  w0);
2448    TEST_3R("hadd_u.h", 144,  48, w18, w30, w19);
2449    TEST_3R("hadd_u.h", 152, 112, w19, w25, w7);
2450    TEST_3R("hadd_u.h", 160,   0, w20, w21, w27);
2451    TEST_3R("hadd_u.h", 168,  72, w21, w23, w29);
2452    TEST_3R("hadd_u.h", 176, 200, w22, w10, w17);
2453    TEST_3R("hadd_u.h", 184, 168, w23, w28, w2);
2454    TEST_3R("hadd_u.h", 192, 224, w24, w5,  w5);
2455    TEST_3R("hadd_u.h", 200, 184, w25, w23, w12);
2456    TEST_3R("hadd_u.h", 208, 128, w26, w15, w12);
2457    TEST_3R("hadd_u.h", 216, 144, w27, w26, w18);
2458    TEST_3R("hadd_u.h", 224,  80, w28, w12, w17);
2459    TEST_3R("hadd_u.h", 232, 232, w29, w18, w10);
2460    TEST_3R("hadd_u.h", 240, 192, w30, w23, w0);
2461    TEST_3R("hadd_u.h", 208, 112, w31, w25, w23);
2462    TEST_3R("hadd_u.w",   0, 168, w0,  w2,  w21);
2463    TEST_3R("hadd_u.w",   8, 216, w1,  w30, w23);
2464    TEST_3R("hadd_u.w",  16,  80, w2,  w23, w28);
2465    TEST_3R("hadd_u.w",  24,  72, w3,  w14, w3);
2466    TEST_3R("hadd_u.w",  32, 144, w4,  w4,  w4);
2467    TEST_3R("hadd_u.w",  40,  80, w5,  w5,  w29);
2468    TEST_3R("hadd_u.w",  48,  88, w6,  w3,  w23);
2469    TEST_3R("hadd_u.w",  56,   8, w7,  w20, w4);
2470    TEST_3R("hadd_u.w",  64,   0, w8,  w23, w22);
2471    TEST_3R("hadd_u.w",  72, 160, w9,  w2,  w13);
2472    TEST_3R("hadd_u.w",  80, 200, w10, w9,  w6);
2473    TEST_3R("hadd_u.w",  88,  40, w11, w13, w23);
2474    TEST_3R("hadd_u.w",  96, 232, w12, w2,  w6);
2475    TEST_3R("hadd_u.w", 104, 144, w13, w25, w21);
2476    TEST_3R("hadd_u.w", 112,  32, w14, w21, w26);
2477    TEST_3R("hadd_u.w", 120,  72, w15, w30, w13);
2478    TEST_3R("hadd_u.w", 128,  56, w16, w20, w21);
2479    TEST_3R("hadd_u.w", 136, 176, w17, w4,  w25);
2480    TEST_3R("hadd_u.w", 144, 184, w18, w28, w15);
2481    TEST_3R("hadd_u.w", 152, 216, w19, w30, w28);
2482    TEST_3R("hadd_u.w", 160, 176, w20, w7,  w2);
2483    TEST_3R("hadd_u.w", 168,  96, w21, w20, w25);
2484    TEST_3R("hadd_u.w", 176, 168, w22, w0,  w15);
2485    TEST_3R("hadd_u.w", 184, 112, w23, w21, w2);
2486    TEST_3R("hadd_u.w", 192, 144, w24, w15, w15);
2487    TEST_3R("hadd_u.w", 200, 224, w25, w3,  w28);
2488    TEST_3R("hadd_u.w", 208,  32, w26, w23, w13);
2489    TEST_3R("hadd_u.w", 216,  40, w27, w19, w17);
2490    TEST_3R("hadd_u.w", 224,  24, w28, w8,  w13);
2491    TEST_3R("hadd_u.w", 232, 120, w29, w1,  w12);
2492    TEST_3R("hadd_u.w", 240,  88, w30, w29, w19);
2493    TEST_3R("hadd_u.w",  40, 128, w31, w20, w8);
2494    TEST_3R("hadd_u.d",   0,   0, w0,  w30, w23);
2495    TEST_3R("hadd_u.d",   8, 120, w1,  w14, w13);
2496    TEST_3R("hadd_u.d",  16,  24, w2,  w19, w28);
2497    TEST_3R("hadd_u.d",  24, 152, w3,  w22, w3);
2498    TEST_3R("hadd_u.d",  32, 120, w4,  w4,  w4);
2499    TEST_3R("hadd_u.d",  40, 208, w5,  w5,  w14);
2500    TEST_3R("hadd_u.d",  48, 192, w6,  w18, w1);
2501    TEST_3R("hadd_u.d",  56,   0, w7,  w2,  w10);
2502    TEST_3R("hadd_u.d",  64, 208, w8,  w1,  w11);
2503    TEST_3R("hadd_u.d",  72,  48, w9,  w28, w8);
2504    TEST_3R("hadd_u.d",  80, 200, w10, w26, w28);
2505    TEST_3R("hadd_u.d",  88,  56, w11, w18, w4);
2506    TEST_3R("hadd_u.d",  96,  88, w12, w9,  w27);
2507    TEST_3R("hadd_u.d", 104, 104, w13, w22, w21);
2508    TEST_3R("hadd_u.d", 112,   0, w14, w19, w17);
2509    TEST_3R("hadd_u.d", 120, 224, w15, w12, w13);
2510    TEST_3R("hadd_u.d", 128, 224, w16, w18, w0);
2511    TEST_3R("hadd_u.d", 136, 184, w17, w9,  w2);
2512    TEST_3R("hadd_u.d", 144,  32, w18, w14, w3);
2513    TEST_3R("hadd_u.d", 152,  80, w19, w31, w15);
2514    TEST_3R("hadd_u.d", 160, 160, w20, w26, w11);
2515    TEST_3R("hadd_u.d", 168, 216, w21, w12, w15);
2516    TEST_3R("hadd_u.d", 176, 176, w22, w21, w10);
2517    TEST_3R("hadd_u.d", 184,  48, w23, w12, w31);
2518    TEST_3R("hadd_u.d", 192,  48, w24, w31, w31);
2519    TEST_3R("hadd_u.d", 200,   8, w25, w3,  w11);
2520    TEST_3R("hadd_u.d", 208,   8, w26, w19, w29);
2521    TEST_3R("hadd_u.d", 216,  96, w27, w5,  w6);
2522    TEST_3R("hadd_u.d", 224,  48, w28, w1,  w21);
2523    TEST_3R("hadd_u.d", 232,   0, w29, w8,  w20);
2524    TEST_3R("hadd_u.d", 240, 152, w30, w23, w24);
2525    TEST_3R("hadd_u.d",   0,  40, w31, w2,  w9);
2526    TEST_3R("hsub_s.h",   0, 224, w0,  w26, w10);
2527    TEST_3R("hsub_s.h",   8,  32, w1,  w6,  w16);
2528    TEST_3R("hsub_s.h",  16, 144, w2,  w10, w14);
2529    TEST_3R("hsub_s.h",  24,   8, w3,  w22, w12);
2530    TEST_3R("hsub_s.h",  32,  32, w4,  w4,  w4);
2531    TEST_3R("hsub_s.h",  40,  88, w5,  w19, w29);
2532    TEST_3R("hsub_s.h",  48,  32, w6,  w14, w3);
2533    TEST_3R("hsub_s.h",  56, 136, w7,  w9,  w18);
2534    TEST_3R("hsub_s.h",  64, 224, w8,  w16, w3);
2535    TEST_3R("hsub_s.h",  72,   8, w9,  w20, w2);
2536    TEST_3R("hsub_s.h",  80, 224, w10, w6,  w22);
2537    TEST_3R("hsub_s.h",  88,  80, w11, w0,  w4);
2538    TEST_3R("hsub_s.h",  96,  80, w12, w16, w5);
2539    TEST_3R("hsub_s.h", 104,  24, w13, w30, w7);
2540    TEST_3R("hsub_s.h", 112, 200, w14, w22, w9);
2541    TEST_3R("hsub_s.h", 120, 184, w15, w19, w3);
2542    TEST_3R("hsub_s.h", 128,  32, w16, w22, w4);
2543    TEST_3R("hsub_s.h", 136, 104, w17, w8,  w6);
2544    TEST_3R("hsub_s.h", 144, 216, w18, w21, w26);
2545    TEST_3R("hsub_s.h", 152,  96, w19, w0,  w4);
2546    TEST_3R("hsub_s.h", 160, 176, w20, w0,  w4);
2547    TEST_3R("hsub_s.h", 168, 200, w21, w7,  w12);
2548    TEST_3R("hsub_s.h", 176, 152, w22, w19, w25);
2549    TEST_3R("hsub_s.h", 184, 152, w23, w30, w15);
2550    TEST_3R("hsub_s.h", 192, 104, w24, w29, w2);
2551    TEST_3R("hsub_s.h", 200, 232, w25, w9,  w9);
2552    TEST_3R("hsub_s.h", 208, 144, w26, w16, w31);
2553    TEST_3R("hsub_s.h", 216,   8, w27, w1,  w5);
2554    TEST_3R("hsub_s.h", 224, 120, w28, w23, w28);
2555    TEST_3R("hsub_s.h", 232,  72, w29, w26, w23);
2556    TEST_3R("hsub_s.h", 240,   0, w30, w30, w26);
2557    TEST_3R("hsub_s.h",  96, 112, w31, w2,  w1);
2558    TEST_3R("hsub_s.w",   0, 112, w0,  w14, w11);
2559    TEST_3R("hsub_s.w",   8,  96, w1,  w31, w9);
2560    TEST_3R("hsub_s.w",  16, 200, w2,  w8,  w6);
2561    TEST_3R("hsub_s.w",  24,  64, w3,  w20, w16);
2562    TEST_3R("hsub_s.w",  32,  96, w4,  w4,  w4);
2563    TEST_3R("hsub_s.w",  40, 192, w5,  w15, w18);
2564    TEST_3R("hsub_s.w",  48, 152, w6,  w21, w30);
2565    TEST_3R("hsub_s.w",  56, 224, w7,  w20, w24);
2566    TEST_3R("hsub_s.w",  64, 152, w8,  w20, w22);
2567    TEST_3R("hsub_s.w",  72, 144, w9,  w20, w25);
2568    TEST_3R("hsub_s.w",  80,  56, w10, w27, w16);
2569    TEST_3R("hsub_s.w",  88,  72, w11, w27, w5);
2570    TEST_3R("hsub_s.w",  96, 208, w12, w5,  w28);
2571    TEST_3R("hsub_s.w", 104, 208, w13, w11, w22);
2572    TEST_3R("hsub_s.w", 112, 184, w14, w27, w8);
2573    TEST_3R("hsub_s.w", 120,  16, w15, w11, w26);
2574    TEST_3R("hsub_s.w", 128, 168, w16, w0,  w25);
2575    TEST_3R("hsub_s.w", 136,  24, w17, w20, w8);
2576    TEST_3R("hsub_s.w", 144, 176, w18, w31, w28);
2577    TEST_3R("hsub_s.w", 152,  64, w19, w15, w24);
2578    TEST_3R("hsub_s.w", 160, 200, w20, w13, w19);
2579    TEST_3R("hsub_s.w", 168,  32, w21, w19, w14);
2580    TEST_3R("hsub_s.w", 176, 168, w22, w15, w17);
2581    TEST_3R("hsub_s.w", 184, 104, w23, w5,  w8);
2582    TEST_3R("hsub_s.w", 192, 176, w24, w13, w3);
2583    TEST_3R("hsub_s.w", 200, 208, w25, w8,  w8);
2584    TEST_3R("hsub_s.w", 208,  16, w26, w4,  w1);
2585    TEST_3R("hsub_s.w", 216, 160, w27, w24, w18);
2586    TEST_3R("hsub_s.w", 224, 136, w28, w1,  w28);
2587    TEST_3R("hsub_s.w", 232, 192, w29, w17, w27);
2588    TEST_3R("hsub_s.w", 240,   8, w30, w30, w21);
2589    TEST_3R("hsub_s.w", 144,  88, w31, w14, w9);
2590    TEST_3R("hsub_s.d",   0,   0, w0,  w23, w12);
2591    TEST_3R("hsub_s.d",   8, 128, w1,  w9,  w22);
2592    TEST_3R("hsub_s.d",  16, 208, w2,  w4,  w21);
2593    TEST_3R("hsub_s.d",  24, 168, w3,  w12, w25);
2594    TEST_3R("hsub_s.d",  32,  40, w4,  w4,  w4);
2595    TEST_3R("hsub_s.d",  40, 152, w5,  w26, w3);
2596    TEST_3R("hsub_s.d",  48, 168, w6,  w12, w4);
2597    TEST_3R("hsub_s.d",  56, 224, w7,  w29, w1);
2598    TEST_3R("hsub_s.d",  64, 112, w8,  w30, w23);
2599    TEST_3R("hsub_s.d",  72, 200, w9,  w13, w0);
2600    TEST_3R("hsub_s.d",  80, 200, w10, w14, w23);
2601    TEST_3R("hsub_s.d",  88, 128, w11, w31, w0);
2602    TEST_3R("hsub_s.d",  96, 160, w12, w22, w18);
2603    TEST_3R("hsub_s.d", 104,   8, w13, w26, w7);
2604    TEST_3R("hsub_s.d", 112, 176, w14, w6,  w0);
2605    TEST_3R("hsub_s.d", 120,  40, w15, w19, w26);
2606    TEST_3R("hsub_s.d", 128,  72, w16, w18, w6);
2607    TEST_3R("hsub_s.d", 136,  72, w17, w12, w3);
2608    TEST_3R("hsub_s.d", 144,  32, w18, w2,  w5);
2609    TEST_3R("hsub_s.d", 152, 112, w19, w15, w5);
2610    TEST_3R("hsub_s.d", 160, 184, w20, w29, w28);
2611    TEST_3R("hsub_s.d", 168, 144, w21, w29, w27);
2612    TEST_3R("hsub_s.d", 176,  72, w22, w15, w16);
2613    TEST_3R("hsub_s.d", 184, 128, w23, w22, w11);
2614    TEST_3R("hsub_s.d", 192,  96, w24, w22, w16);
2615    TEST_3R("hsub_s.d", 200, 216, w25, w16, w16);
2616    TEST_3R("hsub_s.d", 208,  48, w26, w24, w22);
2617    TEST_3R("hsub_s.d", 216, 128, w27, w5,  w25);
2618    TEST_3R("hsub_s.d", 224, 136, w28, w7,  w28);
2619    TEST_3R("hsub_s.d", 232,  72, w29, w24, w11);
2620    TEST_3R("hsub_s.d", 240,  88, w30, w30, w29);
2621    TEST_3R("hsub_s.d",  80,  32, w31, w8,  w26);
2622    TEST_3R("hsub_u.h",   0, 144, w0,  w29, w27);
2623    TEST_3R("hsub_u.h",   8, 112, w1,  w18, w8);
2624    TEST_3R("hsub_u.h",  16, 176, w2,  w31, w1);
2625    TEST_3R("hsub_u.h",  24, 136, w3,  w26, w30);
2626    TEST_3R("hsub_u.h",  32,  64, w4,  w31, w17);
2627    TEST_3R("hsub_u.h",  40, 216, w5,  w15, w6);
2628    TEST_3R("hsub_u.h",  48, 176, w6,  w26, w26);
2629    TEST_3R("hsub_u.h",  56, 216, w7,  w18, w25);
2630    TEST_3R("hsub_u.h",  64, 144, w8,  w17, w29);
2631    TEST_3R("hsub_u.h",  72, 192, w9,  w30, w8);
2632    TEST_3R("hsub_u.h",  80, 160, w10, w23, w29);
2633    TEST_3R("hsub_u.h",  88, 160, w11, w18, w13);
2634    TEST_3R("hsub_u.h",  96, 144, w12, w27, w5);
2635    TEST_3R("hsub_u.h", 104,  56, w13, w28, w7);
2636    TEST_3R("hsub_u.h", 112,  56, w14, w27, w18);
2637    TEST_3R("hsub_u.h", 120,  88, w15, w12, w19);
2638    TEST_3R("hsub_u.h", 128,  80, w16, w18, w0);
2639    TEST_3R("hsub_u.h", 136,  96, w17, w17, w7);
2640    TEST_3R("hsub_u.h", 144,  64, w18, w16, w4);
2641    TEST_3R("hsub_u.h", 152, 224, w19, w13, w8);
2642    TEST_3R("hsub_u.h", 160, 104, w20, w21, w13);
2643    TEST_3R("hsub_u.h", 168, 168, w21, w18, w15);
2644    TEST_3R("hsub_u.h", 176, 176, w22, w0,  w4);
2645    TEST_3R("hsub_u.h", 184, 160, w23, w23, w23);
2646    TEST_3R("hsub_u.h", 192,  24, w24, w3,  w24);
2647    TEST_3R("hsub_u.h", 200,  24, w25, w6,  w30);
2648    TEST_3R("hsub_u.h", 208, 208, w26, w20, w10);
2649    TEST_3R("hsub_u.h", 216,   0, w27, w17, w28);
2650    TEST_3R("hsub_u.h", 224,  96, w28, w8,  w3);
2651    TEST_3R("hsub_u.h", 232, 168, w29, w24, w8);
2652    TEST_3R("hsub_u.h", 240,  24, w30, w5,  w16);
2653    TEST_3R("hsub_u.h", 232, 128, w31, w26, w30);
2654    TEST_3R("hsub_u.w",   0, 104, w0,  w13, w17);
2655    TEST_3R("hsub_u.w",   8, 144, w1,  w17, w24);
2656    TEST_3R("hsub_u.w",  16, 168, w2,  w9,  w27);
2657    TEST_3R("hsub_u.w",  24,  72, w3,  w16, w26);
2658    TEST_3R("hsub_u.w",  32,   0, w4,  w13, w21);
2659    TEST_3R("hsub_u.w",  40, 192, w5,  w31, w29);
2660    TEST_3R("hsub_u.w",  48,  96, w6,  w4,  w4);
2661    TEST_3R("hsub_u.w",  56, 168, w7,  w12, w13);
2662    TEST_3R("hsub_u.w",  64, 112, w8,  w29, w24);
2663    TEST_3R("hsub_u.w",  72, 112, w9,  w27, w29);
2664    TEST_3R("hsub_u.w",  80,  88, w10, w8,  w14);
2665    TEST_3R("hsub_u.w",  88, 232, w11, w26, w6);
2666    TEST_3R("hsub_u.w",  96,  40, w12, w3,  w2);
2667    TEST_3R("hsub_u.w", 104, 224, w13, w19, w28);
2668    TEST_3R("hsub_u.w", 112, 144, w14, w23, w0);
2669    TEST_3R("hsub_u.w", 120,  64, w15, w12, w1);
2670    TEST_3R("hsub_u.w", 128, 192, w16, w9,  w6);
2671    TEST_3R("hsub_u.w", 136,  16, w17, w17, w30);
2672    TEST_3R("hsub_u.w", 144, 168, w18, w20, w24);
2673    TEST_3R("hsub_u.w", 152,  72, w19, w13, w12);
2674    TEST_3R("hsub_u.w", 160, 224, w20, w10, w13);
2675    TEST_3R("hsub_u.w", 168,  88, w21, w25, w26);
2676    TEST_3R("hsub_u.w", 176,   0, w22, w31, w24);
2677    TEST_3R("hsub_u.w", 184, 144, w23, w23, w23);
2678    TEST_3R("hsub_u.w", 192, 208, w24, w20, w24);
2679    TEST_3R("hsub_u.w", 200, 104, w25, w29, w12);
2680    TEST_3R("hsub_u.w", 208, 216, w26, w30, w16);
2681    TEST_3R("hsub_u.w", 216, 208, w27, w31, w20);
2682    TEST_3R("hsub_u.w", 224, 176, w28, w5,  w27);
2683    TEST_3R("hsub_u.w", 232,  72, w29, w24, w16);
2684    TEST_3R("hsub_u.w", 240, 192, w30, w7,  w29);
2685    TEST_3R("hsub_u.w", 208,  64, w31, w18, w7);
2686    TEST_3R("hsub_u.d",   0, 112, w0,  w28, w18);
2687    TEST_3R("hsub_u.d",   8,  16, w1,  w20, w2);
2688    TEST_3R("hsub_u.d",  16, 216, w2,  w9,  w6);
2689    TEST_3R("hsub_u.d",  24, 200, w3,  w21, w2);
2690    TEST_3R("hsub_u.d",  32, 200, w4,  w5,  w10);
2691    TEST_3R("hsub_u.d",  40,  64, w5,  w25, w27);
2692    TEST_3R("hsub_u.d",  48, 120, w6,  w21, w21);
2693    TEST_3R("hsub_u.d",  56, 192, w7,  w26, w5);
2694    TEST_3R("hsub_u.d",  64,  24, w8,  w1,  w2);
2695    TEST_3R("hsub_u.d",  72, 168, w9,  w19, w11);
2696    TEST_3R("hsub_u.d",  80, 152, w10, w7,  w27);
2697    TEST_3R("hsub_u.d",  88, 136, w11, w4,  w19);
2698    TEST_3R("hsub_u.d",  96,  96, w12, w25, w21);
2699    TEST_3R("hsub_u.d", 104,  24, w13, w31, w4);
2700    TEST_3R("hsub_u.d", 112, 200, w14, w27, w6);
2701    TEST_3R("hsub_u.d", 120,  48, w15, w6,  w0);
2702    TEST_3R("hsub_u.d", 128,  16, w16, w26, w1);
2703    TEST_3R("hsub_u.d", 136, 192, w17, w17, w3);
2704    TEST_3R("hsub_u.d", 144, 232, w18, w30, w14);
2705    TEST_3R("hsub_u.d", 152, 104, w19, w8,  w21);
2706    TEST_3R("hsub_u.d", 160, 128, w20, w18, w17);
2707    TEST_3R("hsub_u.d", 168,  40, w21, w29, w24);
2708    TEST_3R("hsub_u.d", 176,   8, w22, w15, w14);
2709    TEST_3R("hsub_u.d", 184, 216, w23, w23, w23);
2710    TEST_3R("hsub_u.d", 192, 192, w24, w13, w24);
2711    TEST_3R("hsub_u.d", 200, 200, w25, w6,  w8);
2712    TEST_3R("hsub_u.d", 208, 120, w26, w20, w15);
2713    TEST_3R("hsub_u.d", 216,   8, w27, w6,  w9);
2714    TEST_3R("hsub_u.d", 224,  80, w28, w27, w13);
2715    TEST_3R("hsub_u.d", 232,  72, w29, w25, w27);
2716    TEST_3R("hsub_u.d", 240,  48, w30, w1,  w17);
2717    TEST_3R("hsub_u.d",  32, 184, w31, w19, w2);
2718    TEST_3R("maddv.b",   0, 144, w0,  w1,  w8);
2719    TEST_3R("maddv.b",   8,  24, w1,  w14, w27);
2720    TEST_3R("maddv.b",  16,  88, w2,  w23, w21);
2721    TEST_3R("maddv.b",  24,  96, w3,  w6,  w14);
2722    TEST_3R("maddv.b",  32,   0, w4,  w15, w9);
2723    TEST_3R("maddv.b",  40,  72, w5,  w28, w25);
2724    TEST_3R("maddv.b",  48, 144, w6,  w24, w24);
2725    TEST_3R("maddv.b",  56, 200, w7,  w10, w9);
2726    TEST_3R("maddv.b",  64,  16, w8,  w29, w11);
2727    TEST_3R("maddv.b",  72, 152, w9,  w14, w2);
2728    TEST_3R("maddv.b",  80, 168, w10, w6,  w9);
2729    TEST_3R("maddv.b",  88, 120, w11, w14, w29);
2730    TEST_3R("maddv.b",  96, 128, w12, w10, w24);
2731    TEST_3R("maddv.b", 104, 176, w13, w31, w7);
2732    TEST_3R("maddv.b", 112, 112, w14, w13, w29);
2733    TEST_3R("maddv.b", 120,  16, w15, w23, w13);
2734    TEST_3R("maddv.b", 128, 144, w16, w23, w10);
2735    TEST_3R("maddv.b", 136, 224, w17, w1,  w19);
2736    TEST_3R("maddv.b", 144,   8, w18, w31, w30);
2737    TEST_3R("maddv.b", 152,  48, w19, w19, w13);
2738    TEST_3R("maddv.b", 160, 120, w20, w21, w19);
2739    TEST_3R("maddv.b", 168,  96, w21, w16, w2);
2740    TEST_3R("maddv.b", 176,  96, w22, w25, w12);
2741    TEST_3R("maddv.b", 184, 216, w23, w23, w23);
2742    TEST_3R("maddv.b", 192,  64, w24, w11, w24);
2743    TEST_3R("maddv.b", 200,  16, w25, w0,  w24);
2744    TEST_3R("maddv.b", 208, 208, w26, w22, w15);
2745    TEST_3R("maddv.b", 216, 104, w27, w9,  w0);
2746    TEST_3R("maddv.b", 224,  88, w28, w19, w7);
2747    TEST_3R("maddv.b", 232,  56, w29, w7,  w27);
2748    TEST_3R("maddv.b", 240,  32, w30, w5,  w22);
2749    TEST_3R("maddv.b",   0, 216, w31, w6,  w11);
2750    TEST_3R("maddv.h",   0, 216, w0,  w27, w12);
2751    TEST_3R("maddv.h",   8,  72, w1,  w21, w24);
2752    TEST_3R("maddv.h",  16,   8, w2,  w15, w3);
2753    TEST_3R("maddv.h",  24,  32, w3,  w15, w27);
2754    TEST_3R("maddv.h",  32, 112, w4,  w6,  w11);
2755    TEST_3R("maddv.h",  40,  88, w5,  w15, w11);
2756    TEST_3R("maddv.h",  48, 208, w6,  w2,  w2);
2757    TEST_3R("maddv.h",  56, 112, w7,  w9,  w14);
2758    TEST_3R("maddv.h",  64,  24, w8,  w15, w4);
2759    TEST_3R("maddv.h",  72, 112, w9,  w21, w16);
2760    TEST_3R("maddv.h",  80,  56, w10, w6,  w11);
2761    TEST_3R("maddv.h",  88,  48, w11, w30, w0);
2762    TEST_3R("maddv.h",  96,  40, w12, w22, w15);
2763    TEST_3R("maddv.h", 104, 192, w13, w21, w31);
2764    TEST_3R("maddv.h", 112,  80, w14, w25, w5);
2765    TEST_3R("maddv.h", 120, 200, w15, w20, w12);
2766    TEST_3R("maddv.h", 128, 136, w16, w22, w30);
2767    TEST_3R("maddv.h", 136,   8, w17, w0,  w12);
2768    TEST_3R("maddv.h", 144, 144, w18, w15, w17);
2769    TEST_3R("maddv.h", 152, 128, w19, w19, w4);
2770    TEST_3R("maddv.h", 160,  88, w20, w8,  w10);
2771    TEST_3R("maddv.h", 168, 136, w21, w7,  w8);
2772    TEST_3R("maddv.h", 176,   8, w22, w31, w30);
2773    TEST_3R("maddv.h", 184,  56, w23, w23, w23);
2774    TEST_3R("maddv.h", 192, 216, w24, w20, w24);
2775    TEST_3R("maddv.h", 200, 192, w25, w15, w13);
2776    TEST_3R("maddv.h", 208,  96, w26, w16, w29);
2777    TEST_3R("maddv.h", 216,  56, w27, w28, w11);
2778    TEST_3R("maddv.h", 224, 232, w28, w27, w3);
2779    TEST_3R("maddv.h", 232, 216, w29, w7,  w14);
2780    TEST_3R("maddv.h", 240, 104, w30, w24, w3);
2781    TEST_3R("maddv.h", 144, 168, w31, w25, w11);
2782    TEST_3R("maddv.w",   0,  48, w0,  w18, w17);
2783    TEST_3R("maddv.w",   8,  56, w1,  w17, w16);
2784    TEST_3R("maddv.w",  16, 152, w2,  w11, w4);
2785    TEST_3R("maddv.w",  24, 216, w3,  w26, w17);
2786    TEST_3R("maddv.w",  32,  80, w4,  w11, w14);
2787    TEST_3R("maddv.w",  40,   8, w5,  w7,  w26);
2788    TEST_3R("maddv.w",  48, 120, w6,  w2,  w2);
2789    TEST_3R("maddv.w",  56,  88, w7,  w22, w10);
2790    TEST_3R("maddv.w",  64, 200, w8,  w16, w2);
2791    TEST_3R("maddv.w",  72,  88, w9,  w14, w28);
2792    TEST_3R("maddv.w",  80,  56, w10, w23, w2);
2793    TEST_3R("maddv.w",  88,  24, w11, w9,  w21);
2794    TEST_3R("maddv.w",  96, 168, w12, w25, w4);
2795    TEST_3R("maddv.w", 104,  80, w13, w29, w15);
2796    TEST_3R("maddv.w", 112, 184, w14, w27, w29);
2797    TEST_3R("maddv.w", 120, 192, w15, w22, w23);
2798    TEST_3R("maddv.w", 128,  72, w16, w24, w20);
2799    TEST_3R("maddv.w", 136, 168, w17, w2,  w0);
2800    TEST_3R("maddv.w", 144,   8, w18, w5,  w15);
2801    TEST_3R("maddv.w", 152, 168, w19, w19, w1);
2802    TEST_3R("maddv.w", 160,  96, w20, w18, w3);
2803    TEST_3R("maddv.w", 168, 128, w21, w27, w24);
2804    TEST_3R("maddv.w", 176,  56, w22, w20, w28);
2805    TEST_3R("maddv.w", 184,  16, w23, w23, w23);
2806    TEST_3R("maddv.w", 192,  16, w24, w12, w24);
2807    TEST_3R("maddv.w", 200, 200, w25, w31, w7);
2808    TEST_3R("maddv.w", 208, 176, w26, w28, w2);
2809    TEST_3R("maddv.w", 216, 200, w27, w19, w8);
2810    TEST_3R("maddv.w", 224,  80, w28, w8,  w4);
2811    TEST_3R("maddv.w", 232, 208, w29, w8,  w16);
2812    TEST_3R("maddv.w", 240, 176, w30, w24, w10);
2813    TEST_3R("maddv.w", 144,   8, w31, w1,  w28);
2814    TEST_3R("maddv.d",   0,  40, w0,  w23, w1);
2815    TEST_3R("maddv.d",   8, 216, w1,  w11, w29);
2816    TEST_3R("maddv.d",  16, 232, w2,  w28, w9);
2817    TEST_3R("maddv.d",  24, 200, w3,  w28, w16);
2818    TEST_3R("maddv.d",  32,   8, w4,  w24, w18);
2819    TEST_3R("maddv.d",  40, 216, w5,  w12, w26);
2820    TEST_3R("maddv.d",  48, 152, w6,  w20, w20);
2821    TEST_3R("maddv.d",  56,   8, w7,  w26, w28);
2822    TEST_3R("maddv.d",  64, 104, w8,  w31, w20);
2823    TEST_3R("maddv.d",  72, 208, w9,  w5,  w22);
2824    TEST_3R("maddv.d",  80,  88, w10, w14, w13);
2825    TEST_3R("maddv.d",  88, 216, w11, w15, w25);
2826    TEST_3R("maddv.d",  96, 224, w12, w13, w1);
2827    TEST_3R("maddv.d", 104, 128, w13, w22, w10);
2828    TEST_3R("maddv.d", 112,  24, w14, w7,  w2);
2829    TEST_3R("maddv.d", 120, 160, w15, w25, w31);
2830    TEST_3R("maddv.d", 128, 232, w16, w20, w26);
2831    TEST_3R("maddv.d", 136, 208, w17, w18, w20);
2832    TEST_3R("maddv.d", 144, 200, w18, w1,  w20);
2833    TEST_3R("maddv.d", 152, 152, w19, w19, w26);
2834    TEST_3R("maddv.d", 160, 120, w20, w16, w15);
2835    TEST_3R("maddv.d", 168, 192, w21, w30, w28);
2836    TEST_3R("maddv.d", 176,   0, w22, w23, w21);
2837    TEST_3R("maddv.d", 184, 104, w23, w23, w23);
2838    TEST_3R("maddv.d", 192, 216, w24, w10, w24);
2839    TEST_3R("maddv.d", 200,  80, w25, w3,  w27);
2840    TEST_3R("maddv.d", 208,  88, w26, w5,  w4);
2841    TEST_3R("maddv.d", 216,  88, w27, w5,  w26);
2842    TEST_3R("maddv.d", 224,  16, w28, w31, w3);
2843    TEST_3R("maddv.d", 232,  64, w29, w19, w9);
2844    TEST_3R("maddv.d", 240, 216, w30, w7,  w4);
2845    TEST_3R("maddv.d",  88, 104, w31, w1,  w20);
2846    TEST_3R("max_a.b",   0,  80, w0,  w5,  w0);
2847    TEST_3R("max_a.b",   8, 112, w1,  w8,  w0);
2848    TEST_3R("max_a.b",  16, 192, w2,  w3,  w10);
2849    TEST_3R("max_a.b",  24, 192, w3,  w29, w15);
2850    TEST_3R("max_a.b",  32,  48, w4,  w13, w14);
2851    TEST_3R("max_a.b",  40, 120, w5,  w15, w2);
2852    TEST_3R("max_a.b",  48,  32, w6,  w18, w9);
2853    TEST_3R("max_a.b",  56,  48, w7,  w15, w10);
2854    TEST_3R("max_a.b",  64, 120, w8,  w27, w19);
2855    TEST_3R("max_a.b",  72, 128, w9,  w9,  w4);
2856    TEST_3R("max_a.b",  80, 184, w10, w3,  w2);
2857    TEST_3R("max_a.b",  88,  88, w11, w5,  w10);
2858    TEST_3R("max_a.b",  96, 200, w12, w10, w13);
2859    TEST_3R("max_a.b", 104,  40, w13, w20, w21);
2860    TEST_3R("max_a.b", 112, 208, w14, w4,  w22);
2861    TEST_3R("max_a.b", 120, 160, w15, w18, w27);
2862    TEST_3R("max_a.b", 128, 176, w16, w20, w10);
2863    TEST_3R("max_a.b", 136, 176, w17, w30, w28);
2864    TEST_3R("max_a.b", 144,  24, w18, w18, w18);
2865    TEST_3R("max_a.b", 152, 104, w19, w3,  w17);
2866    TEST_3R("max_a.b", 160,   0, w20, w29, w21);
2867    TEST_3R("max_a.b", 168,  56, w21, w0,  w24);
2868    TEST_3R("max_a.b", 176, 144, w22, w5,  w2);
2869    TEST_3R("max_a.b", 184, 216, w23, w15, w16);
2870    TEST_3R("max_a.b", 192,  16, w24, w3,  w5);
2871    TEST_3R("max_a.b", 200, 232, w25, w7,  w27);
2872    TEST_3R("max_a.b", 208, 232, w26, w23, w15);
2873    TEST_3R("max_a.b", 216,  24, w27, w1,  w22);
2874    TEST_3R("max_a.b", 224, 160, w28, w29, w11);
2875    TEST_3R("max_a.b", 232,  32, w29, w1,  w28);
2876    TEST_3R("max_a.b", 240, 144, w30, w18, w18);
2877    TEST_3R("max_a.b", 128,  72, w31, w30, w10);
2878    TEST_3R("max_a.h",   0, 216, w0,  w12, w0);
2879    TEST_3R("max_a.h",   8,  72, w1,  w18, w28);
2880    TEST_3R("max_a.h",  16, 200, w2,  w21, w1);
2881    TEST_3R("max_a.h",  24, 224, w3,  w29, w25);
2882    TEST_3R("max_a.h",  32,  96, w4,  w20, w9);
2883    TEST_3R("max_a.h",  40,   0, w5,  w21, w31);
2884    TEST_3R("max_a.h",  48, 160, w6,  w18, w10);
2885    TEST_3R("max_a.h",  56,  80, w7,  w19, w24);
2886    TEST_3R("max_a.h",  64, 192, w8,  w25, w15);
2887    TEST_3R("max_a.h",  72, 144, w9,  w9,  w3);
2888    TEST_3R("max_a.h",  80,   8, w10, w15, w4);
2889    TEST_3R("max_a.h",  88, 120, w11, w24, w26);
2890    TEST_3R("max_a.h",  96,  56, w12, w22, w23);
2891    TEST_3R("max_a.h", 104,  40, w13, w16, w14);
2892    TEST_3R("max_a.h", 112, 176, w14, w25, w19);
2893    TEST_3R("max_a.h", 120, 112, w15, w24, w5);
2894    TEST_3R("max_a.h", 128,  40, w16, w2,  w12);
2895    TEST_3R("max_a.h", 136, 120, w17, w9,  w4);
2896    TEST_3R("max_a.h", 144,  64, w18, w18, w18);
2897    TEST_3R("max_a.h", 152, 128, w19, w29, w26);
2898    TEST_3R("max_a.h", 160, 160, w20, w0,  w13);
2899    TEST_3R("max_a.h", 168, 176, w21, w15, w17);
2900    TEST_3R("max_a.h", 176, 168, w22, w7,  w11);
2901    TEST_3R("max_a.h", 184, 232, w23, w30, w2);
2902    TEST_3R("max_a.h", 192, 144, w24, w14, w16);
2903    TEST_3R("max_a.h", 200, 200, w25, w7,  w4);
2904    TEST_3R("max_a.h", 208,  80, w26, w31, w9);
2905    TEST_3R("max_a.h", 216, 120, w27, w1,  w22);
2906    TEST_3R("max_a.h", 224,   0, w28, w11, w26);
2907    TEST_3R("max_a.h", 232, 144, w29, w13, w24);
2908    TEST_3R("max_a.h", 240,  72, w30, w19, w19);
2909    TEST_3R("max_a.h", 136,  40, w31, w29, w8);
2910    TEST_3R("max_a.w",   0,  88, w0,  w9,  w0);
2911    TEST_3R("max_a.w",   8, 200, w1,  w26, w23);
2912    TEST_3R("max_a.w",  16, 200, w2,  w28, w16);
2913    TEST_3R("max_a.w",  24,  80, w3,  w13, w8);
2914    TEST_3R("max_a.w",  32,  32, w4,  w17, w19);
2915    TEST_3R("max_a.w",  40,  32, w5,  w26, w4);
2916    TEST_3R("max_a.w",  48, 136, w6,  w16, w14);
2917    TEST_3R("max_a.w",  56, 184, w7,  w11, w4);
2918    TEST_3R("max_a.w",  64,   8, w8,  w3,  w20);
2919    TEST_3R("max_a.w",  72,   0, w9,  w9,  w27);
2920    TEST_3R("max_a.w",  80,   8, w10, w22, w3);
2921    TEST_3R("max_a.w",  88,  56, w11, w31, w19);
2922    TEST_3R("max_a.w",  96,  96, w12, w23, w0);
2923    TEST_3R("max_a.w", 104,  96, w13, w7,  w28);
2924    TEST_3R("max_a.w", 112,  96, w14, w15, w30);
2925    TEST_3R("max_a.w", 120,  40, w15, w2,  w0);
2926    TEST_3R("max_a.w", 128, 152, w16, w6,  w3);
2927    TEST_3R("max_a.w", 136,  56, w17, w21, w10);
2928    TEST_3R("max_a.w", 144, 168, w18, w18, w18);
2929    TEST_3R("max_a.w", 152, 104, w19, w13, w27);
2930    TEST_3R("max_a.w", 160,  40, w20, w30, w17);
2931    TEST_3R("max_a.w", 168,  72, w21, w29, w17);
2932    TEST_3R("max_a.w", 176, 184, w22, w23, w8);
2933    TEST_3R("max_a.w", 184,  24, w23, w13, w15);
2934    TEST_3R("max_a.w", 192,  56, w24, w16, w31);
2935    TEST_3R("max_a.w", 200, 120, w25, w4,  w1);
2936    TEST_3R("max_a.w", 208,  88, w26, w18, w8);
2937    TEST_3R("max_a.w", 216,  72, w27, w17, w29);
2938    TEST_3R("max_a.w", 224,   8, w28, w27, w22);
2939    TEST_3R("max_a.w", 232,  64, w29, w8,  w3);
2940    TEST_3R("max_a.w", 240,   0, w30, w17, w17);
2941    TEST_3R("max_a.w", 200, 216, w31, w7,  w29);
2942    TEST_3R("max_a.d",   0, 128, w0,  w28, w0);
2943    TEST_3R("max_a.d",   8, 144, w1,  w0,  w27);
2944    TEST_3R("max_a.d",  16,  16, w2,  w15, w23);
2945    TEST_3R("max_a.d",  24,  96, w3,  w14, w17);
2946    TEST_3R("max_a.d",  32, 104, w4,  w16, w11);
2947    TEST_3R("max_a.d",  40,  24, w5,  w24, w8);
2948    TEST_3R("max_a.d",  48, 176, w6,  w21, w22);
2949    TEST_3R("max_a.d",  56, 168, w7,  w11, w16);
2950    TEST_3R("max_a.d",  64,  24, w8,  w14, w6);
2951    TEST_3R("max_a.d",  72,  88, w9,  w9,  w15);
2952    TEST_3R("max_a.d",  80,  48, w10, w12, w13);
2953    TEST_3R("max_a.d",  88, 208, w11, w8,  w3);
2954    TEST_3R("max_a.d",  96, 160, w12, w4,  w5);
2955    TEST_3R("max_a.d", 104, 208, w13, w27, w24);
2956    TEST_3R("max_a.d", 112, 192, w14, w12, w19);
2957    TEST_3R("max_a.d", 120,  24, w15, w23, w11);
2958    TEST_3R("max_a.d", 128,  48, w16, w18, w0);
2959    TEST_3R("max_a.d", 136,  80, w17, w8,  w11);
2960    TEST_3R("max_a.d", 144, 192, w18, w18, w18);
2961    TEST_3R("max_a.d", 152, 224, w19, w25, w11);
2962    TEST_3R("max_a.d", 160,  32, w20, w8,  w24);
2963    TEST_3R("max_a.d", 168, 184, w21, w29, w11);
2964    TEST_3R("max_a.d", 176, 136, w22, w2,  w15);
2965    TEST_3R("max_a.d", 184,  40, w23, w10, w22);
2966    TEST_3R("max_a.d", 192,   8, w24, w22, w4);
2967    TEST_3R("max_a.d", 200,  72, w25, w13, w28);
2968    TEST_3R("max_a.d", 208, 232, w26, w12, w14);
2969    TEST_3R("max_a.d", 216, 176, w27, w1,  w22);
2970    TEST_3R("max_a.d", 224,  32, w28, w6,  w18);
2971    TEST_3R("max_a.d", 232, 176, w29, w4,  w10);
2972    TEST_3R("max_a.d", 240, 200, w30, w25, w25);
2973    TEST_3R("max_a.d",  88, 232, w31, w0,  w18);
2974    TEST_3R("max_s.b",   0,  56, w0,  w27, w15);
2975    TEST_3R("max_s.b",   8, 136, w1,  w1,  w8);
2976    TEST_3R("max_s.b",  16, 184, w2,  w6,  w0);
2977    TEST_3R("max_s.b",  24, 152, w3,  w20, w24);
2978    TEST_3R("max_s.b",  32, 200, w4,  w10, w27);
2979    TEST_3R("max_s.b",  40, 192, w5,  w7,  w23);
2980    TEST_3R("max_s.b",  48, 104, w6,  w25, w25);
2981    TEST_3R("max_s.b",  56,  16, w7,  w12, w14);
2982    TEST_3R("max_s.b",  64,   0, w8,  w20, w14);
2983    TEST_3R("max_s.b",  72,   0, w9,  w30, w29);
2984    TEST_3R("max_s.b",  80, 232, w10, w0,  w22);
2985    TEST_3R("max_s.b",  88,  48, w11, w27, w5);
2986    TEST_3R("max_s.b",  96, 104, w12, w4,  w1);
2987    TEST_3R("max_s.b", 104, 112, w13, w4,  w9);
2988    TEST_3R("max_s.b", 112, 216, w14, w29, w18);
2989    TEST_3R("max_s.b", 120,   0, w15, w24, w2);
2990    TEST_3R("max_s.b", 128,  16, w16, w16, w16);
2991    TEST_3R("max_s.b", 136, 232, w17, w3,  w13);
2992    TEST_3R("max_s.b", 144,  16, w18, w15, w28);
2993    TEST_3R("max_s.b", 152,  16, w19, w3,  w10);
2994    TEST_3R("max_s.b", 160, 136, w20, w2,  w8);
2995    TEST_3R("max_s.b", 168,   8, w21, w2,  w30);
2996    TEST_3R("max_s.b", 176, 176, w22, w29, w4);
2997    TEST_3R("max_s.b", 184,  48, w23, w1,  w5);
2998    TEST_3R("max_s.b", 192, 160, w24, w6,  w15);
2999    TEST_3R("max_s.b", 200, 128, w25, w3,  w25);
3000    TEST_3R("max_s.b", 208, 192, w26, w0,  w27);
3001    TEST_3R("max_s.b", 216,  80, w27, w20, w11);
3002    TEST_3R("max_s.b", 224, 176, w28, w2,  w23);
3003    TEST_3R("max_s.b", 232,  72, w29, w30, w23);
3004    TEST_3R("max_s.b", 240, 104, w30, w8,  w31);
3005    TEST_3R("max_s.b", 136, 232, w31, w16, w29);
3006    TEST_3R("max_s.h",   0,  96, w0,  w25, w27);
3007    TEST_3R("max_s.h",   8, 168, w1,  w1,  w28);
3008    TEST_3R("max_s.h",  16, 160, w2,  w24, w13);
3009    TEST_3R("max_s.h",  24, 112, w3,  w7,  w0);
3010    TEST_3R("max_s.h",  32,  16, w4,  w9,  w1);
3011    TEST_3R("max_s.h",  40, 168, w5,  w12, w21);
3012    TEST_3R("max_s.h",  48, 176, w6,  w19, w19);
3013    TEST_3R("max_s.h",  56,  32, w7,  w4,  w10);
3014    TEST_3R("max_s.h",  64, 136, w8,  w27, w4);
3015    TEST_3R("max_s.h",  72, 200, w9,  w26, w0);
3016    TEST_3R("max_s.h",  80, 104, w10, w24, w30);
3017    TEST_3R("max_s.h",  88,  80, w11, w17, w25);
3018    TEST_3R("max_s.h",  96,  24, w12, w13, w22);
3019    TEST_3R("max_s.h", 104, 112, w13, w26, w25);
3020    TEST_3R("max_s.h", 112,  88, w14, w26, w31);
3021    TEST_3R("max_s.h", 120, 128, w15, w27, w1);
3022    TEST_3R("max_s.h", 128, 208, w16, w16, w16);
3023    TEST_3R("max_s.h", 136,  24, w17, w14, w25);
3024    TEST_3R("max_s.h", 144, 104, w18, w3,  w30);
3025    TEST_3R("max_s.h", 152, 184, w19, w7,  w28);
3026    TEST_3R("max_s.h", 160, 224, w20, w7,  w10);
3027    TEST_3R("max_s.h", 168, 112, w21, w5,  w8);
3028    TEST_3R("max_s.h", 176,  24, w22, w31, w24);
3029    TEST_3R("max_s.h", 184,   8, w23, w21, w1);
3030    TEST_3R("max_s.h", 192,  96, w24, w15, w18);
3031    TEST_3R("max_s.h", 200, 184, w25, w14, w25);
3032    TEST_3R("max_s.h", 208, 192, w26, w14, w15);
3033    TEST_3R("max_s.h", 216,  88, w27, w31, w29);
3034    TEST_3R("max_s.h", 224, 168, w28, w7,  w15);
3035    TEST_3R("max_s.h", 232,  32, w29, w5,  w22);
3036    TEST_3R("max_s.h", 240,  56, w30, w5,  w29);
3037    TEST_3R("max_s.h", 128, 192, w31, w5,  w3);
3038    TEST_3R("max_s.w",   0, 160, w0,  w2,  w12);
3039    TEST_3R("max_s.w",   8, 152, w1,  w1,  w23);
3040    TEST_3R("max_s.w",  16,  16, w2,  w12, w6);
3041    TEST_3R("max_s.w",  24,  72, w3,  w30, w21);
3042    TEST_3R("max_s.w",  32,  88, w4,  w12, w29);
3043    TEST_3R("max_s.w",  40, 128, w5,  w2,  w8);
3044    TEST_3R("max_s.w",  48,  32, w6,  w17, w17);
3045    TEST_3R("max_s.w",  56,  56, w7,  w24, w14);
3046    TEST_3R("max_s.w",  64, 168, w8,  w26, w19);
3047    TEST_3R("max_s.w",  72,   8, w9,  w6,  w24);
3048    TEST_3R("max_s.w",  80, 136, w10, w26, w14);
3049    TEST_3R("max_s.w",  88, 224, w11, w6,  w2);
3050    TEST_3R("max_s.w",  96, 216, w12, w20, w14);
3051    TEST_3R("max_s.w", 104, 160, w13, w20, w2);
3052    TEST_3R("max_s.w", 112,  56, w14, w25, w6);
3053    TEST_3R("max_s.w", 120, 160, w15, w5,  w8);
3054    TEST_3R("max_s.w", 128, 168, w16, w16, w16);
3055    TEST_3R("max_s.w", 136,  16, w17, w26, w27);
3056    TEST_3R("max_s.w", 144,  40, w18, w8,  w10);
3057    TEST_3R("max_s.w", 152,  48, w19, w18, w16);
3058    TEST_3R("max_s.w", 160,  64, w20, w31, w10);
3059    TEST_3R("max_s.w", 168,   0, w21, w14, w17);
3060    TEST_3R("max_s.w", 176,  96, w22, w20, w5);
3061    TEST_3R("max_s.w", 184,  96, w23, w1,  w26);
3062    TEST_3R("max_s.w", 192, 168, w24, w3,  w26);
3063    TEST_3R("max_s.w", 200,  32, w25, w10, w25);
3064    TEST_3R("max_s.w", 208,  72, w26, w31, w18);
3065    TEST_3R("max_s.w", 216,  16, w27, w23, w12);
3066    TEST_3R("max_s.w", 224,  24, w28, w8,  w21);
3067    TEST_3R("max_s.w", 232,  80, w29, w18, w17);
3068    TEST_3R("max_s.w", 240, 144, w30, w3,  w5);
3069    TEST_3R("max_s.w", 104, 104, w31, w13, w8);
3070    TEST_3R("max_s.d",   0,  80, w0,  w14, w19);
3071    TEST_3R("max_s.d",   8, 224, w1,  w1,  w2);
3072    TEST_3R("max_s.d",  16,  88, w2,  w30, w3);
3073    TEST_3R("max_s.d",  24, 192, w3,  w24, w29);
3074    TEST_3R("max_s.d",  32,  64, w4,  w15, w29);
3075    TEST_3R("max_s.d",  40, 160, w5,  w11, w20);
3076    TEST_3R("max_s.d",  48,  72, w6,  w2,  w2);
3077    TEST_3R("max_s.d",  56, 232, w7,  w22, w2);
3078    TEST_3R("max_s.d",  64, 128, w8,  w7,  w19);
3079    TEST_3R("max_s.d",  72, 216, w9,  w12, w4);
3080    TEST_3R("max_s.d",  80, 200, w10, w21, w2);
3081    TEST_3R("max_s.d",  88,  48, w11, w3,  w21);
3082    TEST_3R("max_s.d",  96, 192, w12, w5,  w10);
3083    TEST_3R("max_s.d", 104, 200, w13, w8,  w2);
3084    TEST_3R("max_s.d", 112, 112, w14, w5,  w4);
3085    TEST_3R("max_s.d", 120, 112, w15, w2,  w24);
3086    TEST_3R("max_s.d", 128, 176, w16, w16, w16);
3087    TEST_3R("max_s.d", 136, 128, w17, w25, w20);
3088    TEST_3R("max_s.d", 144, 128, w18, w15, w22);
3089    TEST_3R("max_s.d", 152, 128, w19, w22, w10);
3090    TEST_3R("max_s.d", 160, 224, w20, w3,  w14);
3091    TEST_3R("max_s.d", 168, 192, w21, w24, w16);
3092    TEST_3R("max_s.d", 176,   0, w22, w27, w6);
3093    TEST_3R("max_s.d", 184,  64, w23, w0,  w16);
3094    TEST_3R("max_s.d", 192,  24, w24, w8,  w18);
3095    TEST_3R("max_s.d", 200,  64, w25, w13, w25);
3096    TEST_3R("max_s.d", 208, 216, w26, w19, w16);
3097    TEST_3R("max_s.d", 216, 168, w27, w5,  w7);
3098    TEST_3R("max_s.d", 224, 160, w28, w25, w26);
3099    TEST_3R("max_s.d", 232, 104, w29, w16, w14);
3100    TEST_3R("max_s.d", 240, 176, w30, w17, w8);
3101    TEST_3R("max_s.d",  16, 128, w31, w9,  w24);
3102    TEST_3R("max_u.b",   0,   0, w0,  w31, w12);
3103    TEST_3R("max_u.b",   8, 176, w1,  w11, w25);
3104    TEST_3R("max_u.b",  16, 160, w2,  w30, w9);
3105    TEST_3R("max_u.b",  24, 232, w3,  w16, w13);
3106    TEST_3R("max_u.b",  32, 128, w4,  w11, w4);
3107    TEST_3R("max_u.b",  40, 176, w5,  w13, w8);
3108    TEST_3R("max_u.b",  48,  96, w6,  w7,  w25);
3109    TEST_3R("max_u.b",  56,  72, w7,  w15, w31);
3110    TEST_3R("max_u.b",  64, 208, w8,  w7,  w22);
3111    TEST_3R("max_u.b",  72, 160, w9,  w6,  w2);
3112    TEST_3R("max_u.b",  80,   0, w10, w20, w1);
3113    TEST_3R("max_u.b",  88, 184, w11, w11, w21);
3114    TEST_3R("max_u.b",  96,  56, w12, w26, w11);
3115    TEST_3R("max_u.b", 104,  40, w13, w3,  w16);
3116    TEST_3R("max_u.b", 112, 232, w14, w20, w20);
3117    TEST_3R("max_u.b", 120,   0, w15, w12, w31);
3118    TEST_3R("max_u.b", 128,  48, w16, w25, w7);
3119    TEST_3R("max_u.b", 136,  72, w17, w0,  w24);
3120    TEST_3R("max_u.b", 144,  64, w18, w31, w4);
3121    TEST_3R("max_u.b", 152, 232, w19, w22, w21);
3122    TEST_3R("max_u.b", 160, 176, w20, w24, w9);
3123    TEST_3R("max_u.b", 168, 224, w21, w25, w10);
3124    TEST_3R("max_u.b", 176,  96, w22, w6,  w4);
3125    TEST_3R("max_u.b", 184, 128, w23, w18, w7);
3126    TEST_3R("max_u.b", 192, 120, w24, w1,  w27);
3127    TEST_3R("max_u.b", 200,   0, w25, w13, w26);
3128    TEST_3R("max_u.b", 208,  48, w26, w6,  w1);
3129    TEST_3R("max_u.b", 216,  72, w27, w6,  w2);
3130    TEST_3R("max_u.b", 224,  48, w28, w21, w1);
3131    TEST_3R("max_u.b", 232,  96, w29, w11, w23);
3132    TEST_3R("max_u.b", 240,  56, w30, w30, w30);
3133    TEST_3R("max_u.b",  24, 232, w31, w15, w17);
3134    TEST_3R("max_u.h",   0, 200, w0,  w27, w31);
3135    TEST_3R("max_u.h",   8, 208, w1,  w31, w16);
3136    TEST_3R("max_u.h",  16, 128, w2,  w6,  w18);
3137    TEST_3R("max_u.h",  24, 200, w3,  w2,  w18);
3138    TEST_3R("max_u.h",  32, 192, w4,  w28, w4);
3139    TEST_3R("max_u.h",  40, 120, w5,  w21, w30);
3140    TEST_3R("max_u.h",  48, 192, w6,  w27, w0);
3141    TEST_3R("max_u.h",  56, 120, w7,  w16, w1);
3142    TEST_3R("max_u.h",  64, 224, w8,  w28, w25);
3143    TEST_3R("max_u.h",  72,  64, w9,  w4,  w8);
3144    TEST_3R("max_u.h",  80, 120, w10, w29, w17);
3145    TEST_3R("max_u.h",  88, 176, w11, w11, w28);
3146    TEST_3R("max_u.h",  96, 176, w12, w28, w2);
3147    TEST_3R("max_u.h", 104, 224, w13, w31, w5);
3148    TEST_3R("max_u.h", 112, 224, w14, w17, w17);
3149    TEST_3R("max_u.h", 120, 120, w15, w1,  w4);
3150    TEST_3R("max_u.h", 128, 160, w16, w31, w14);
3151    TEST_3R("max_u.h", 136, 208, w17, w31, w5);
3152    TEST_3R("max_u.h", 144,  80, w18, w1,  w15);
3153    TEST_3R("max_u.h", 152, 112, w19, w26, w1);
3154    TEST_3R("max_u.h", 160, 144, w20, w2,  w3);
3155    TEST_3R("max_u.h", 168, 136, w21, w20, w1);
3156    TEST_3R("max_u.h", 176, 200, w22, w21, w29);
3157    TEST_3R("max_u.h", 184,  56, w23, w0,  w26);
3158    TEST_3R("max_u.h", 192,  48, w24, w5,  w11);
3159    TEST_3R("max_u.h", 200,  40, w25, w7,  w16);
3160    TEST_3R("max_u.h", 208, 208, w26, w6,  w30);
3161    TEST_3R("max_u.h", 216,  48, w27, w6,  w3);
3162    TEST_3R("max_u.h", 224,   8, w28, w7,  w19);
3163    TEST_3R("max_u.h", 232, 120, w29, w1,  w20);
3164    TEST_3R("max_u.h", 240, 176, w30, w30, w30);
3165    TEST_3R("max_u.h",  40,  16, w31, w23, w17);
3166    TEST_3R("max_u.w",   0, 120, w0,  w12, w22);
3167    TEST_3R("max_u.w",   8,  96, w1,  w4,  w22);
3168    TEST_3R("max_u.w",  16, 176, w2,  w0,  w28);
3169    TEST_3R("max_u.w",  24, 216, w3,  w17, w18);
3170    TEST_3R("max_u.w",  32,   0, w4,  w9,  w4);
3171    TEST_3R("max_u.w",  40, 176, w5,  w13, w15);
3172    TEST_3R("max_u.w",  48, 112, w6,  w3,  w22);
3173    TEST_3R("max_u.w",  56,  40, w7,  w12, w23);
3174    TEST_3R("max_u.w",  64, 144, w8,  w10, w27);
3175    TEST_3R("max_u.w",  72, 184, w9,  w28, w18);
3176    TEST_3R("max_u.w",  80,   0, w10, w28, w31);
3177    TEST_3R("max_u.w",  88,  48, w11, w11, w24);
3178    TEST_3R("max_u.w",  96, 176, w12, w23, w15);
3179    TEST_3R("max_u.w", 104, 112, w13, w19, w17);
3180    TEST_3R("max_u.w", 112,  48, w14, w22, w22);
3181    TEST_3R("max_u.w", 120,  48, w15, w1,  w31);
3182    TEST_3R("max_u.w", 128,  96, w16, w14, w15);
3183    TEST_3R("max_u.w", 136, 216, w17, w18, w5);
3184    TEST_3R("max_u.w", 144,  16, w18, w30, w29);
3185    TEST_3R("max_u.w", 152, 168, w19, w8,  w24);
3186    TEST_3R("max_u.w", 160, 224, w20, w4,  w10);
3187    TEST_3R("max_u.w", 168,  96, w21, w1,  w9);
3188    TEST_3R("max_u.w", 176, 104, w22, w25, w12);
3189    TEST_3R("max_u.w", 184,  72, w23, w8,  w16);
3190    TEST_3R("max_u.w", 192, 176, w24, w25, w5);
3191    TEST_3R("max_u.w", 200, 176, w25, w28, w6);
3192    TEST_3R("max_u.w", 208, 192, w26, w15, w21);
3193    TEST_3R("max_u.w", 216, 136, w27, w22, w7);
3194    TEST_3R("max_u.w", 224, 160, w28, w3,  w5);
3195    TEST_3R("max_u.w", 232, 104, w29, w10, w13);
3196    TEST_3R("max_u.w", 240,   0, w30, w30, w30);
3197    TEST_3R("max_u.w", 128, 104, w31, w18, w24);
3198    TEST_3R("max_u.d",   0,  88, w0,  w1,  w12);
3199    TEST_3R("max_u.d",   8,  96, w1,  w14, w8);
3200    TEST_3R("max_u.d",  16, 216, w2,  w30, w22);
3201    TEST_3R("max_u.d",  24,  56, w3,  w27, w11);
3202    TEST_3R("max_u.d",  32,   8, w4,  w31, w4);
3203    TEST_3R("max_u.d",  40, 208, w5,  w30, w18);
3204    TEST_3R("max_u.d",  48, 144, w6,  w5,  w10);
3205    TEST_3R("max_u.d",  56, 216, w7,  w10, w0);
3206    TEST_3R("max_u.d",  64,  96, w8,  w24, w13);
3207    TEST_3R("max_u.d",  72,  72, w9,  w10, w5);
3208    TEST_3R("max_u.d",  80, 144, w10, w29, w7);
3209    TEST_3R("max_u.d",  88,  48, w11, w11, w9);
3210    TEST_3R("max_u.d",  96, 208, w12, w30, w19);
3211    TEST_3R("max_u.d", 104,  88, w13, w22, w16);
3212    TEST_3R("max_u.d", 112, 152, w14, w31, w31);
3213    TEST_3R("max_u.d", 120, 112, w15, w18, w30);
3214    TEST_3R("max_u.d", 128,  80, w16, w3,  w11);
3215    TEST_3R("max_u.d", 136,  64, w17, w14, w11);
3216    TEST_3R("max_u.d", 144,  32, w18, w6,  w25);
3217    TEST_3R("max_u.d", 152, 112, w19, w16, w30);
3218    TEST_3R("max_u.d", 160, 128, w20, w13, w5);
3219    TEST_3R("max_u.d", 168, 208, w21, w22, w26);
3220    TEST_3R("max_u.d", 176,  56, w22, w21, w13);
3221    TEST_3R("max_u.d", 184, 216, w23, w2,  w3);
3222    TEST_3R("max_u.d", 192, 136, w24, w26, w3);
3223    TEST_3R("max_u.d", 200,   8, w25, w12, w1);
3224    TEST_3R("max_u.d", 208,  80, w26, w15, w4);
3225    TEST_3R("max_u.d", 216, 160, w27, w6,  w18);
3226    TEST_3R("max_u.d", 224, 104, w28, w26, w24);
3227    TEST_3R("max_u.d", 232,   8, w29, w17, w8);
3228    TEST_3R("max_u.d", 240, 144, w30, w30, w30);
3229    TEST_3R("max_u.d", 152, 152, w31, w21, w30);
3230    TEST_3R("min_a.b",   0, 216, w0,  w8,  w3);
3231    TEST_3R("min_a.b",   8, 184, w1,  w3,  w1);
3232    TEST_3R("min_a.b",  16, 216, w2,  w13, w12);
3233    TEST_3R("min_a.b",  24, 184, w3,  w14, w23);
3234    TEST_3R("min_a.b",  32, 232, w4,  w18, w13);
3235    TEST_3R("min_a.b",  40, 104, w5,  w14, w25);
3236    TEST_3R("min_a.b",  48,  24, w6,  w9,  w9);
3237    TEST_3R("min_a.b",  56,  40, w7,  w6,  w2);
3238    TEST_3R("min_a.b",  64,  64, w8,  w27, w0);
3239    TEST_3R("min_a.b",  72,  64, w9,  w7,  w25);
3240    TEST_3R("min_a.b",  80, 120, w10, w8,  w0);
3241    TEST_3R("min_a.b",  88,   8, w11, w10, w14);
3242    TEST_3R("min_a.b",  96,  96, w12, w23, w26);
3243    TEST_3R("min_a.b", 104,  40, w13, w5,  w17);
3244    TEST_3R("min_a.b", 112, 152, w14, w23, w30);
3245    TEST_3R("min_a.b", 120, 144, w15, w28, w13);
3246    TEST_3R("min_a.b", 128,  40, w16, w26, w22);
3247    TEST_3R("min_a.b", 136,  88, w17, w0,  w24);
3248    TEST_3R("min_a.b", 144,  24, w18, w27, w24);
3249    TEST_3R("min_a.b", 152,  96, w19, w3,  w18);
3250    TEST_3R("min_a.b", 160,  88, w20, w11, w18);
3251    TEST_3R("min_a.b", 168, 232, w21, w23, w28);
3252    TEST_3R("min_a.b", 176, 176, w22, w31, w19);
3253    TEST_3R("min_a.b", 184, 160, w23, w17, w24);
3254    TEST_3R("min_a.b", 192, 160, w24, w28, w15);
3255    TEST_3R("min_a.b", 200, 208, w25, w25, w25);
3256    TEST_3R("min_a.b", 208, 232, w26, w12, w1);
3257    TEST_3R("min_a.b", 216,  40, w27, w6,  w23);
3258    TEST_3R("min_a.b", 224,   0, w28, w6,  w15);
3259    TEST_3R("min_a.b", 232,  32, w29, w1,  w8);
3260    TEST_3R("min_a.b", 240,  24, w30, w30, w4);
3261    TEST_3R("min_a.b", 200,  24, w31, w1,  w16);
3262    TEST_3R("min_a.h",   0, 192, w0,  w7,  w8);
3263    TEST_3R("min_a.h",   8, 232, w1,  w6,  w1);
3264    TEST_3R("min_a.h",  16, 176, w2,  w12, w24);
3265    TEST_3R("min_a.h",  24, 112, w3,  w2,  w20);
3266    TEST_3R("min_a.h",  32,  88, w4,  w22, w27);
3267    TEST_3R("min_a.h",  40,  56, w5,  w24, w20);
3268    TEST_3R("min_a.h",  48, 136, w6,  w29, w29);
3269    TEST_3R("min_a.h",  56, 128, w7,  w31, w28);
3270    TEST_3R("min_a.h",  64, 160, w8,  w15, w0);
3271    TEST_3R("min_a.h",  72, 184, w9,  w17, w16);
3272    TEST_3R("min_a.h",  80, 160, w10, w14, w23);
3273    TEST_3R("min_a.h",  88,  32, w11, w22, w30);
3274    TEST_3R("min_a.h",  96,  80, w12, w2,  w22);
3275    TEST_3R("min_a.h", 104,  64, w13, w4,  w10);
3276    TEST_3R("min_a.h", 112, 160, w14, w26, w5);
3277    TEST_3R("min_a.h", 120,  24, w15, w18, w10);
3278    TEST_3R("min_a.h", 128, 160, w16, w2,  w7);
3279    TEST_3R("min_a.h", 136, 168, w17, w1,  w6);
3280    TEST_3R("min_a.h", 144,   8, w18, w8,  w22);
3281    TEST_3R("min_a.h", 152,  32, w19, w9,  w7);
3282    TEST_3R("min_a.h", 160,  16, w20, w22, w21);
3283    TEST_3R("min_a.h", 168, 136, w21, w11, w5);
3284    TEST_3R("min_a.h", 176, 216, w22, w13, w27);
3285    TEST_3R("min_a.h", 184,  48, w23, w17, w6);
3286    TEST_3R("min_a.h", 192,  80, w24, w12, w11);
3287    TEST_3R("min_a.h", 200,  40, w25, w25, w25);
3288    TEST_3R("min_a.h", 208, 208, w26, w22, w0);
3289    TEST_3R("min_a.h", 216,  32, w27, w29, w3);
3290    TEST_3R("min_a.h", 224, 120, w28, w4,  w2);
3291    TEST_3R("min_a.h", 232,   0, w29, w26, w1);
3292    TEST_3R("min_a.h", 240, 112, w30, w30, w1);
3293    TEST_3R("min_a.h",  48, 136, w31, w8,  w22);
3294    TEST_3R("min_a.w",   0,  56, w0,  w2,  w30);
3295    TEST_3R("min_a.w",   8,   8, w1,  w15, w1);
3296    TEST_3R("min_a.w",  16, 224, w2,  w12, w1);
3297    TEST_3R("min_a.w",  24,  24, w3,  w16, w13);
3298    TEST_3R("min_a.w",  32,  80, w4,  w7,  w11);
3299    TEST_3R("min_a.w",  40, 216, w5,  w7,  w12);
3300    TEST_3R("min_a.w",  48, 184, w6,  w10, w10);
3301    TEST_3R("min_a.w",  56,  64, w7,  w3,  w12);
3302    TEST_3R("min_a.w",  64,  72, w8,  w29, w14);
3303    TEST_3R("min_a.w",  72, 128, w9,  w30, w31);
3304    TEST_3R("min_a.w",  80,  48, w10, w20, w24);
3305    TEST_3R("min_a.w",  88, 224, w11, w22, w23);
3306    TEST_3R("min_a.w",  96, 144, w12, w6,  w17);
3307    TEST_3R("min_a.w", 104,  96, w13, w7,  w17);
3308    TEST_3R("min_a.w", 112, 136, w14, w20, w28);
3309    TEST_3R("min_a.w", 120, 152, w15, w31, w30);
3310    TEST_3R("min_a.w", 128, 200, w16, w11, w29);
3311    TEST_3R("min_a.w", 136,  64, w17, w25, w0);
3312    TEST_3R("min_a.w", 144,  16, w18, w16, w29);
3313    TEST_3R("min_a.w", 152,  80, w19, w25, w27);
3314    TEST_3R("min_a.w", 160, 152, w20, w11, w15);
3315    TEST_3R("min_a.w", 168, 160, w21, w17, w6);
3316    TEST_3R("min_a.w", 176,  48, w22, w5,  w12);
3317    TEST_3R("min_a.w", 184,  32, w23, w5,  w19);
3318    TEST_3R("min_a.w", 192, 160, w24, w22, w7);
3319    TEST_3R("min_a.w", 200,  24, w25, w25, w25);
3320    TEST_3R("min_a.w", 208,  56, w26, w6,  w16);
3321    TEST_3R("min_a.w", 216,  16, w27, w18, w13);
3322    TEST_3R("min_a.w", 224, 200, w28, w11, w13);
3323    TEST_3R("min_a.w", 232, 224, w29, w27, w10);
3324    TEST_3R("min_a.w", 240, 192, w30, w30, w20);
3325    TEST_3R("min_a.w",  96,  96, w31, w22, w0);
3326    TEST_3R("min_a.d",   0,  16, w0,  w17, w26);
3327    TEST_3R("min_a.d",   8,  32, w1,  w22, w1);
3328    TEST_3R("min_a.d",  16,  56, w2,  w11, w27);
3329    TEST_3R("min_a.d",  24,  96, w3,  w0,  w17);
3330    TEST_3R("min_a.d",  32,  96, w4,  w18, w31);
3331    TEST_3R("min_a.d",  40, 232, w5,  w2,  w13);
3332    TEST_3R("min_a.d",  48, 112, w6,  w15, w15);
3333    TEST_3R("min_a.d",  56,  80, w7,  w4,  w28);
3334    TEST_3R("min_a.d",  64, 176, w8,  w31, w6);
3335    TEST_3R("min_a.d",  72, 120, w9,  w19, w11);
3336    TEST_3R("min_a.d",  80, 216, w10, w19, w0);
3337    TEST_3R("min_a.d",  88,   0, w11, w4,  w26);
3338    TEST_3R("min_a.d",  96, 192, w12, w26, w1);
3339    TEST_3R("min_a.d", 104,  48, w13, w22, w26);
3340    TEST_3R("min_a.d", 112, 176, w14, w7,  w27);
3341    TEST_3R("min_a.d", 120, 192, w15, w7,  w2);
3342    TEST_3R("min_a.d", 128, 144, w16, w20, w27);
3343    TEST_3R("min_a.d", 136, 160, w17, w24, w31);
3344    TEST_3R("min_a.d", 144, 152, w18, w11, w30);
3345    TEST_3R("min_a.d", 152,  96, w19, w16, w17);
3346    TEST_3R("min_a.d", 160,  16, w20, w11, w5);
3347    TEST_3R("min_a.d", 168, 184, w21, w26, w9);
3348    TEST_3R("min_a.d", 176, 152, w22, w15, w4);
3349    TEST_3R("min_a.d", 184, 184, w23, w15, w26);
3350    TEST_3R("min_a.d", 192,  48, w24, w15, w1);
3351    TEST_3R("min_a.d", 200, 112, w25, w25, w25);
3352    TEST_3R("min_a.d", 208, 184, w26, w8,  w6);
3353    TEST_3R("min_a.d", 216,  88, w27, w28, w1);
3354    TEST_3R("min_a.d", 224, 120, w28, w21, w0);
3355    TEST_3R("min_a.d", 232,  32, w29, w0,  w30);
3356    TEST_3R("min_a.d", 240, 112, w30, w30, w16);
3357    TEST_3R("min_a.d",  24,  80, w31, w26, w27);
3358    TEST_3R("min_s.b",   0,  48, w0,  w2,  w10);
3359    TEST_3R("min_s.b",   8, 224, w1,  w28, w20);
3360    TEST_3R("min_s.b",  16, 208, w2,  w30, w24);
3361    TEST_3R("min_s.b",  24,  24, w3,  w6,  w31);
3362    TEST_3R("min_s.b",  32, 112, w4,  w3,  w3);
3363    TEST_3R("min_s.b",  40, 112, w5,  w26, w24);
3364    TEST_3R("min_s.b",  48,  88, w6,  w25, w24);
3365    TEST_3R("min_s.b",  56, 200, w7,  w31, w8);
3366    TEST_3R("min_s.b",  64,  48, w8,  w25, w3);
3367    TEST_3R("min_s.b",  72,  32, w9,  w7,  w25);
3368    TEST_3R("min_s.b",  80, 176, w10, w2,  w29);
3369    TEST_3R("min_s.b",  88, 160, w11, w13, w17);
3370    TEST_3R("min_s.b",  96, 144, w12, w1,  w20);
3371    TEST_3R("min_s.b", 104, 152, w13, w25, w6);
3372    TEST_3R("min_s.b", 112, 136, w14, w23, w9);
3373    TEST_3R("min_s.b", 120,   8, w15, w17, w1);
3374    TEST_3R("min_s.b", 128, 104, w16, w10, w25);
3375    TEST_3R("min_s.b", 136, 184, w17, w10, w1);
3376    TEST_3R("min_s.b", 144, 104, w18, w3,  w5);
3377    TEST_3R("min_s.b", 152, 144, w19, w10, w30);
3378    TEST_3R("min_s.b", 160, 192, w20, w13, w27);
3379    TEST_3R("min_s.b", 168, 136, w21, w21, w21);
3380    TEST_3R("min_s.b", 176,  24, w22, w12, w24);
3381    TEST_3R("min_s.b", 184, 160, w23, w0,  w24);
3382    TEST_3R("min_s.b", 192, 184, w24, w26, w30);
3383    TEST_3R("min_s.b", 200,  80, w25, w17, w8);
3384    TEST_3R("min_s.b", 208,  96, w26, w2,  w9);
3385    TEST_3R("min_s.b", 216,  80, w27, w13, w27);
3386    TEST_3R("min_s.b", 224, 224, w28, w25, w23);
3387    TEST_3R("min_s.b", 232, 200, w29, w2,  w26);
3388    TEST_3R("min_s.b", 240,  64, w30, w30, w16);
3389    TEST_3R("min_s.b", 224,  16, w31, w7,  w0);
3390    TEST_3R("min_s.h",   0, 232, w0,  w22, w12);
3391    TEST_3R("min_s.h",   8, 144, w1,  w14, w7);
3392    TEST_3R("min_s.h",  16,   8, w2,  w6,  w27);
3393    TEST_3R("min_s.h",  24, 232, w3,  w5,  w8);
3394    TEST_3R("min_s.h",  32, 232, w4,  w13, w13);
3395    TEST_3R("min_s.h",  40, 200, w5,  w29, w22);
3396    TEST_3R("min_s.h",  48, 152, w6,  w10, w25);
3397    TEST_3R("min_s.h",  56,  40, w7,  w1,  w30);
3398    TEST_3R("min_s.h",  64, 152, w8,  w28, w7);
3399    TEST_3R("min_s.h",  72, 168, w9,  w1,  w15);
3400    TEST_3R("min_s.h",  80,  16, w10, w19, w18);
3401    TEST_3R("min_s.h",  88, 224, w11, w31, w1);
3402    TEST_3R("min_s.h",  96, 176, w12, w6,  w17);
3403    TEST_3R("min_s.h", 104, 120, w13, w1,  w27);
3404    TEST_3R("min_s.h", 112, 232, w14, w10, w22);
3405    TEST_3R("min_s.h", 120, 168, w15, w24, w20);
3406    TEST_3R("min_s.h", 128,  72, w16, w7,  w30);
3407    TEST_3R("min_s.h", 136, 192, w17, w15, w0);
3408    TEST_3R("min_s.h", 144,  40, w18, w25, w28);
3409    TEST_3R("min_s.h", 152, 104, w19, w20, w29);
3410    TEST_3R("min_s.h", 160,  24, w20, w15, w16);
3411    TEST_3R("min_s.h", 168, 208, w21, w21, w21);
3412    TEST_3R("min_s.h", 176,  64, w22, w15, w16);
3413    TEST_3R("min_s.h", 184,   0, w23, w21, w2);
3414    TEST_3R("min_s.h", 192,   0, w24, w22, w29);
3415    TEST_3R("min_s.h", 200, 104, w25, w0,  w20);
3416    TEST_3R("min_s.h", 208,  40, w26, w25, w8);
3417    TEST_3R("min_s.h", 216, 128, w27, w0,  w27);
3418    TEST_3R("min_s.h", 224, 128, w28, w2,  w15);
3419    TEST_3R("min_s.h", 232, 208, w29, w9,  w8);
3420    TEST_3R("min_s.h", 240, 168, w30, w30, w23);
3421    TEST_3R("min_s.h",   0,  88, w31, w20, w11);
3422    TEST_3R("min_s.w",   0, 192, w0,  w12, w30);
3423    TEST_3R("min_s.w",   8,  80, w1,  w12, w19);
3424    TEST_3R("min_s.w",  16, 160, w2,  w19, w10);
3425    TEST_3R("min_s.w",  24, 176, w3,  w6,  w10);
3426    TEST_3R("min_s.w",  32, 224, w4,  w17, w17);
3427    TEST_3R("min_s.w",  40, 192, w5,  w15, w11);
3428    TEST_3R("min_s.w",  48, 112, w6,  w21, w13);
3429    TEST_3R("min_s.w",  56,  24, w7,  w28, w22);
3430    TEST_3R("min_s.w",  64,  64, w8,  w30, w13);
3431    TEST_3R("min_s.w",  72,  64, w9,  w30, w1);
3432    TEST_3R("min_s.w",  80, 136, w10, w13, w4);
3433    TEST_3R("min_s.w",  88, 152, w11, w12, w24);
3434    TEST_3R("min_s.w",  96,  40, w12, w31, w13);
3435    TEST_3R("min_s.w", 104, 176, w13, w9,  w0);
3436    TEST_3R("min_s.w", 112, 176, w14, w20, w7);
3437    TEST_3R("min_s.w", 120,  96, w15, w23, w22);
3438    TEST_3R("min_s.w", 128, 232, w16, w27, w12);
3439    TEST_3R("min_s.w", 136, 208, w17, w13, w8);
3440    TEST_3R("min_s.w", 144, 160, w18, w8,  w6);
3441    TEST_3R("min_s.w", 152,  80, w19, w0,  w4);
3442    TEST_3R("min_s.w", 160, 120, w20, w3,  w18);
3443    TEST_3R("min_s.w", 168, 160, w21, w21, w21);
3444    TEST_3R("min_s.w", 176, 184, w22, w30, w0);
3445    TEST_3R("min_s.w", 184, 104, w23, w29, w14);
3446    TEST_3R("min_s.w", 192,  48, w24, w7,  w14);
3447    TEST_3R("min_s.w", 200,  96, w25, w27, w22);
3448    TEST_3R("min_s.w", 208,  72, w26, w18, w12);
3449    TEST_3R("min_s.w", 216,   8, w27, w13, w27);
3450    TEST_3R("min_s.w", 224,  48, w28, w7,  w27);
3451    TEST_3R("min_s.w", 232,  64, w29, w28, w3);
3452    TEST_3R("min_s.w", 240, 136, w30, w30, w3);
3453    TEST_3R("min_s.w",  24, 232, w31, w2,  w6);
3454    TEST_3R("min_s.d",   0, 120, w0,  w24, w27);
3455    TEST_3R("min_s.d",   8, 168, w1,  w6,  w25);
3456    TEST_3R("min_s.d",  16, 208, w2,  w0,  w8);
3457    TEST_3R("min_s.d",  24,  72, w3,  w27, w30);
3458    TEST_3R("min_s.d",  32, 120, w4,  w13, w13);
3459    TEST_3R("min_s.d",  40, 128, w5,  w20, w27);
3460    TEST_3R("min_s.d",  48, 176, w6,  w27, w22);
3461    TEST_3R("min_s.d",  56, 120, w7,  w23, w25);
3462    TEST_3R("min_s.d",  64, 128, w8,  w21, w29);
3463    TEST_3R("min_s.d",  72,   0, w9,  w24, w3);
3464    TEST_3R("min_s.d",  80, 152, w10, w3,  w28);
3465    TEST_3R("min_s.d",  88, 152, w11, w14, w2);
3466    TEST_3R("min_s.d",  96, 120, w12, w8,  w4);
3467    TEST_3R("min_s.d", 104, 128, w13, w16, w24);
3468    TEST_3R("min_s.d", 112, 120, w14, w4,  w16);
3469    TEST_3R("min_s.d", 120,   8, w15, w24, w11);
3470    TEST_3R("min_s.d", 128,  56, w16, w19, w1);
3471    TEST_3R("min_s.d", 136, 184, w17, w10, w27);
3472    TEST_3R("min_s.d", 144,  72, w18, w31, w24);
3473    TEST_3R("min_s.d", 152,  80, w19, w23, w27);
3474    TEST_3R("min_s.d", 160, 112, w20, w26, w23);
3475    TEST_3R("min_s.d", 168,  56, w21, w21, w21);
3476    TEST_3R("min_s.d", 176,  80, w22, w25, w10);
3477    TEST_3R("min_s.d", 184, 176, w23, w30, w18);
3478    TEST_3R("min_s.d", 192, 168, w24, w22, w21);
3479    TEST_3R("min_s.d", 200, 160, w25, w26, w5);
3480    TEST_3R("min_s.d", 208, 176, w26, w18, w17);
3481    TEST_3R("min_s.d", 216,  32, w27, w5,  w27);
3482    TEST_3R("min_s.d", 224, 136, w28, w2,  w15);
3483    TEST_3R("min_s.d", 232, 128, w29, w11, w15);
3484    TEST_3R("min_s.d", 240, 208, w30, w30, w11);
3485    TEST_3R("min_s.d",  24,  48, w31, w1,  w30);
3486    TEST_3R("min_u.b",   0,   0, w0,  w0,  w0);
3487    TEST_3R("min_u.b",   8, 144, w1,  w28, w6);
3488    TEST_3R("min_u.b",  16,  16, w2,  w11, w1);
3489    TEST_3R("min_u.b",  24,  32, w3,  w18, w19);
3490    TEST_3R("min_u.b",  32, 184, w4,  w21, w25);
3491    TEST_3R("min_u.b",  40,  80, w5,  w23, w8);
3492    TEST_3R("min_u.b",  48,  88, w6,  w3,  w23);
3493    TEST_3R("min_u.b",  56, 184, w7,  w14, w30);
3494    TEST_3R("min_u.b",  64, 208, w8,  w12, w31);
3495    TEST_3R("min_u.b",  72, 208, w9,  w12, w24);
3496    TEST_3R("min_u.b",  80,  72, w10, w10, w4);
3497    TEST_3R("min_u.b",  88,   8, w11, w18, w0);
3498    TEST_3R("min_u.b",  96,  16, w12, w3,  w11);
3499    TEST_3R("min_u.b", 104, 208, w13, w25, w29);
3500    TEST_3R("min_u.b", 112, 184, w14, w1,  w19);
3501    TEST_3R("min_u.b", 120, 144, w15, w27, w10);
3502    TEST_3R("min_u.b", 128, 104, w16, w2,  w13);
3503    TEST_3R("min_u.b", 136,  40, w17, w15, w27);
3504    TEST_3R("min_u.b", 144,  16, w18, w29, w18);
3505    TEST_3R("min_u.b", 152,  16, w19, w25, w4);
3506    TEST_3R("min_u.b", 160, 232, w20, w2,  w28);
3507    TEST_3R("min_u.b", 168, 200, w21, w6,  w5);
3508    TEST_3R("min_u.b", 176, 184, w22, w6,  w20);
3509    TEST_3R("min_u.b", 184, 200, w23, w17, w4);
3510    TEST_3R("min_u.b", 192, 120, w24, w15, w7);
3511    TEST_3R("min_u.b", 200,  96, w25, w2,  w4);
3512    TEST_3R("min_u.b", 208, 160, w26, w12, w9);
3513    TEST_3R("min_u.b", 216, 160, w27, w26, w26);
3514    TEST_3R("min_u.b", 224,  80, w28, w6,  w21);
3515    TEST_3R("min_u.b", 232, 144, w29, w3,  w25);
3516    TEST_3R("min_u.b", 240, 176, w30, w16, w28);
3517    TEST_3R("min_u.b",  64, 152, w31, w26, w2);
3518    TEST_3R("min_u.h",   0, 184, w0,  w0,  w0);
3519    TEST_3R("min_u.h",   8, 120, w1,  w29, w20);
3520    TEST_3R("min_u.h",  16, 216, w2,  w1,  w12);
3521    TEST_3R("min_u.h",  24, 232, w3,  w8,  w5);
3522    TEST_3R("min_u.h",  32,  72, w4,  w12, w25);
3523    TEST_3R("min_u.h",  40,  48, w5,  w21, w15);
3524    TEST_3R("min_u.h",  48,   0, w6,  w27, w21);
3525    TEST_3R("min_u.h",  56, 224, w7,  w27, w25);
3526    TEST_3R("min_u.h",  64,  96, w8,  w20, w0);
3527    TEST_3R("min_u.h",  72, 200, w9,  w16, w4);
3528    TEST_3R("min_u.h",  80, 232, w10, w10, w19);
3529    TEST_3R("min_u.h",  88, 120, w11, w4,  w28);
3530    TEST_3R("min_u.h",  96, 120, w12, w24, w22);
3531    TEST_3R("min_u.h", 104, 208, w13, w4,  w0);
3532    TEST_3R("min_u.h", 112,  80, w14, w9,  w11);
3533    TEST_3R("min_u.h", 120, 112, w15, w2,  w3);
3534    TEST_3R("min_u.h", 128,  80, w16, w18, w21);
3535    TEST_3R("min_u.h", 136, 120, w17, w7,  w29);
3536    TEST_3R("min_u.h", 144, 128, w18, w0,  w18);
3537    TEST_3R("min_u.h", 152,  96, w19, w0,  w1);
3538    TEST_3R("min_u.h", 160,  64, w20, w17, w5);
3539    TEST_3R("min_u.h", 168,  88, w21, w4,  w19);
3540    TEST_3R("min_u.h", 176, 128, w22, w0,  w29);
3541    TEST_3R("min_u.h", 184, 128, w23, w22, w9);
3542    TEST_3R("min_u.h", 192, 224, w24, w22, w29);
3543    TEST_3R("min_u.h", 200, 128, w25, w2,  w29);
3544    TEST_3R("min_u.h", 208,  16, w26, w5,  w19);
3545    TEST_3R("min_u.h", 216, 200, w27, w4,  w4);
3546    TEST_3R("min_u.h", 224, 152, w28, w24, w16);
3547    TEST_3R("min_u.h", 232, 136, w29, w25, w17);
3548    TEST_3R("min_u.h", 240, 208, w30, w16, w2);
3549    TEST_3R("min_u.h", 168,  32, w31, w21, w6);
3550    TEST_3R("min_u.w",   0, 224, w0,  w0,  w0);
3551    TEST_3R("min_u.w",   8, 184, w1,  w4,  w2);
3552    TEST_3R("min_u.w",  16, 176, w2,  w13, w9);
3553    TEST_3R("min_u.w",  24,  64, w3,  w10, w25);
3554    TEST_3R("min_u.w",  32, 168, w4,  w7,  w12);
3555    TEST_3R("min_u.w",  40,  48, w5,  w27, w17);
3556    TEST_3R("min_u.w",  48, 200, w6,  w31, w30);
3557    TEST_3R("min_u.w",  56, 112, w7,  w16, w11);
3558    TEST_3R("min_u.w",  64,  16, w8,  w1,  w25);
3559    TEST_3R("min_u.w",  72, 216, w9,  w3,  w12);
3560    TEST_3R("min_u.w",  80, 224, w10, w10, w9);
3561    TEST_3R("min_u.w",  88, 192, w11, w12, w15);
3562    TEST_3R("min_u.w",  96, 224, w12, w14, w11);
3563    TEST_3R("min_u.w", 104,  40, w13, w23, w30);
3564    TEST_3R("min_u.w", 112,  80, w14, w16, w19);
3565    TEST_3R("min_u.w", 120, 224, w15, w29, w14);
3566    TEST_3R("min_u.w", 128,  64, w16, w14, w3);
3567    TEST_3R("min_u.w", 136,   0, w17, w12, w0);
3568    TEST_3R("min_u.w", 144, 144, w18, w24, w18);
3569    TEST_3R("min_u.w", 152, 112, w19, w16, w15);
3570    TEST_3R("min_u.w", 160,  56, w20, w29, w27);
3571    TEST_3R("min_u.w", 168, 104, w21, w16, w7);
3572    TEST_3R("min_u.w", 176, 224, w22, w7,  w21);
3573    TEST_3R("min_u.w", 184, 160, w23, w11, w12);
3574    TEST_3R("min_u.w", 192,  40, w24, w25, w29);
3575    TEST_3R("min_u.w", 200, 192, w25, w14, w26);
3576    TEST_3R("min_u.w", 208, 168, w26, w31, w8);
3577    TEST_3R("min_u.w", 216, 160, w27, w15, w15);
3578    TEST_3R("min_u.w", 224, 160, w28, w15, w12);
3579    TEST_3R("min_u.w", 232,  96, w29, w16, w3);
3580    TEST_3R("min_u.w", 240,   8, w30, w26, w1);
3581    TEST_3R("min_u.w", 168,   0, w31, w6,  w29);
3582    TEST_3R("min_u.d",   0, 128, w0,  w0,  w0);
3583    TEST_3R("min_u.d",   8, 168, w1,  w28, w8);
3584    TEST_3R("min_u.d",  16,  80, w2,  w21, w5);
3585    TEST_3R("min_u.d",  24,  64, w3,  w31, w11);
3586    TEST_3R("min_u.d",  32, 208, w4,  w7,  w22);
3587    TEST_3R("min_u.d",  40,  64, w5,  w28, w18);
3588    TEST_3R("min_u.d",  48,  80, w6,  w9,  w16);
3589    TEST_3R("min_u.d",  56,  48, w7,  w9,  w4);
3590    TEST_3R("min_u.d",  64, 136, w8,  w5,  w10);
3591    TEST_3R("min_u.d",  72,  72, w9,  w2,  w27);
3592    TEST_3R("min_u.d",  80,  16, w10, w10, w7);
3593    TEST_3R("min_u.d",  88, 176, w11, w17, w12);
3594    TEST_3R("min_u.d",  96,  16, w12, w21, w15);
3595    TEST_3R("min_u.d", 104, 216, w13, w1,  w18);
3596    TEST_3R("min_u.d", 112, 216, w14, w23, w3);
3597    TEST_3R("min_u.d", 120, 144, w15, w10, w4);
3598    TEST_3R("min_u.d", 128,  24, w16, w20, w8);
3599    TEST_3R("min_u.d", 136,  48, w17, w25, w8);
3600    TEST_3R("min_u.d", 144,  80, w18, w30, w18);
3601    TEST_3R("min_u.d", 152, 120, w19, w16, w1);
3602    TEST_3R("min_u.d", 160,  16, w20, w25, w8);
3603    TEST_3R("min_u.d", 168,  32, w21, w11, w25);
3604    TEST_3R("min_u.d", 176, 144, w22, w1,  w15);
3605    TEST_3R("min_u.d", 184,  48, w23, w16, w18);
3606    TEST_3R("min_u.d", 192,  24, w24, w7,  w21);
3607    TEST_3R("min_u.d", 200, 224, w25, w17, w16);
3608    TEST_3R("min_u.d", 208,   8, w26, w14, w24);
3609    TEST_3R("min_u.d", 216,  64, w27, w7,  w7);
3610    TEST_3R("min_u.d", 224,  16, w28, w30, w5);
3611    TEST_3R("min_u.d", 232, 144, w29, w14, w6);
3612    TEST_3R("min_u.d", 240, 160, w30, w7,  w14);
3613    TEST_3R("min_u.d",  48,  64, w31, w18, w8);
3614    TEST_3R("mod_s.b",   0, 128, w0,  w0,  w0);
3615    TEST_3R("mod_s.b",   8, 224, w1,  w11, w17);
3616    TEST_3R("mod_s.b",  16,  64, w2,  w4,  w12);
3617    TEST_3R("mod_s.b",  24, 224, w3,  w13, w20);
3618    TEST_3R("mod_s.b",  32,  16, w4,  w16, w31);
3619    TEST_3R("mod_s.b",  40,  16, w5,  w30, w31);
3620    TEST_3R("mod_s.b",  48, 240, w6,  w14, w7);
3621    TEST_3R("mod_s.b",  56, 208, w7,  w11, w19);
3622    TEST_3R("mod_s.b",  64, 208, w8,  w12, w16);
3623    TEST_3R("mod_s.b",  72,  16, w9,  w18, w17);
3624    TEST_3R("mod_s.b",  80, 128, w10, w2,  w1);
3625    TEST_3R("mod_s.b",  88,  96, w11, w11, w13);
3626    TEST_3R("mod_s.b",  96, 240, w12, w27, w18);
3627    TEST_3R("mod_s.b", 104, 128, w13, w28, w31);
3628    TEST_3R("mod_s.b", 112,  96, w14, w26, w15);
3629    TEST_3R("mod_s.b", 120, 208, w15, w18, w15);
3630    TEST_3R("mod_s.b", 128,  80, w16, w19, w19);
3631    TEST_3R("mod_s.b", 136,  80, w17, w28, w26);
3632    TEST_3R("mod_s.b", 144, 208, w18, w3,  w6);
3633    TEST_3R("mod_s.b", 152, 224, w19, w0,  w18);
3634    TEST_3R("mod_s.b", 160, 240, w20, w14, w5);
3635    TEST_3R("mod_s.b", 168,  16, w21, w6,  w7);
3636    TEST_3R("mod_s.b", 176,  96, w22, w27, w20);
3637    TEST_3R("mod_s.b", 184,  96, w23, w22, w6);
3638    TEST_3R("mod_s.b", 192, 240, w24, w18, w5);
3639    TEST_3R("mod_s.b", 200,  80, w25, w12, w21);
3640    TEST_3R("mod_s.b", 208, 208, w26, w31, w2);
3641    TEST_3R("mod_s.b", 216,  16, w27, w17, w30);
3642    TEST_3R("mod_s.b", 224, 224, w28, w11, w2);
3643    TEST_3R("mod_s.b", 232,  16, w29, w25, w2);
3644    TEST_3R("mod_s.b", 240, 208, w30, w23, w16);
3645    TEST_3R("mod_s.b", 208, 128, w31, w6,  w23);
3646    TEST_3R("mod_s.h",   0,  80, w0,  w0,  w0);
3647    TEST_3R("mod_s.h",   8,  16, w1,  w17, w26);
3648    TEST_3R("mod_s.h",  16,  80, w2,  w23, w29);
3649    TEST_3R("mod_s.h",  24, 224, w3,  w29, w20);
3650    TEST_3R("mod_s.h",  32, 208, w4,  w18, w30);
3651    TEST_3R("mod_s.h",  40, 240, w5,  w20, w28);
3652    TEST_3R("mod_s.h",  48,  80, w6,  w19, w20);
3653    TEST_3R("mod_s.h",  56,  96, w7,  w21, w18);
3654    TEST_3R("mod_s.h",  64,  80, w8,  w23, w2);
3655    TEST_3R("mod_s.h",  72,  16, w9,  w8,  w24);
3656    TEST_3R("mod_s.h",  80, 240, w10, w31, w20);
3657    TEST_3R("mod_s.h",  88, 208, w11, w11, w17);
3658    TEST_3R("mod_s.h",  96, 208, w12, w9,  w25);
3659    TEST_3R("mod_s.h", 104,  80, w13, w6,  w19);
3660    TEST_3R("mod_s.h", 112, 128, w14, w26, w25);
3661    TEST_3R("mod_s.h", 120, 240, w15, w24, w15);
3662    TEST_3R("mod_s.h", 128, 128, w16, w0,  w0);
3663    TEST_3R("mod_s.h", 136,  16, w17, w22, w19);
3664    TEST_3R("mod_s.h", 144,  80, w18, w24, w8);
3665    TEST_3R("mod_s.h", 152, 208, w19, w20, w0);
3666    TEST_3R("mod_s.h", 160, 208, w20, w6,  w8);
3667    TEST_3R("mod_s.h", 168,  64, w21, w31, w7);
3668    TEST_3R("mod_s.h", 176, 240, w22, w14, w24);
3669    TEST_3R("mod_s.h", 184, 208, w23, w17, w12);
3670    TEST_3R("mod_s.h", 192, 240, w24, w4,  w6);
3671    TEST_3R("mod_s.h", 200, 240, w25, w29, w18);
3672    TEST_3R("mod_s.h", 208, 128, w26, w28, w18);
3673    TEST_3R("mod_s.h", 216, 128, w27, w18, w6);
3674    TEST_3R("mod_s.h", 224, 240, w28, w11, w14);
3675    TEST_3R("mod_s.h", 232, 128, w29, w31, w14);
3676    TEST_3R("mod_s.h", 240,  64, w30, w5,  w22);
3677    TEST_3R("mod_s.h",  80,  80, w31, w4,  w29);
3678    TEST_3R("mod_s.w",   0, 208, w0,  w0,  w0);
3679    TEST_3R("mod_s.w",   8, 224, w1,  w17, w9);
3680    TEST_3R("mod_s.w",  16,  80, w2,  w29, w6);
3681    TEST_3R("mod_s.w",  24, 208, w3,  w29, w8);
3682    TEST_3R("mod_s.w",  32,  64, w4,  w13, w8);
3683    TEST_3R("mod_s.w",  40, 208, w5,  w23, w14);
3684    TEST_3R("mod_s.w",  48, 128, w6,  w2,  w28);
3685    TEST_3R("mod_s.w",  56,  16, w7,  w1,  w11);
3686    TEST_3R("mod_s.w",  64,  64, w8,  w6,  w1);
3687    TEST_3R("mod_s.w",  72, 128, w9,  w11, w31);
3688    TEST_3R("mod_s.w",  80, 208, w10, w29, w20);
3689    TEST_3R("mod_s.w",  88,  96, w11, w11, w7);
3690    TEST_3R("mod_s.w",  96, 208, w12, w19, w13);
3691    TEST_3R("mod_s.w", 104, 208, w13, w22, w11);
3692    TEST_3R("mod_s.w", 112,  80, w14, w12, w24);
3693    TEST_3R("mod_s.w", 120,  64, w15, w20, w15);
3694    TEST_3R("mod_s.w", 128,  80, w16, w9,  w9);
3695    TEST_3R("mod_s.w", 136, 224, w17, w6,  w11);
3696    TEST_3R("mod_s.w", 144,  64, w18, w11, w12);
3697    TEST_3R("mod_s.w", 152, 208, w19, w18, w11);
3698    TEST_3R("mod_s.w", 160,  64, w20, w29, w10);
3699    TEST_3R("mod_s.w", 168, 224, w21, w27, w30);
3700    TEST_3R("mod_s.w", 176,  64, w22, w2,  w25);
3701    TEST_3R("mod_s.w", 184,  16, w23, w15, w31);
3702    TEST_3R("mod_s.w", 192, 128, w24, w26, w12);
3703    TEST_3R("mod_s.w", 200,  16, w25, w18, w30);
3704    TEST_3R("mod_s.w", 208,  80, w26, w27, w7);
3705    TEST_3R("mod_s.w", 216,  16, w27, w2,  w18);
3706    TEST_3R("mod_s.w", 224,  80, w28, w13, w30);
3707    TEST_3R("mod_s.w", 232, 208, w29, w0,  w17);
3708    TEST_3R("mod_s.w", 240, 240, w30, w21, w14);
3709    TEST_3R("mod_s.w", 168, 208, w31, w14, w9);
3710    TEST_3R("mod_s.d",   0,  96, w0,  w0,  w0);
3711    TEST_3R("mod_s.d",   8,  96, w1,  w15, w30);
3712    TEST_3R("mod_s.d",  16, 208, w2,  w14, w22);
3713    TEST_3R("mod_s.d",  24,  64, w3,  w26, w8);
3714    TEST_3R("mod_s.d",  32,  16, w4,  w18, w3);
3715    TEST_3R("mod_s.d",  40, 208, w5,  w12, w19);
3716    TEST_3R("mod_s.d",  48, 240, w6,  w18, w17);
3717    TEST_3R("mod_s.d",  56, 128, w7,  w19, w2);
3718    TEST_3R("mod_s.d",  64, 240, w8,  w17, w11);
3719    TEST_3R("mod_s.d",  72, 128, w9,  w26, w0);
3720    TEST_3R("mod_s.d",  80,  80, w10, w6,  w15);
3721    TEST_3R("mod_s.d",  88, 208, w11, w11, w1);
3722    TEST_3R("mod_s.d",  96,  16, w12, w9,  w22);
3723    TEST_3R("mod_s.d", 104,  64, w13, w3,  w30);
3724    TEST_3R("mod_s.d", 112,  64, w14, w22, w2);
3725    TEST_3R("mod_s.d", 120, 240, w15, w2,  w15);
3726    TEST_3R("mod_s.d", 128, 240, w16, w4,  w4);
3727    TEST_3R("mod_s.d", 136, 224, w17, w26, w22);
3728    TEST_3R("mod_s.d", 144,  80, w18, w13, w24);
3729    TEST_3R("mod_s.d", 152, 208, w19, w21, w9);
3730    TEST_3R("mod_s.d", 160, 224, w20, w12, w4);
3731    TEST_3R("mod_s.d", 168, 208, w21, w0,  w10);
3732    TEST_3R("mod_s.d", 176,  96, w22, w19, w11);
3733    TEST_3R("mod_s.d", 184,  96, w23, w28, w1);
3734    TEST_3R("mod_s.d", 192, 128, w24, w31, w0);
3735    TEST_3R("mod_s.d", 200, 208, w25, w21, w2);
3736    TEST_3R("mod_s.d", 208,  80, w26, w24, w9);
3737    TEST_3R("mod_s.d", 216,  16, w27, w31, w3);
3738    TEST_3R("mod_s.d", 224,  16, w28, w14, w16);
3739    TEST_3R("mod_s.d", 232,  80, w29, w16, w6);
3740    TEST_3R("mod_s.d", 240, 128, w30, w18, w22);
3741    TEST_3R("mod_s.d", 112,  64, w31, w19, w0);
3742    TEST_3R("mod_u.b",   0, 128, w0,  w23, w1);
3743    TEST_3R("mod_u.b",   8, 224, w1,  w27, w23);
3744    TEST_3R("mod_u.b",  16, 240, w2,  w17, w2);
3745    TEST_3R("mod_u.b",  24, 224, w3,  w24, w11);
3746    TEST_3R("mod_u.b",  32,  96, w4,  w4,  w27);
3747    TEST_3R("mod_u.b",  40,  96, w5,  w28, w12);
3748    TEST_3R("mod_u.b",  48, 208, w6,  w13, w18);
3749    TEST_3R("mod_u.b",  56,  96, w7,  w11, w4);
3750    TEST_3R("mod_u.b",  64,  16, w8,  w23, w11);
3751    TEST_3R("mod_u.b",  72, 208, w9,  w29, w22);
3752    TEST_3R("mod_u.b",  80, 128, w10, w31, w3);
3753    TEST_3R("mod_u.b",  88,  64, w11, w11, w11);
3754    TEST_3R("mod_u.b",  96,  16, w12, w15, w15);
3755    TEST_3R("mod_u.b", 104,  64, w13, w24, w30);
3756    TEST_3R("mod_u.b", 112, 128, w14, w7,  w22);
3757    TEST_3R("mod_u.b", 120, 240, w15, w21, w17);
3758    TEST_3R("mod_u.b", 128,  80, w16, w18, w29);
3759    TEST_3R("mod_u.b", 136,  16, w17, w31, w15);
3760    TEST_3R("mod_u.b", 144,  96, w18, w10, w20);
3761    TEST_3R("mod_u.b", 152, 240, w19, w1,  w11);
3762    TEST_3R("mod_u.b", 160, 208, w20, w1,  w9);
3763    TEST_3R("mod_u.b", 168,  16, w21, w6,  w8);
3764    TEST_3R("mod_u.b", 176,  16, w22, w3,  w9);
3765    TEST_3R("mod_u.b", 184, 224, w23, w27, w1);
3766    TEST_3R("mod_u.b", 192, 128, w24, w4,  w8);
3767    TEST_3R("mod_u.b", 200, 208, w25, w24, w30);
3768    TEST_3R("mod_u.b", 208,  96, w26, w7,  w16);
3769    TEST_3R("mod_u.b", 216,  80, w27, w25, w15);
3770    TEST_3R("mod_u.b", 224, 224, w28, w1,  w25);
3771    TEST_3R("mod_u.b", 232,  80, w29, w21, w26);
3772    TEST_3R("mod_u.b", 240,  96, w30, w20, w27);
3773    TEST_3R("mod_u.b",  32,  96, w31, w9,  w2);
3774    TEST_3R("mod_u.h",   0,  80, w0,  w5,  w21);
3775    TEST_3R("mod_u.h",   8,  16, w1,  w0,  w22);
3776    TEST_3R("mod_u.h",  16, 240, w2,  w4,  w2);
3777    TEST_3R("mod_u.h",  24, 208, w3,  w12, w28);
3778    TEST_3R("mod_u.h",  32,  96, w4,  w4,  w25);
3779    TEST_3R("mod_u.h",  40, 128, w5,  w13, w4);
3780    TEST_3R("mod_u.h",  48, 224, w6,  w28, w31);
3781    TEST_3R("mod_u.h",  56,  96, w7,  w21, w13);
3782    TEST_3R("mod_u.h",  64, 240, w8,  w15, w7);
3783    TEST_3R("mod_u.h",  72, 128, w9,  w10, w16);
3784    TEST_3R("mod_u.h",  80,  64, w10, w22, w18);
3785    TEST_3R("mod_u.h",  88,  96, w11, w11, w11);
3786    TEST_3R("mod_u.h",  96,  64, w12, w28, w28);
3787    TEST_3R("mod_u.h", 104, 208, w13, w1,  w12);
3788    TEST_3R("mod_u.h", 112,  64, w14, w0,  w24);
3789    TEST_3R("mod_u.h", 120, 128, w15, w29, w18);
3790    TEST_3R("mod_u.h", 128,  64, w16, w10, w22);
3791    TEST_3R("mod_u.h", 136, 240, w17, w6,  w21);
3792    TEST_3R("mod_u.h", 144,  80, w18, w27, w3);
3793    TEST_3R("mod_u.h", 152, 208, w19, w10, w9);
3794    TEST_3R("mod_u.h", 160,  64, w20, w21, w25);
3795    TEST_3R("mod_u.h", 168,  96, w21, w11, w12);
3796    TEST_3R("mod_u.h", 176, 240, w22, w8,  w4);
3797    TEST_3R("mod_u.h", 184,  16, w23, w21, w26);
3798    TEST_3R("mod_u.h", 192, 208, w24, w13, w11);
3799    TEST_3R("mod_u.h", 200,  16, w25, w31, w0);
3800    TEST_3R("mod_u.h", 208, 224, w26, w22, w17);
3801    TEST_3R("mod_u.h", 216,  80, w27, w11, w0);
3802    TEST_3R("mod_u.h", 224, 128, w28, w14, w2);
3803    TEST_3R("mod_u.h", 232,  64, w29, w25, w11);
3804    TEST_3R("mod_u.h", 240,  96, w30, w14, w4);
3805    TEST_3R("mod_u.h", 232, 224, w31, w25, w16);
3806    TEST_3R("mod_u.w",   0, 224, w0,  w25, w26);
3807    TEST_3R("mod_u.w",   8, 224, w1,  w14, w20);
3808    TEST_3R("mod_u.w",  16,  16, w2,  w27, w2);
3809    TEST_3R("mod_u.w",  24,  16, w3,  w20, w27);
3810    TEST_3R("mod_u.w",  32,  64, w4,  w4,  w20);
3811    TEST_3R("mod_u.w",  40, 128, w5,  w17, w26);
3812    TEST_3R("mod_u.w",  48,  96, w6,  w17, w28);
3813    TEST_3R("mod_u.w",  56, 128, w7,  w19, w9);
3814    TEST_3R("mod_u.w",  64,  80, w8,  w30, w10);
3815    TEST_3R("mod_u.w",  72,  96, w9,  w2,  w13);
3816    TEST_3R("mod_u.w",  80,  80, w10, w19, w3);
3817    TEST_3R("mod_u.w",  88, 128, w11, w11, w11);
3818    TEST_3R("mod_u.w",  96,  16, w12, w30, w30);
3819    TEST_3R("mod_u.w", 104, 240, w13, w26, w18);
3820    TEST_3R("mod_u.w", 112,  96, w14, w21, w18);
3821    TEST_3R("mod_u.w", 120, 240, w15, w16, w18);
3822    TEST_3R("mod_u.w", 128,  64, w16, w1,  w3);
3823    TEST_3R("mod_u.w", 136, 224, w17, w30, w20);
3824    TEST_3R("mod_u.w", 144, 240, w18, w9,  w7);
3825    TEST_3R("mod_u.w", 152,  64, w19, w13, w5);
3826    TEST_3R("mod_u.w", 160, 240, w20, w31, w8);
3827    TEST_3R("mod_u.w", 168,  80, w21, w10, w27);
3828    TEST_3R("mod_u.w", 176,  16, w22, w4,  w7);
3829    TEST_3R("mod_u.w", 184,  96, w23, w4,  w1);
3830    TEST_3R("mod_u.w", 192, 208, w24, w3,  w22);
3831    TEST_3R("mod_u.w", 200,  16, w25, w22, w7);
3832    TEST_3R("mod_u.w", 208,  96, w26, w29, w8);
3833    TEST_3R("mod_u.w", 216,  16, w27, w31, w6);
3834    TEST_3R("mod_u.w", 224, 240, w28, w29, w15);
3835    TEST_3R("mod_u.w", 232, 208, w29, w4,  w28);
3836    TEST_3R("mod_u.w", 240, 208, w30, w21, w27);
3837    TEST_3R("mod_u.w",  96,  16, w31, w20, w5);
3838    TEST_3R("mod_u.d",   0, 240, w0,  w9,  w7);
3839    TEST_3R("mod_u.d",   8,  80, w1,  w14, w8);
3840    TEST_3R("mod_u.d",  16, 224, w2,  w17, w2);
3841    TEST_3R("mod_u.d",  24, 208, w3,  w16, w8);
3842    TEST_3R("mod_u.d",  32, 208, w4,  w4,  w8);
3843    TEST_3R("mod_u.d",  40, 128, w5,  w14, w3);
3844    TEST_3R("mod_u.d",  48,  64, w6,  w20, w19);
3845    TEST_3R("mod_u.d",  56, 208, w7,  w4,  w11);
3846    TEST_3R("mod_u.d",  64, 128, w8,  w0,  w27);
3847    TEST_3R("mod_u.d",  72,  64, w9,  w13, w15);
3848    TEST_3R("mod_u.d",  80,  96, w10, w13, w6);
3849    TEST_3R("mod_u.d",  88, 128, w11, w11, w11);
3850    TEST_3R("mod_u.d",  96,  64, w12, w30, w30);
3851    TEST_3R("mod_u.d", 104,  80, w13, w28, w8);
3852    TEST_3R("mod_u.d", 112,  80, w14, w26, w24);
3853    TEST_3R("mod_u.d", 120, 224, w15, w0,  w24);
3854    TEST_3R("mod_u.d", 128,  80, w16, w4,  w28);
3855    TEST_3R("mod_u.d", 136, 224, w17, w23, w30);
3856    TEST_3R("mod_u.d", 144, 240, w18, w2,  w3);
3857    TEST_3R("mod_u.d", 152,  96, w19, w10, w30);
3858    TEST_3R("mod_u.d", 160, 128, w20, w23, w14);
3859    TEST_3R("mod_u.d", 168, 240, w21, w4,  w20);
3860    TEST_3R("mod_u.d", 176,  16, w22, w24, w18);
3861    TEST_3R("mod_u.d", 184,  96, w23, w20, w27);
3862    TEST_3R("mod_u.d", 192, 208, w24, w15, w19);
3863    TEST_3R("mod_u.d", 200, 208, w25, w15, w20);
3864    TEST_3R("mod_u.d", 208,  80, w26, w29, w24);
3865    TEST_3R("mod_u.d", 216,  16, w27, w31, w15);
3866    TEST_3R("mod_u.d", 224,  96, w28, w6,  w18);
3867    TEST_3R("mod_u.d", 232,  80, w29, w13, w28);
3868    TEST_3R("mod_u.d", 240,  16, w30, w16, w20);
3869    TEST_3R("mod_u.d",  32, 128, w31, w20, w24);
3870    TEST_3R("msubv.b",   0, 208, w0,  w13, w0);
3871    TEST_3R("msubv.b",   8, 152, w1,  w14, w4);
3872    TEST_3R("msubv.b",  16, 160, w2,  w24, w11);
3873    TEST_3R("msubv.b",  24, 120, w3,  w27, w11);
3874    TEST_3R("msubv.b",  32, 216, w4,  w0,  w13);
3875    TEST_3R("msubv.b",  40,  80, w5,  w18, w17);
3876    TEST_3R("msubv.b",  48,  56, w6,  w2,  w11);
3877    TEST_3R("msubv.b",  56, 128, w7,  w14, w19);
3878    TEST_3R("msubv.b",  64,  64, w8,  w18, w20);
3879    TEST_3R("msubv.b",  72, 144, w9,  w3,  w6);
3880    TEST_3R("msubv.b",  80, 160, w10, w13, w13);
3881    TEST_3R("msubv.b",  88, 112, w11, w10, w27);
3882    TEST_3R("msubv.b",  96, 128, w12, w7,  w19);
3883    TEST_3R("msubv.b", 104,  72, w13, w11, w15);
3884    TEST_3R("msubv.b", 112, 120, w14, w23, w15);
3885    TEST_3R("msubv.b", 120, 104, w15, w4,  w1);
3886    TEST_3R("msubv.b", 128,   0, w16, w16, w5);
3887    TEST_3R("msubv.b", 136,  96, w17, w23, w20);
3888    TEST_3R("msubv.b", 144,  32, w18, w18, w18);
3889    TEST_3R("msubv.b", 152, 232, w19, w7,  w20);
3890    TEST_3R("msubv.b", 160, 200, w20, w27, w8);
3891    TEST_3R("msubv.b", 168, 136, w21, w1,  w29);
3892    TEST_3R("msubv.b", 176, 128, w22, w20, w8);
3893    TEST_3R("msubv.b", 184, 112, w23, w12, w15);
3894    TEST_3R("msubv.b", 192,  48, w24, w15, w27);
3895    TEST_3R("msubv.b", 200, 208, w25, w29, w18);
3896    TEST_3R("msubv.b", 208,  80, w26, w24, w22);
3897    TEST_3R("msubv.b", 216, 200, w27, w4,  w26);
3898    TEST_3R("msubv.b", 224,   0, w28, w15, w12);
3899    TEST_3R("msubv.b", 232, 232, w29, w23, w0);
3900    TEST_3R("msubv.b", 240, 192, w30, w18, w8);
3901    TEST_3R("msubv.b", 152, 200, w31, w20, w6);
3902    TEST_3R("msubv.h",   0,  96, w0,  w14, w0);
3903    TEST_3R("msubv.h",   8, 216, w1,  w20, w29);
3904    TEST_3R("msubv.h",  16,  24, w2,  w3,  w24);
3905    TEST_3R("msubv.h",  24, 112, w3,  w0,  w10);
3906    TEST_3R("msubv.h",  32, 200, w4,  w24, w0);
3907    TEST_3R("msubv.h",  40, 160, w5,  w29, w28);
3908    TEST_3R("msubv.h",  48,  96, w6,  w25, w11);
3909    TEST_3R("msubv.h",  56, 128, w7,  w27, w2);
3910    TEST_3R("msubv.h",  64, 232, w8,  w21, w26);
3911    TEST_3R("msubv.h",  72, 176, w9,  w0,  w10);
3912    TEST_3R("msubv.h",  80,  56, w10, w14, w14);
3913    TEST_3R("msubv.h",  88, 144, w11, w6,  w12);
3914    TEST_3R("msubv.h",  96,  48, w12, w9,  w4);
3915    TEST_3R("msubv.h", 104, 168, w13, w10, w15);
3916    TEST_3R("msubv.h", 112,   0, w14, w2,  w15);
3917    TEST_3R("msubv.h", 120,  40, w15, w31, w11);
3918    TEST_3R("msubv.h", 128,  16, w16, w16, w24);
3919    TEST_3R("msubv.h", 136, 232, w17, w28, w19);
3920    TEST_3R("msubv.h", 144, 136, w18, w18, w18);
3921    TEST_3R("msubv.h", 152, 104, w19, w9,  w14);
3922    TEST_3R("msubv.h", 160,  24, w20, w23, w9);
3923    TEST_3R("msubv.h", 168, 200, w21, w9,  w23);
3924    TEST_3R("msubv.h", 176, 216, w22, w15, w3);
3925    TEST_3R("msubv.h", 184, 144, w23, w24, w8);
3926    TEST_3R("msubv.h", 192, 184, w24, w2,  w23);
3927    TEST_3R("msubv.h", 200, 192, w25, w5,  w6);
3928    TEST_3R("msubv.h", 208, 232, w26, w4,  w18);
3929    TEST_3R("msubv.h", 216, 112, w27, w29, w9);
3930    TEST_3R("msubv.h", 224,  16, w28, w16, w2);
3931    TEST_3R("msubv.h", 232, 232, w29, w25, w17);
3932    TEST_3R("msubv.h", 240,  96, w30, w14, w8);
3933    TEST_3R("msubv.h", 144,  72, w31, w12, w17);
3934    TEST_3R("msubv.w",   0,   0, w0,  w16, w0);
3935    TEST_3R("msubv.w",   8, 152, w1,  w25, w24);
3936    TEST_3R("msubv.w",  16,  96, w2,  w27, w15);
3937    TEST_3R("msubv.w",  24, 160, w3,  w0,  w22);
3938    TEST_3R("msubv.w",  32,  32, w4,  w5,  w8);
3939    TEST_3R("msubv.w",  40, 144, w5,  w2,  w17);
3940    TEST_3R("msubv.w",  48,  40, w6,  w18, w19);
3941    TEST_3R("msubv.w",  56,  32, w7,  w12, w4);
3942    TEST_3R("msubv.w",  64,   8, w8,  w26, w13);
3943    TEST_3R("msubv.w",  72, 200, w9,  w6,  w30);
3944    TEST_3R("msubv.w",  80,  40, w10, w29, w29);
3945    TEST_3R("msubv.w",  88,  56, w11, w9,  w4);
3946    TEST_3R("msubv.w",  96,  80, w12, w2,  w30);
3947    TEST_3R("msubv.w", 104,  96, w13, w17, w4);
3948    TEST_3R("msubv.w", 112,   8, w14, w7,  w26);
3949    TEST_3R("msubv.w", 120, 224, w15, w10, w27);
3950    TEST_3R("msubv.w", 128, 112, w16, w16, w13);
3951    TEST_3R("msubv.w", 136,  40, w17, w26, w25);
3952    TEST_3R("msubv.w", 144, 128, w18, w18, w18);
3953    TEST_3R("msubv.w", 152,  72, w19, w5,  w28);
3954    TEST_3R("msubv.w", 160, 144, w20, w4,  w21);
3955    TEST_3R("msubv.w", 168, 232, w21, w3,  w31);
3956    TEST_3R("msubv.w", 176, 216, w22, w27, w1);
3957    TEST_3R("msubv.w", 184,  56, w23, w14, w18);
3958    TEST_3R("msubv.w", 192, 176, w24, w2,  w26);
3959    TEST_3R("msubv.w", 200, 208, w25, w27, w9);
3960    TEST_3R("msubv.w", 208, 144, w26, w22, w10);
3961    TEST_3R("msubv.w", 216, 120, w27, w4,  w30);
3962    TEST_3R("msubv.w", 224, 120, w28, w29, w22);
3963    TEST_3R("msubv.w", 232,  24, w29, w17, w28);
3964    TEST_3R("msubv.w", 240, 232, w30, w11, w0);
3965    TEST_3R("msubv.w",   8, 184, w31, w2,  w3);
3966    TEST_3R("msubv.d",   0,  88, w0,  w30, w0);
3967    TEST_3R("msubv.d",   8, 192, w1,  w23, w12);
3968    TEST_3R("msubv.d",  16, 136, w2,  w21, w15);
3969    TEST_3R("msubv.d",  24, 208, w3,  w12, w10);
3970    TEST_3R("msubv.d",  32,   8, w4,  w14, w1);
3971    TEST_3R("msubv.d",  40,  88, w5,  w31, w12);
3972    TEST_3R("msubv.d",  48, 224, w6,  w2,  w7);
3973    TEST_3R("msubv.d",  56,  88, w7,  w30, w31);
3974    TEST_3R("msubv.d",  64,   0, w8,  w30, w13);
3975    TEST_3R("msubv.d",  72,   8, w9,  w1,  w26);
3976    TEST_3R("msubv.d",  80,  24, w10, w31, w31);
3977    TEST_3R("msubv.d",  88,  88, w11, w22, w12);
3978    TEST_3R("msubv.d",  96, 224, w12, w11, w27);
3979    TEST_3R("msubv.d", 104,  64, w13, w24, w5);
3980    TEST_3R("msubv.d", 112, 176, w14, w6,  w21);
3981    TEST_3R("msubv.d", 120,  32, w15, w11, w1);
3982    TEST_3R("msubv.d", 128,  16, w16, w16, w14);
3983    TEST_3R("msubv.d", 136, 112, w17, w23, w1);
3984    TEST_3R("msubv.d", 144, 112, w18, w18, w18);
3985    TEST_3R("msubv.d", 152,  96, w19, w0,  w1);
3986    TEST_3R("msubv.d", 160,  24, w20, w1,  w2);
3987    TEST_3R("msubv.d", 168, 160, w21, w0,  w2);
3988    TEST_3R("msubv.d", 176, 112, w22, w14, w16);
3989    TEST_3R("msubv.d", 184,   8, w23, w9,  w20);
3990    TEST_3R("msubv.d", 192,  96, w24, w14, w27);
3991    TEST_3R("msubv.d", 200,  32, w25, w21, w17);
3992    TEST_3R("msubv.d", 208,  64, w26, w0,  w18);
3993    TEST_3R("msubv.d", 216, 184, w27, w14, w22);
3994    TEST_3R("msubv.d", 224, 176, w28, w16, w25);
3995    TEST_3R("msubv.d", 232, 152, w29, w16, w26);
3996    TEST_3R("msubv.d", 240, 184, w30, w17, w28);
3997    TEST_3R("msubv.d",  16, 216, w31, w17, w30);
3998    TEST_3R("mulv.b",   0,  16, w0,  w0,  w20);
3999    TEST_3R("mulv.b",   8, 112, w1,  w4,  w15);
4000    TEST_3R("mulv.b",  16,  24, w2,  w25, w0);
4001    TEST_3R("mulv.b",  24, 200, w3,  w25, w19);
4002    TEST_3R("mulv.b",  32, 152, w4,  w8,  w9);
4003    TEST_3R("mulv.b",  40,  96, w5,  w24, w2);
4004    TEST_3R("mulv.b",  48,   8, w6,  w8,  w28);
4005    TEST_3R("mulv.b",  56, 120, w7,  w25, w2);
4006    TEST_3R("mulv.b",  64, 144, w8,  w23, w17);
4007    TEST_3R("mulv.b",  72, 144, w9,  w4,  w9);
4008    TEST_3R("mulv.b",  80, 112, w10, w27, w25);
4009    TEST_3R("mulv.b",  88,  32, w11, w30, w29);
4010    TEST_3R("mulv.b",  96,  32, w12, w12, w12);
4011    TEST_3R("mulv.b", 104,  56, w13, w22, w21);
4012    TEST_3R("mulv.b", 112,  24, w14, w16, w8);
4013    TEST_3R("mulv.b", 120,  48, w15, w24, w18);
4014    TEST_3R("mulv.b", 128, 152, w16, w20, w7);
4015    TEST_3R("mulv.b", 136,  80, w17, w1,  w10);
4016    TEST_3R("mulv.b", 144, 112, w18, w27, w1);
4017    TEST_3R("mulv.b", 152,  16, w19, w12, w5);
4018    TEST_3R("mulv.b", 160, 136, w20, w7,  w31);
4019    TEST_3R("mulv.b", 168, 184, w21, w6,  w6);
4020    TEST_3R("mulv.b", 176, 208, w22, w1,  w8);
4021    TEST_3R("mulv.b", 184,  80, w23, w22, w19);
4022    TEST_3R("mulv.b", 192,   8, w24, w31, w29);
4023    TEST_3R("mulv.b", 200,  88, w25, w17, w19);
4024    TEST_3R("mulv.b", 208, 112, w26, w5,  w27);
4025    TEST_3R("mulv.b", 216, 192, w27, w22, w28);
4026    TEST_3R("mulv.b", 224, 176, w28, w0,  w15);
4027    TEST_3R("mulv.b", 232, 160, w29, w21, w27);
4028    TEST_3R("mulv.b", 240, 160, w30, w27, w3);
4029    TEST_3R("mulv.b", 152, 224, w31, w7,  w9);
4030    TEST_3R("mulv.h",   0, 192, w0,  w0,  w17);
4031    TEST_3R("mulv.h",   8, 152, w1,  w31, w4);
4032    TEST_3R("mulv.h",  16, 160, w2,  w30, w1);
4033    TEST_3R("mulv.h",  24,   8, w3,  w15, w20);
4034    TEST_3R("mulv.h",  32,   0, w4,  w20, w15);
4035    TEST_3R("mulv.h",  40, 192, w5,  w11, w12);
4036    TEST_3R("mulv.h",  48,  96, w6,  w11, w12);
4037    TEST_3R("mulv.h",  56, 224, w7,  w13, w1);
4038    TEST_3R("mulv.h",  64, 224, w8,  w21, w28);
4039    TEST_3R("mulv.h",  72, 160, w9,  w27, w9);
4040    TEST_3R("mulv.h",  80, 184, w10, w12, w30);
4041    TEST_3R("mulv.h",  88, 216, w11, w29, w20);
4042    TEST_3R("mulv.h",  96,  16, w12, w12, w12);
4043    TEST_3R("mulv.h", 104,  32, w13, w9,  w2);
4044    TEST_3R("mulv.h", 112,  48, w14, w24, w23);
4045    TEST_3R("mulv.h", 120, 160, w15, w13, w6);
4046    TEST_3R("mulv.h", 128, 120, w16, w24, w18);
4047    TEST_3R("mulv.h", 136,  88, w17, w3,  w30);
4048    TEST_3R("mulv.h", 144,  72, w18, w17, w31);
4049    TEST_3R("mulv.h", 152, 176, w19, w6,  w28);
4050    TEST_3R("mulv.h", 160, 200, w20, w1,  w0);
4051    TEST_3R("mulv.h", 168,  40, w21, w0,  w0);
4052    TEST_3R("mulv.h", 176, 136, w22, w11, w20);
4053    TEST_3R("mulv.h", 184,  80, w23, w13, w2);
4054    TEST_3R("mulv.h", 192, 216, w24, w15, w3);
4055    TEST_3R("mulv.h", 200, 112, w25, w6,  w4);
4056    TEST_3R("mulv.h", 208, 184, w26, w13, w6);
4057    TEST_3R("mulv.h", 216, 168, w27, w31, w2);
4058    TEST_3R("mulv.h", 224, 136, w28, w19, w29);
4059    TEST_3R("mulv.h", 232,  56, w29, w25, w28);
4060    TEST_3R("mulv.h", 240, 200, w30, w25, w10);
4061    TEST_3R("mulv.h", 136, 184, w31, w6,  w21);
4062    TEST_3R("mulv.w",   0,  48, w0,  w0,  w2);
4063    TEST_3R("mulv.w",   8, 176, w1,  w31, w18);
4064    TEST_3R("mulv.w",  16, 232, w2,  w25, w24);
4065    TEST_3R("mulv.w",  24, 200, w3,  w0,  w5);
4066    TEST_3R("mulv.w",  32, 168, w4,  w31, w5);
4067    TEST_3R("mulv.w",  40, 232, w5,  w2,  w3);
4068    TEST_3R("mulv.w",  48,   0, w6,  w21, w0);
4069    TEST_3R("mulv.w",  56, 192, w7,  w15, w26);
4070    TEST_3R("mulv.w",  64, 216, w8,  w10, w19);
4071    TEST_3R("mulv.w",  72,   8, w9,  w5,  w9);
4072    TEST_3R("mulv.w",  80,  16, w10, w17, w20);
4073    TEST_3R("mulv.w",  88, 112, w11, w19, w6);
4074    TEST_3R("mulv.w",  96,   0, w12, w12, w12);
4075    TEST_3R("mulv.w", 104, 184, w13, w27, w16);
4076    TEST_3R("mulv.w", 112, 128, w14, w20, w17);
4077    TEST_3R("mulv.w", 120, 200, w15, w19, w16);
4078    TEST_3R("mulv.w", 128, 184, w16, w18, w11);
4079    TEST_3R("mulv.w", 136, 192, w17, w8,  w12);
4080    TEST_3R("mulv.w", 144,  16, w18, w23, w6);
4081    TEST_3R("mulv.w", 152, 104, w19, w1,  w25);
4082    TEST_3R("mulv.w", 160, 208, w20, w6,  w19);
4083    TEST_3R("mulv.w", 168,  72, w21, w26, w26);
4084    TEST_3R("mulv.w", 176, 192, w22, w20, w0);
4085    TEST_3R("mulv.w", 184, 144, w23, w25, w27);
4086    TEST_3R("mulv.w", 192,  48, w24, w23, w15);
4087    TEST_3R("mulv.w", 200, 208, w25, w27, w3);
4088    TEST_3R("mulv.w", 208,  48, w26, w3,  w21);
4089    TEST_3R("mulv.w", 216, 216, w27, w15, w2);
4090    TEST_3R("mulv.w", 224, 144, w28, w27, w4);
4091    TEST_3R("mulv.w", 232, 144, w29, w1,  w24);
4092    TEST_3R("mulv.w", 240, 168, w30, w26, w8);
4093    TEST_3R("mulv.w", 152, 160, w31, w13, w8);
4094    TEST_3R("mulv.d",   0,  48, w0,  w0,  w28);
4095    TEST_3R("mulv.d",   8,  32, w1,  w25, w22);
4096    TEST_3R("mulv.d",  16, 192, w2,  w11, w13);
4097    TEST_3R("mulv.d",  24, 144, w3,  w14, w8);
4098    TEST_3R("mulv.d",  32, 184, w4,  w2,  w12);
4099    TEST_3R("mulv.d",  40,  40, w5,  w8,  w27);
4100    TEST_3R("mulv.d",  48, 184, w6,  w22, w16);
4101    TEST_3R("mulv.d",  56, 208, w7,  w23, w9);
4102    TEST_3R("mulv.d",  64,  24, w8,  w17, w13);
4103    TEST_3R("mulv.d",  72,  48, w9,  w25, w9);
4104    TEST_3R("mulv.d",  80, 104, w10, w23, w22);
4105    TEST_3R("mulv.d",  88, 136, w11, w16, w12);
4106    TEST_3R("mulv.d",  96, 168, w12, w12, w12);
4107    TEST_3R("mulv.d", 104, 216, w13, w25, w15);
4108    TEST_3R("mulv.d", 112, 104, w14, w2,  w4);
4109    TEST_3R("mulv.d", 120,  40, w15, w14, w20);
4110    TEST_3R("mulv.d", 128, 216, w16, w26, w10);
4111    TEST_3R("mulv.d", 136,  16, w17, w10, w5);
4112    TEST_3R("mulv.d", 144, 208, w18, w19, w6);
4113    TEST_3R("mulv.d", 152,  40, w19, w4,  w6);
4114    TEST_3R("mulv.d", 160,  96, w20, w7,  w29);
4115    TEST_3R("mulv.d", 168, 216, w21, w1,  w1);
4116    TEST_3R("mulv.d", 176,  24, w22, w0,  w30);
4117    TEST_3R("mulv.d", 184, 112, w23, w25, w13);
4118    TEST_3R("mulv.d", 192, 224, w24, w27, w17);
4119    TEST_3R("mulv.d", 200,  32, w25, w9,  w31);
4120    TEST_3R("mulv.d", 208,   0, w26, w18, w25);
4121    TEST_3R("mulv.d", 216,  16, w27, w17, w4);
4122    TEST_3R("mulv.d", 224,   8, w28, w7,  w23);
4123    TEST_3R("mulv.d", 232,   8, w29, w15, w28);
4124    TEST_3R("mulv.d", 240,  64, w30, w21, w26);
4125    TEST_3R("mulv.d",  96, 104, w31, w19, w14);
4126    TEST_3R("subs_s.b",   0,  64, w0,  w20, w31);
4127    TEST_3R("subs_s.b",   8, 120, w1,  w5,  w0);
4128    TEST_3R("subs_s.b",  16,  88, w2,  w5,  w22);
4129    TEST_3R("subs_s.b",  24, 160, w3,  w30, w22);
4130    TEST_3R("subs_s.b",  32, 136, w4,  w2,  w27);
4131    TEST_3R("subs_s.b",  40,  64, w5,  w26, w7);
4132    TEST_3R("subs_s.b",  48, 160, w6,  w6,  w22);
4133    TEST_3R("subs_s.b",  56, 224, w7,  w28, w28);
4134    TEST_3R("subs_s.b",  64,  24, w8,  w13, w15);
4135    TEST_3R("subs_s.b",  72, 104, w9,  w21, w16);
4136    TEST_3R("subs_s.b",  80, 144, w10, w28, w27);
4137    TEST_3R("subs_s.b",  88,  72, w11, w16, w11);
4138    TEST_3R("subs_s.b",  96, 168, w12, w22, w21);
4139    TEST_3R("subs_s.b", 104, 176, w13, w3,  w26);
4140    TEST_3R("subs_s.b", 112,  64, w14, w14, w14);
4141    TEST_3R("subs_s.b", 120, 224, w15, w25, w7);
4142    TEST_3R("subs_s.b", 128, 232, w16, w27, w3);
4143    TEST_3R("subs_s.b", 136, 176, w17, w21, w10);
4144    TEST_3R("subs_s.b", 144,  56, w18, w11, w17);
4145    TEST_3R("subs_s.b", 152, 168, w19, w27, w31);
4146    TEST_3R("subs_s.b", 160, 208, w20, w25, w14);
4147    TEST_3R("subs_s.b", 168, 232, w21, w16, w9);
4148    TEST_3R("subs_s.b", 176, 200, w22, w0,  w4);
4149    TEST_3R("subs_s.b", 184, 176, w23, w22, w0);
4150    TEST_3R("subs_s.b", 192, 112, w24, w16, w17);
4151    TEST_3R("subs_s.b", 200, 192, w25, w9,  w7);
4152    TEST_3R("subs_s.b", 208,  24, w26, w28, w17);
4153    TEST_3R("subs_s.b", 216, 112, w27, w6,  w3);
4154    TEST_3R("subs_s.b", 224,  80, w28, w24, w17);
4155    TEST_3R("subs_s.b", 232, 184, w29, w23, w14);
4156    TEST_3R("subs_s.b", 240,  32, w30, w11, w28);
4157    TEST_3R("subs_s.b",  88,  24, w31, w28, w6);
4158    TEST_3R("subs_s.h",   0,  80, w0,  w10, w9);
4159    TEST_3R("subs_s.h",   8,  48, w1,  w10, w27);
4160    TEST_3R("subs_s.h",  16,  56, w2,  w28, w16);
4161    TEST_3R("subs_s.h",  24, 128, w3,  w21, w23);
4162    TEST_3R("subs_s.h",  32, 152, w4,  w17, w8);
4163    TEST_3R("subs_s.h",  40,  32, w5,  w23, w11);
4164    TEST_3R("subs_s.h",  48, 184, w6,  w6,  w15);
4165    TEST_3R("subs_s.h",  56, 192, w7,  w19, w19);
4166    TEST_3R("subs_s.h",  64, 192, w8,  w11, w14);
4167    TEST_3R("subs_s.h",  72,  24, w9,  w7,  w15);
4168    TEST_3R("subs_s.h",  80, 120, w10, w13, w8);
4169    TEST_3R("subs_s.h",  88,  80, w11, w24, w11);
4170    TEST_3R("subs_s.h",  96, 232, w12, w29, w2);
4171    TEST_3R("subs_s.h", 104,  24, w13, w0,  w30);
4172    TEST_3R("subs_s.h", 112, 168, w14, w14, w14);
4173    TEST_3R("subs_s.h", 120,  56, w15, w19, w20);
4174    TEST_3R("subs_s.h", 128,  88, w16, w4,  w28);
4175    TEST_3R("subs_s.h", 136, 120, w17, w28, w8);
4176    TEST_3R("subs_s.h", 144, 216, w18, w11, w4);
4177    TEST_3R("subs_s.h", 152, 136, w19, w18, w15);
4178    TEST_3R("subs_s.h", 160, 216, w20, w4,  w23);
4179    TEST_3R("subs_s.h", 168,  64, w21, w18, w4);
4180    TEST_3R("subs_s.h", 176, 120, w22, w28, w7);
4181    TEST_3R("subs_s.h", 184, 120, w23, w31, w20);
4182    TEST_3R("subs_s.h", 192,  48, w24, w29, w17);
4183    TEST_3R("subs_s.h", 200, 224, w25, w17, w5);
4184    TEST_3R("subs_s.h", 208,  72, w26, w21, w1);
4185    TEST_3R("subs_s.h", 216,  72, w27, w17, w9);
4186    TEST_3R("subs_s.h", 224,  56, w28, w29, w14);
4187    TEST_3R("subs_s.h", 232, 128, w29, w15, w23);
4188    TEST_3R("subs_s.h", 240, 176, w30, w20, w4);
4189    TEST_3R("subs_s.h",  96, 224, w31, w25, w26);
4190    TEST_3R("subs_s.w",   0, 224, w0,  w1,  w27);
4191    TEST_3R("subs_s.w",   8, 128, w1,  w21, w20);
4192    TEST_3R("subs_s.w",  16, 160, w2,  w6,  w26);
4193    TEST_3R("subs_s.w",  24,   8, w3,  w11, w30);
4194    TEST_3R("subs_s.w",  32, 224, w4,  w12, w10);
4195    TEST_3R("subs_s.w",  40, 128, w5,  w22, w7);
4196    TEST_3R("subs_s.w",  48, 192, w6,  w6,  w16);
4197    TEST_3R("subs_s.w",  56, 160, w7,  w1,  w1);
4198    TEST_3R("subs_s.w",  64, 216, w8,  w9,  w22);
4199    TEST_3R("subs_s.w",  72, 208, w9,  w14, w15);
4200    TEST_3R("subs_s.w",  80, 112, w10, w15, w4);
4201    TEST_3R("subs_s.w",  88, 232, w11, w10, w11);
4202    TEST_3R("subs_s.w",  96, 232, w12, w28, w31);
4203    TEST_3R("subs_s.w", 104, 152, w13, w2,  w25);
4204    TEST_3R("subs_s.w", 112, 200, w14, w14, w14);
4205    TEST_3R("subs_s.w", 120, 232, w15, w24, w6);
4206    TEST_3R("subs_s.w", 128, 136, w16, w4,  w15);
4207    TEST_3R("subs_s.w", 136, 232, w17, w23, w19);
4208    TEST_3R("subs_s.w", 144, 160, w18, w13, w21);
4209    TEST_3R("subs_s.w", 152,   8, w19, w22, w11);
4210    TEST_3R("subs_s.w", 160,  96, w20, w4,  w26);
4211    TEST_3R("subs_s.w", 168,  88, w21, w20, w30);
4212    TEST_3R("subs_s.w", 176, 128, w22, w30, w23);
4213    TEST_3R("subs_s.w", 184, 152, w23, w29, w2);
4214    TEST_3R("subs_s.w", 192, 224, w24, w23, w16);
4215    TEST_3R("subs_s.w", 200,  96, w25, w15, w23);
4216    TEST_3R("subs_s.w", 208, 184, w26, w19, w7);
4217    TEST_3R("subs_s.w", 216, 176, w27, w14, w31);
4218    TEST_3R("subs_s.w", 224, 216, w28, w25, w12);
4219    TEST_3R("subs_s.w", 232, 112, w29, w12, w3);
4220    TEST_3R("subs_s.w", 240,  40, w30, w10, w7);
4221    TEST_3R("subs_s.w", 168,  88, w31, w15, w27);
4222    TEST_3R("subs_s.d",   0,  64, w0,  w26, w3);
4223    TEST_3R("subs_s.d",   8,  88, w1,  w23, w5);
4224    TEST_3R("subs_s.d",  16,  80, w2,  w14, w22);
4225    TEST_3R("subs_s.d",  24, 176, w3,  w29, w13);
4226    TEST_3R("subs_s.d",  32,   0, w4,  w17, w20);
4227    TEST_3R("subs_s.d",  40, 176, w5,  w31, w19);
4228    TEST_3R("subs_s.d",  48, 208, w6,  w6,  w25);
4229    TEST_3R("subs_s.d",  56,  32, w7,  w12, w12);
4230    TEST_3R("subs_s.d",  64,   8, w8,  w3,  w31);
4231    TEST_3R("subs_s.d",  72,  88, w9,  w10, w12);
4232    TEST_3R("subs_s.d",  80,  24, w10, w6,  w24);
4233    TEST_3R("subs_s.d",  88, 168, w11, w0,  w11);
4234    TEST_3R("subs_s.d",  96,  80, w12, w27, w23);
4235    TEST_3R("subs_s.d", 104,   8, w13, w6,  w22);
4236    TEST_3R("subs_s.d", 112, 144, w14, w14, w14);
4237    TEST_3R("subs_s.d", 120, 208, w15, w3,  w26);
4238    TEST_3R("subs_s.d", 128, 224, w16, w24, w12);
4239    TEST_3R("subs_s.d", 136,  40, w17, w11, w16);
4240    TEST_3R("subs_s.d", 144, 192, w18, w11, w29);
4241    TEST_3R("subs_s.d", 152, 208, w19, w14, w28);
4242    TEST_3R("subs_s.d", 160, 176, w20, w25, w9);
4243    TEST_3R("subs_s.d", 168, 200, w21, w31, w1);
4244    TEST_3R("subs_s.d", 176,  32, w22, w31, w28);
4245    TEST_3R("subs_s.d", 184, 200, w23, w22, w28);
4246    TEST_3R("subs_s.d", 192, 208, w24, w28, w19);
4247    TEST_3R("subs_s.d", 200, 136, w25, w0,  w22);
4248    TEST_3R("subs_s.d", 208, 200, w26, w20, w14);
4249    TEST_3R("subs_s.d", 216,  72, w27, w8,  w26);
4250    TEST_3R("subs_s.d", 224, 208, w28, w21, w5);
4251    TEST_3R("subs_s.d", 232, 144, w29, w7,  w20);
4252    TEST_3R("subs_s.d", 240,  24, w30, w9,  w13);
4253    TEST_3R("subs_s.d", 160,  56, w31, w9,  w12);
4254    TEST_3R("subs_u.b",   0, 232, w0,  w22, w16);
4255    TEST_3R("subs_u.b",   8,   0, w1,  w9,  w9);
4256    TEST_3R("subs_u.b",  16, 144, w2,  w30, w31);
4257    TEST_3R("subs_u.b",  24, 216, w3,  w18, w14);
4258    TEST_3R("subs_u.b",  32, 160, w4,  w27, w8);
4259    TEST_3R("subs_u.b",  40, 136, w5,  w16, w13);
4260    TEST_3R("subs_u.b",  48, 152, w6,  w24, w1);
4261    TEST_3R("subs_u.b",  56,  56, w7,  w1,  w14);
4262    TEST_3R("subs_u.b",  64, 232, w8,  w10, w26);
4263    TEST_3R("subs_u.b",  72, 128, w9,  w12, w5);
4264    TEST_3R("subs_u.b",  80, 184, w10, w2,  w7);
4265    TEST_3R("subs_u.b",  88,   0, w11, w11, w11);
4266    TEST_3R("subs_u.b",  96,   0, w12, w5,  w17);
4267    TEST_3R("subs_u.b", 104,  16, w13, w3,  w17);
4268    TEST_3R("subs_u.b", 112,   0, w14, w21, w31);
4269    TEST_3R("subs_u.b", 120, 160, w15, w16, w7);
4270    TEST_3R("subs_u.b", 128, 176, w16, w1,  w20);
4271    TEST_3R("subs_u.b", 136,  96, w17, w25, w22);
4272    TEST_3R("subs_u.b", 144,  24, w18, w26, w4);
4273    TEST_3R("subs_u.b", 152,  16, w19, w4,  w31);
4274    TEST_3R("subs_u.b", 160, 144, w20, w16, w4);
4275    TEST_3R("subs_u.b", 168, 208, w21, w18, w11);
4276    TEST_3R("subs_u.b", 176,  64, w22, w4,  w22);
4277    TEST_3R("subs_u.b", 184, 112, w23, w17, w10);
4278    TEST_3R("subs_u.b", 192, 120, w24, w2,  w1);
4279    TEST_3R("subs_u.b", 200,  64, w25, w25, w1);
4280    TEST_3R("subs_u.b", 208, 232, w26, w25, w8);
4281    TEST_3R("subs_u.b", 216,  40, w27, w26, w29);
4282    TEST_3R("subs_u.b", 224, 216, w28, w19, w27);
4283    TEST_3R("subs_u.b", 232, 192, w29, w23, w7);
4284    TEST_3R("subs_u.b", 240,  48, w30, w22, w12);
4285    TEST_3R("subs_u.b",  80,  96, w31, w27, w3);
4286    TEST_3R("subs_u.h",   0, 144, w0,  w3,  w24);
4287    TEST_3R("subs_u.h",   8, 192, w1,  w21, w21);
4288    TEST_3R("subs_u.h",  16,  16, w2,  w10, w23);
4289    TEST_3R("subs_u.h",  24,  80, w3,  w19, w25);
4290    TEST_3R("subs_u.h",  32, 192, w4,  w13, w1);
4291    TEST_3R("subs_u.h",  40, 232, w5,  w7,  w30);
4292    TEST_3R("subs_u.h",  48,   0, w6,  w27, w17);
4293    TEST_3R("subs_u.h",  56,  40, w7,  w8,  w9);
4294    TEST_3R("subs_u.h",  64, 104, w8,  w26, w31);
4295    TEST_3R("subs_u.h",  72,  72, w9,  w27, w26);
4296    TEST_3R("subs_u.h",  80, 120, w10, w15, w1);
4297    TEST_3R("subs_u.h",  88,  32, w11, w11, w11);
4298    TEST_3R("subs_u.h",  96, 232, w12, w24, w4);
4299    TEST_3R("subs_u.h", 104, 120, w13, w2,  w28);
4300    TEST_3R("subs_u.h", 112,  80, w14, w22, w21);
4301    TEST_3R("subs_u.h", 120,  32, w15, w3,  w22);
4302    TEST_3R("subs_u.h", 128, 136, w16, w10, w21);
4303    TEST_3R("subs_u.h", 136, 144, w17, w5,  w6);
4304    TEST_3R("subs_u.h", 144, 192, w18, w14, w15);
4305    TEST_3R("subs_u.h", 152,  56, w19, w8,  w15);
4306    TEST_3R("subs_u.h", 160,   0, w20, w3,  w9);
4307    TEST_3R("subs_u.h", 168,   0, w21, w18, w10);
4308    TEST_3R("subs_u.h", 176, 192, w22, w25, w22);
4309    TEST_3R("subs_u.h", 184,  16, w23, w9,  w3);
4310    TEST_3R("subs_u.h", 192, 216, w24, w5,  w16);
4311    TEST_3R("subs_u.h", 200,  32, w25, w25, w26);
4312    TEST_3R("subs_u.h", 208,  72, w26, w30, w17);
4313    TEST_3R("subs_u.h", 216, 216, w27, w8,  w6);
4314    TEST_3R("subs_u.h", 224, 232, w28, w14, w12);
4315    TEST_3R("subs_u.h", 232,  96, w29, w28, w30);
4316    TEST_3R("subs_u.h", 240,   0, w30, w11, w7);
4317    TEST_3R("subs_u.h", 104, 168, w31, w20, w29);
4318    TEST_3R("subs_u.w",   0, 176, w0,  w2,  w19);
4319    TEST_3R("subs_u.w",   8, 192, w1,  w11, w11);
4320    TEST_3R("subs_u.w",  16, 144, w2,  w6,  w17);
4321    TEST_3R("subs_u.w",  24, 184, w3,  w1,  w11);
4322    TEST_3R("subs_u.w",  32, 128, w4,  w31, w28);
4323    TEST_3R("subs_u.w",  40, 216, w5,  w8,  w2);
4324    TEST_3R("subs_u.w",  48, 216, w6,  w22, w15);
4325    TEST_3R("subs_u.w",  56,  40, w7,  w18, w11);
4326    TEST_3R("subs_u.w",  64,  72, w8,  w22, w0);
4327    TEST_3R("subs_u.w",  72,   0, w9,  w10, w29);
4328    TEST_3R("subs_u.w",  80,   8, w10, w9,  w31);
4329    TEST_3R("subs_u.w",  88, 120, w11, w11, w11);
4330    TEST_3R("subs_u.w",  96, 192, w12, w11, w1);
4331    TEST_3R("subs_u.w", 104,   0, w13, w28, w8);
4332    TEST_3R("subs_u.w", 112,  16, w14, w7,  w4);
4333    TEST_3R("subs_u.w", 120, 104, w15, w4,  w10);
4334    TEST_3R("subs_u.w", 128, 192, w16, w6,  w8);
4335    TEST_3R("subs_u.w", 136,  32, w17, w21, w3);
4336    TEST_3R("subs_u.w", 144, 104, w18, w0,  w28);
4337    TEST_3R("subs_u.w", 152,  48, w19, w22, w28);
4338    TEST_3R("subs_u.w", 160, 168, w20, w1,  w26);
4339    TEST_3R("subs_u.w", 168, 184, w21, w10, w25);
4340    TEST_3R("subs_u.w", 176, 144, w22, w21, w22);
4341    TEST_3R("subs_u.w", 184, 112, w23, w26, w7);
4342    TEST_3R("subs_u.w", 192, 152, w24, w2,  w26);
4343    TEST_3R("subs_u.w", 200, 168, w25, w25, w7);
4344    TEST_3R("subs_u.w", 208, 144, w26, w12, w17);
4345    TEST_3R("subs_u.w", 216,  96, w27, w18, w25);
4346    TEST_3R("subs_u.w", 224, 120, w28, w8,  w26);
4347    TEST_3R("subs_u.w", 232,  56, w29, w24, w18);
4348    TEST_3R("subs_u.w", 240,  80, w30, w20, w8);
4349    TEST_3R("subs_u.w", 136,  40, w31, w14, w22);
4350    TEST_3R("subs_u.d",   0, 168, w0,  w14, w12);
4351    TEST_3R("subs_u.d",   8,  24, w1,  w7,  w7);
4352    TEST_3R("subs_u.d",  16, 176, w2,  w11, w1);
4353    TEST_3R("subs_u.d",  24, 208, w3,  w18, w13);
4354    TEST_3R("subs_u.d",  32,  80, w4,  w3,  w20);
4355    TEST_3R("subs_u.d",  40,   8, w5,  w28, w12);
4356    TEST_3R("subs_u.d",  48, 144, w6,  w24, w4);
4357    TEST_3R("subs_u.d",  56,  16, w7,  w24, w3);
4358    TEST_3R("subs_u.d",  64, 128, w8,  w1,  w3);
4359    TEST_3R("subs_u.d",  72, 136, w9,  w23, w13);
4360    TEST_3R("subs_u.d",  80, 176, w10, w5,  w13);
4361    TEST_3R("subs_u.d",  88,  72, w11, w11, w11);
4362    TEST_3R("subs_u.d",  96,  64, w12, w20, w25);
4363    TEST_3R("subs_u.d", 104, 192, w13, w9,  w11);
4364    TEST_3R("subs_u.d", 112,  56, w14, w10, w23);
4365    TEST_3R("subs_u.d", 120,  72, w15, w10, w3);
4366    TEST_3R("subs_u.d", 128,  72, w16, w2,  w9);
4367    TEST_3R("subs_u.d", 136, 144, w17, w18, w2);
4368    TEST_3R("subs_u.d", 144,  48, w18, w22, w3);
4369    TEST_3R("subs_u.d", 152, 112, w19, w9,  w26);
4370    TEST_3R("subs_u.d", 160,  56, w20, w4,  w31);
4371    TEST_3R("subs_u.d", 168,  48, w21, w12, w13);
4372    TEST_3R("subs_u.d", 176,  64, w22, w0,  w22);
4373    TEST_3R("subs_u.d", 184,   0, w23, w8,  w10);
4374    TEST_3R("subs_u.d", 192, 232, w24, w11, w20);
4375    TEST_3R("subs_u.d", 200, 144, w25, w25, w3);
4376    TEST_3R("subs_u.d", 208,  88, w26, w9,  w6);
4377    TEST_3R("subs_u.d", 216, 168, w27, w11, w16);
4378    TEST_3R("subs_u.d", 224,  72, w28, w29, w18);
4379    TEST_3R("subs_u.d", 232, 232, w29, w20, w21);
4380    TEST_3R("subs_u.d", 240, 104, w30, w29, w15);
4381    TEST_3R("subs_u.d", 168,  40, w31, w2,  w14);
4382    TEST_3R("subsus_u.b",   0, 144, w0,  w24, w20);
4383    TEST_3R("subsus_u.b",   8,  64, w1,  w13, w19);
4384    TEST_3R("subsus_u.b",  16, 232, w2,  w31, w31);
4385    TEST_3R("subsus_u.b",  24,   8, w3,  w13, w11);
4386    TEST_3R("subsus_u.b",  32,  32, w4,  w29, w21);
4387    TEST_3R("subsus_u.b",  40, 104, w5,  w15, w31);
4388    TEST_3R("subsus_u.b",  48, 208, w6,  w4,  w12);
4389    TEST_3R("subsus_u.b",  56,  24, w7,  w19, w11);
4390    TEST_3R("subsus_u.b",  64,  40, w8,  w2,  w7);
4391    TEST_3R("subsus_u.b",  72,  48, w9,  w24, w22);
4392    TEST_3R("subsus_u.b",  80, 160, w10, w16, w14);
4393    TEST_3R("subsus_u.b",  88, 152, w11, w20, w27);
4394    TEST_3R("subsus_u.b",  96,  72, w12, w27, w5);
4395    TEST_3R("subsus_u.b", 104, 176, w13, w6,  w27);
4396    TEST_3R("subsus_u.b", 112,  24, w14, w22, w14);
4397    TEST_3R("subsus_u.b", 120, 176, w15, w13, w26);
4398    TEST_3R("subsus_u.b", 128, 152, w16, w16, w5);
4399    TEST_3R("subsus_u.b", 136, 144, w17, w18, w30);
4400    TEST_3R("subsus_u.b", 144, 184, w18, w26, w6);
4401    TEST_3R("subsus_u.b", 152, 104, w19, w18, w28);
4402    TEST_3R("subsus_u.b", 160,  32, w20, w2,  w10);
4403    TEST_3R("subsus_u.b", 168, 184, w21, w23, w6);
4404    TEST_3R("subsus_u.b", 176, 208, w22, w18, w1);
4405    TEST_3R("subsus_u.b", 184, 232, w23, w27, w7);
4406    TEST_3R("subsus_u.b", 192, 176, w24, w2,  w3);
4407    TEST_3R("subsus_u.b", 200,  88, w25, w24, w29);
4408    TEST_3R("subsus_u.b", 208,  96, w26, w18, w4);
4409    TEST_3R("subsus_u.b", 216, 128, w27, w0,  w22);
4410    TEST_3R("subsus_u.b", 224,  16, w28, w28, w28);
4411    TEST_3R("subsus_u.b", 232, 200, w29, w16, w8);
4412    TEST_3R("subsus_u.b", 240, 184, w30, w2,  w4);
4413    TEST_3R("subsus_u.b",  40, 224, w31, w5,  w14);
4414    TEST_3R("subsus_u.h",   0, 120, w0,  w20, w27);
4415    TEST_3R("subsus_u.h",   8, 152, w1,  w21, w11);
4416    TEST_3R("subsus_u.h",  16, 120, w2,  w29, w29);
4417    TEST_3R("subsus_u.h",  24, 168, w3,  w12, w0);
4418    TEST_3R("subsus_u.h",  32, 208, w4,  w29, w24);
4419    TEST_3R("subsus_u.h",  40,  80, w5,  w2,  w27);
4420    TEST_3R("subsus_u.h",  48,  96, w6,  w24, w29);
4421    TEST_3R("subsus_u.h",  56, 176, w7,  w9,  w5);
4422    TEST_3R("subsus_u.h",  64,   0, w8,  w11, w9);
4423    TEST_3R("subsus_u.h",  72, 224, w9,  w16, w24);
4424    TEST_3R("subsus_u.h",  80, 120, w10, w12, w30);
4425    TEST_3R("subsus_u.h",  88, 144, w11, w2,  w9);
4426    TEST_3R("subsus_u.h",  96,  48, w12, w31, w17);
4427    TEST_3R("subsus_u.h", 104,  64, w13, w31, w11);
4428    TEST_3R("subsus_u.h", 112,  80, w14, w28, w14);
4429    TEST_3R("subsus_u.h", 120,  72, w15, w11, w30);
4430    TEST_3R("subsus_u.h", 128, 208, w16, w16, w2);
4431    TEST_3R("subsus_u.h", 136,   0, w17, w28, w10);
4432    TEST_3R("subsus_u.h", 144,   8, w18, w1,  w16);
4433    TEST_3R("subsus_u.h", 152, 200, w19, w11, w3);
4434    TEST_3R("subsus_u.h", 160, 200, w20, w3,  w6);
4435    TEST_3R("subsus_u.h", 168,  80, w21, w15, w4);
4436    TEST_3R("subsus_u.h", 176, 104, w22, w17, w13);
4437    TEST_3R("subsus_u.h", 184, 152, w23, w16, w30);
4438    TEST_3R("subsus_u.h", 192,  88, w24, w15, w9);
4439    TEST_3R("subsus_u.h", 200, 104, w25, w12, w26);
4440    TEST_3R("subsus_u.h", 208, 192, w26, w11, w28);
4441    TEST_3R("subsus_u.h", 216,  64, w27, w7,  w6);
4442    TEST_3R("subsus_u.h", 224, 200, w28, w28, w28);
4443    TEST_3R("subsus_u.h", 232, 176, w29, w22, w13);
4444    TEST_3R("subsus_u.h", 240, 128, w30, w25, w9);
4445    TEST_3R("subsus_u.h",  64,   0, w31, w17, w6);
4446    TEST_3R("subsus_u.w",   0, 168, w0,  w23, w16);
4447    TEST_3R("subsus_u.w",   8, 192, w1,  w8,  w15);
4448    TEST_3R("subsus_u.w",  16, 168, w2,  w23, w23);
4449    TEST_3R("subsus_u.w",  24, 216, w3,  w5,  w31);
4450    TEST_3R("subsus_u.w",  32,  40, w4,  w16, w28);
4451    TEST_3R("subsus_u.w",  40, 112, w5,  w23, w2);
4452    TEST_3R("subsus_u.w",  48,  56, w6,  w31, w25);
4453    TEST_3R("subsus_u.w",  56, 208, w7,  w19, w18);
4454    TEST_3R("subsus_u.w",  64,  88, w8,  w9,  w18);
4455    TEST_3R("subsus_u.w",  72,  24, w9,  w15, w21);
4456    TEST_3R("subsus_u.w",  80, 200, w10, w7,  w6);
4457    TEST_3R("subsus_u.w",  88, 160, w11, w15, w21);
4458    TEST_3R("subsus_u.w",  96,  80, w12, w6,  w13);
4459    TEST_3R("subsus_u.w", 104, 144, w13, w10, w18);
4460    TEST_3R("subsus_u.w", 112, 144, w14, w24, w14);
4461    TEST_3R("subsus_u.w", 120,   8, w15, w3,  w7);
4462    TEST_3R("subsus_u.w", 128, 120, w16, w16, w5);
4463    TEST_3R("subsus_u.w", 136, 176, w17, w25, w30);
4464    TEST_3R("subsus_u.w", 144, 152, w18, w12, w17);
4465    TEST_3R("subsus_u.w", 152, 112, w19, w21, w3);
4466    TEST_3R("subsus_u.w", 160,  16, w20, w5,  w24);
4467    TEST_3R("subsus_u.w", 168, 216, w21, w12, w30);
4468    TEST_3R("subsus_u.w", 176,  16, w22, w27, w19);
4469    TEST_3R("subsus_u.w", 184,  72, w23, w1,  w24);
4470    TEST_3R("subsus_u.w", 192,  32, w24, w19, w31);
4471    TEST_3R("subsus_u.w", 200,  40, w25, w22, w2);
4472    TEST_3R("subsus_u.w", 208, 160, w26, w15, w7);
4473    TEST_3R("subsus_u.w", 216, 216, w27, w8,  w6);
4474    TEST_3R("subsus_u.w", 224,  32, w28, w28, w28);
4475    TEST_3R("subsus_u.w", 232, 168, w29, w23, w10);
4476    TEST_3R("subsus_u.w", 240, 160, w30, w13, w15);
4477    TEST_3R("subsus_u.w", 232, 224, w31, w17, w27);
4478    TEST_3R("subsus_u.d",   0, 128, w0,  w22, w4);
4479    TEST_3R("subsus_u.d",   8, 232, w1,  w23, w5);
4480    TEST_3R("subsus_u.d",  16,   8, w2,  w3,  w3);
4481    TEST_3R("subsus_u.d",  24, 104, w3,  w7,  w6);
4482    TEST_3R("subsus_u.d",  32, 216, w4,  w9,  w17);
4483    TEST_3R("subsus_u.d",  40, 160, w5,  w16, w21);
4484    TEST_3R("subsus_u.d",  48,  72, w6,  w22, w15);
4485    TEST_3R("subsus_u.d",  56, 208, w7,  w13, w6);
4486    TEST_3R("subsus_u.d",  64,  80, w8,  w7,  w20);
4487    TEST_3R("subsus_u.d",  72, 168, w9,  w26, w5);
4488    TEST_3R("subsus_u.d",  80, 112, w10, w11, w4);
4489    TEST_3R("subsus_u.d",  88,   8, w11, w15, w20);
4490    TEST_3R("subsus_u.d",  96, 224, w12, w21, w28);
4491    TEST_3R("subsus_u.d", 104, 224, w13, w14, w3);
4492    TEST_3R("subsus_u.d", 112, 152, w14, w29, w14);
4493    TEST_3R("subsus_u.d", 120, 184, w15, w24, w27);
4494    TEST_3R("subsus_u.d", 128, 112, w16, w16, w13);
4495    TEST_3R("subsus_u.d", 136,  56, w17, w19, w28);
4496    TEST_3R("subsus_u.d", 144, 144, w18, w1,  w2);
4497    TEST_3R("subsus_u.d", 152, 232, w19, w8,  w22);
4498    TEST_3R("subsus_u.d", 160, 160, w20, w2,  w27);
4499    TEST_3R("subsus_u.d", 168, 152, w21, w13, w0);
4500    TEST_3R("subsus_u.d", 176, 168, w22, w29, w20);
4501    TEST_3R("subsus_u.d", 184, 152, w23, w18, w17);
4502    TEST_3R("subsus_u.d", 192,  16, w24, w0,  w20);
4503    TEST_3R("subsus_u.d", 200,  40, w25, w29, w1);
4504    TEST_3R("subsus_u.d", 208, 128, w26, w24, w30);
4505    TEST_3R("subsus_u.d", 216, 176, w27, w17, w25);
4506    TEST_3R("subsus_u.d", 224,   0, w28, w28, w28);
4507    TEST_3R("subsus_u.d", 232,   8, w29, w28, w27);
4508    TEST_3R("subsus_u.d", 240, 208, w30, w20, w29);
4509    TEST_3R("subsus_u.d", 184, 112, w31, w28, w11);
4510    TEST_3R("subsuu_s.b",   0, 192, w0,  w29, w26);
4511    TEST_3R("subsuu_s.b",   8, 176, w1,  w13, w23);
4512    TEST_3R("subsuu_s.b",  16, 104, w2,  w22, w15);
4513    TEST_3R("subsuu_s.b",  24,   0, w3,  w11, w10);
4514    TEST_3R("subsuu_s.b",  32, 176, w4,  w29, w3);
4515    TEST_3R("subsuu_s.b",  40,  40, w5,  w17, w0);
4516    TEST_3R("subsuu_s.b",  48,   8, w6,  w27, w20);
4517    TEST_3R("subsuu_s.b",  56, 224, w7,  w1,  w16);
4518    TEST_3R("subsuu_s.b",  64,  80, w8,  w8,  w8);
4519    TEST_3R("subsuu_s.b",  72, 176, w9,  w25, w14);
4520    TEST_3R("subsuu_s.b",  80, 168, w10, w12, w8);
4521    TEST_3R("subsuu_s.b",  88,  16, w11, w9,  w9);
4522    TEST_3R("subsuu_s.b",  96,  56, w12, w13, w23);
4523    TEST_3R("subsuu_s.b", 104, 152, w13, w14, w9);
4524    TEST_3R("subsuu_s.b", 112,  24, w14, w24, w19);
4525    TEST_3R("subsuu_s.b", 120,  80, w15, w21, w23);
4526    TEST_3R("subsuu_s.b", 128, 232, w16, w6,  w23);
4527    TEST_3R("subsuu_s.b", 136,   8, w17, w2,  w11);
4528    TEST_3R("subsuu_s.b", 144, 112, w18, w3,  w28);
4529    TEST_3R("subsuu_s.b", 152,  48, w19, w11, w19);
4530    TEST_3R("subsuu_s.b", 160, 160, w20, w15, w13);
4531    TEST_3R("subsuu_s.b", 168,  40, w21, w24, w26);
4532    TEST_3R("subsuu_s.b", 176, 208, w22, w26, w8);
4533    TEST_3R("subsuu_s.b", 184, 184, w23, w20, w22);
4534    TEST_3R("subsuu_s.b", 192, 136, w24, w29, w4);
4535    TEST_3R("subsuu_s.b", 200,  72, w25, w16, w2);
4536    TEST_3R("subsuu_s.b", 208,  16, w26, w26, w7);
4537    TEST_3R("subsuu_s.b", 216,  16, w27, w4,  w30);
4538    TEST_3R("subsuu_s.b", 224, 136, w28, w6,  w10);
4539    TEST_3R("subsuu_s.b", 232,   8, w29, w9,  w6);
4540    TEST_3R("subsuu_s.b", 240, 136, w30, w20, w27);
4541    TEST_3R("subsuu_s.b",  56, 208, w31, w1,  w29);
4542    TEST_3R("subsuu_s.h",   0,  16, w0,  w9,  w31);
4543    TEST_3R("subsuu_s.h",   8, 136, w1,  w11, w19);
4544    TEST_3R("subsuu_s.h",  16, 168, w2,  w27, w16);
4545    TEST_3R("subsuu_s.h",  24,  48, w3,  w1,  w0);
4546    TEST_3R("subsuu_s.h",  32, 176, w4,  w8,  w3);
4547    TEST_3R("subsuu_s.h",  40,  32, w5,  w7,  w10);
4548    TEST_3R("subsuu_s.h",  48, 176, w6,  w2,  w20);
4549    TEST_3R("subsuu_s.h",  56,  32, w7,  w31, w8);
4550    TEST_3R("subsuu_s.h",  64, 184, w8,  w8,  w8);
4551    TEST_3R("subsuu_s.h",  72, 160, w9,  w10, w16);
4552    TEST_3R("subsuu_s.h",  80, 224, w10, w6,  w25);
4553    TEST_3R("subsuu_s.h",  88, 192, w11, w10, w10);
4554    TEST_3R("subsuu_s.h",  96,  80, w12, w4,  w31);
4555    TEST_3R("subsuu_s.h", 104,  80, w13, w3,  w2);
4556    TEST_3R("subsuu_s.h", 112, 128, w14, w3,  w30);
4557    TEST_3R("subsuu_s.h", 120, 152, w15, w7,  w5);
4558    TEST_3R("subsuu_s.h", 128,  72, w16, w18, w22);
4559    TEST_3R("subsuu_s.h", 136, 120, w17, w6,  w13);
4560    TEST_3R("subsuu_s.h", 144,  72, w18, w14, w0);
4561    TEST_3R("subsuu_s.h", 152, 192, w19, w24, w19);
4562    TEST_3R("subsuu_s.h", 160, 136, w20, w12, w30);
4563    TEST_3R("subsuu_s.h", 168,  88, w21, w29, w8);
4564    TEST_3R("subsuu_s.h", 176, 232, w22, w1,  w13);
4565    TEST_3R("subsuu_s.h", 184, 232, w23, w22, w16);
4566    TEST_3R("subsuu_s.h", 192,  48, w24, w12, w19);
4567    TEST_3R("subsuu_s.h", 200, 152, w25, w11, w26);
4568    TEST_3R("subsuu_s.h", 208,  64, w26, w26, w16);
4569    TEST_3R("subsuu_s.h", 216, 144, w27, w12, w7);
4570    TEST_3R("subsuu_s.h", 224, 144, w28, w18, w20);
4571    TEST_3R("subsuu_s.h", 232,  88, w29, w0,  w20);
4572    TEST_3R("subsuu_s.h", 240, 200, w30, w25, w4);
4573    TEST_3R("subsuu_s.h",  80, 160, w31, w23, w13);
4574    TEST_3R("subsuu_s.w",   0,  88, w0,  w27, w8);
4575    TEST_3R("subsuu_s.w",   8, 120, w1,  w8,  w31);
4576    TEST_3R("subsuu_s.w",  16, 160, w2,  w23, w11);
4577    TEST_3R("subsuu_s.w",  24,  72, w3,  w10, w22);
4578    TEST_3R("subsuu_s.w",  32,  16, w4,  w7,  w18);
4579    TEST_3R("subsuu_s.w",  40,  64, w5,  w14, w7);
4580    TEST_3R("subsuu_s.w",  48, 176, w6,  w2,  w11);
4581    TEST_3R("subsuu_s.w",  56, 216, w7,  w23, w9);
4582    TEST_3R("subsuu_s.w",  64, 152, w8,  w8,  w8);
4583    TEST_3R("subsuu_s.w",  72,  80, w9,  w19, w26);
4584    TEST_3R("subsuu_s.w",  80, 176, w10, w4,  w2);
4585    TEST_3R("subsuu_s.w",  88,   0, w11, w12, w12);
4586    TEST_3R("subsuu_s.w",  96,  72, w12, w29, w3);
4587    TEST_3R("subsuu_s.w", 104, 208, w13, w3,  w24);
4588    TEST_3R("subsuu_s.w", 112, 152, w14, w10, w1);
4589    TEST_3R("subsuu_s.w", 120,  72, w15, w18, w3);
4590    TEST_3R("subsuu_s.w", 128,  16, w16, w29, w6);
4591    TEST_3R("subsuu_s.w", 136,  40, w17, w6,  w1);
4592    TEST_3R("subsuu_s.w", 144, 176, w18, w25, w20);
4593    TEST_3R("subsuu_s.w", 152, 136, w19, w7,  w19);
4594    TEST_3R("subsuu_s.w", 160, 160, w20, w21, w7);
4595    TEST_3R("subsuu_s.w", 168,   8, w21, w23, w4);
4596    TEST_3R("subsuu_s.w", 176,  80, w22, w4,  w18);
4597    TEST_3R("subsuu_s.w", 184, 168, w23, w7,  w10);
4598    TEST_3R("subsuu_s.w", 192, 152, w24, w18, w21);
4599    TEST_3R("subsuu_s.w", 200,  72, w25, w10, w7);
4600    TEST_3R("subsuu_s.w", 208,   0, w26, w26, w5);
4601    TEST_3R("subsuu_s.w", 216, 216, w27, w20, w23);
4602    TEST_3R("subsuu_s.w", 224, 192, w28, w21, w5);
4603    TEST_3R("subsuu_s.w", 232, 208, w29, w10, w27);
4604    TEST_3R("subsuu_s.w", 240,   8, w30, w17, w22);
4605    TEST_3R("subsuu_s.w",  56,  32, w31, w25, w28);
4606    TEST_3R("subsuu_s.d",   0, 200, w0,  w6,  w15);
4607    TEST_3R("subsuu_s.d",   8, 128, w1,  w14, w26);
4608    TEST_3R("subsuu_s.d",  16, 160, w2,  w0,  w15);
4609    TEST_3R("subsuu_s.d",  24, 104, w3,  w10, w22);
4610    TEST_3R("subsuu_s.d",  32,  32, w4,  w16, w26);
4611    TEST_3R("subsuu_s.d",  40, 152, w5,  w7,  w4);
4612    TEST_3R("subsuu_s.d",  48,  96, w6,  w12, w7);
4613    TEST_3R("subsuu_s.d",  56,  64, w7,  w8,  w29);
4614    TEST_3R("subsuu_s.d",  64,  56, w8,  w8,  w8);
4615    TEST_3R("subsuu_s.d",  72, 168, w9,  w8,  w29);
4616    TEST_3R("subsuu_s.d",  80,  48, w10, w11, w27);
4617    TEST_3R("subsuu_s.d",  88,  72, w11, w17, w17);
4618    TEST_3R("subsuu_s.d",  96, 128, w12, w31, w4);
4619    TEST_3R("subsuu_s.d", 104,  48, w13, w31, w19);
4620    TEST_3R("subsuu_s.d", 112,  32, w14, w10, w9);
4621    TEST_3R("subsuu_s.d", 120,  72, w15, w26, w3);
4622    TEST_3R("subsuu_s.d", 128, 224, w16, w1,  w7);
4623    TEST_3R("subsuu_s.d", 136,  80, w17, w14, w6);
4624    TEST_3R("subsuu_s.d", 144, 144, w18, w11, w20);
4625    TEST_3R("subsuu_s.d", 152, 184, w19, w8,  w19);
4626    TEST_3R("subsuu_s.d", 160, 104, w20, w31, w3);
4627    TEST_3R("subsuu_s.d", 168, 232, w21, w16, w14);
4628    TEST_3R("subsuu_s.d", 176,   0, w22, w16, w18);
4629    TEST_3R("subsuu_s.d", 184, 168, w23, w15, w6);
4630    TEST_3R("subsuu_s.d", 192, 208, w24, w25, w15);
4631    TEST_3R("subsuu_s.d", 200, 144, w25, w19, w13);
4632    TEST_3R("subsuu_s.d", 208, 112, w26, w26, w1);
4633    TEST_3R("subsuu_s.d", 216,  72, w27, w9,  w7);
4634    TEST_3R("subsuu_s.d", 224,  88, w28, w20, w18);
4635    TEST_3R("subsuu_s.d", 232, 152, w29, w8,  w27);
4636    TEST_3R("subsuu_s.d", 240,   8, w30, w7,  w11);
4637    TEST_3R("subsuu_s.d", 104, 168, w31, w12, w25);
4638    TEST_3R("subv.b",   0, 152, w0,  w17, w20);
4639    TEST_3R("subv.b",   8,  72, w1,  w4,  w7);
4640    TEST_3R("subv.b",  16, 152, w2,  w25, w11);
4641    TEST_3R("subv.b",  24, 224, w3,  w11, w19);
4642    TEST_3R("subv.b",  32,  80, w4,  w31, w5);
4643    TEST_3R("subv.b",  40, 208, w5,  w8,  w5);
4644    TEST_3R("subv.b",  48,  40, w6,  w30, w15);
4645    TEST_3R("subv.b",  56,  16, w7,  w9,  w11);
4646    TEST_3R("subv.b",  64,  32, w8,  w15, w10);
4647    TEST_3R("subv.b",  72, 216, w9,  w7,  w15);
4648    TEST_3R("subv.b",  80,   0, w10, w24, w4);
4649    TEST_3R("subv.b",  88, 208, w11, w28, w18);
4650    TEST_3R("subv.b",  96,   0, w12, w13, w29);
4651    TEST_3R("subv.b", 104, 232, w13, w24, w16);
4652    TEST_3R("subv.b", 112,  88, w14, w14, w14);
4653    TEST_3R("subv.b", 120, 160, w15, w22, w10);
4654    TEST_3R("subv.b", 128, 200, w16, w22, w8);
4655    TEST_3R("subv.b", 136,  80, w17, w21, w23);
4656    TEST_3R("subv.b", 144,  88, w18, w20, w6);
4657    TEST_3R("subv.b", 152,  72, w19, w4,  w13);
4658    TEST_3R("subv.b", 160, 184, w20, w15, w5);
4659    TEST_3R("subv.b", 168, 216, w21, w22, w2);
4660    TEST_3R("subv.b", 176, 168, w22, w8,  w24);
4661    TEST_3R("subv.b", 184, 200, w23, w23, w6);
4662    TEST_3R("subv.b", 192,  64, w24, w16, w22);
4663    TEST_3R("subv.b", 200,   8, w25, w8,  w12);
4664    TEST_3R("subv.b", 208,  32, w26, w8,  w8);
4665    TEST_3R("subv.b", 216, 216, w27, w5,  w24);
4666    TEST_3R("subv.b", 224,  56, w28, w23, w15);
4667    TEST_3R("subv.b", 232,  16, w29, w11, w21);
4668    TEST_3R("subv.b", 240, 208, w30, w15, w3);
4669    TEST_3R("subv.b",  32, 152, w31, w30, w8);
4670    TEST_3R("subv.h",   0, 200, w0,  w10, w9);
4671    TEST_3R("subv.h",   8, 232, w1,  w2,  w3);
4672    TEST_3R("subv.h",  16, 168, w2,  w18, w26);
4673    TEST_3R("subv.h",  24, 184, w3,  w26, w6);
4674    TEST_3R("subv.h",  32,  16, w4,  w3,  w9);
4675    TEST_3R("subv.h",  40, 160, w5,  w27, w5);
4676    TEST_3R("subv.h",  48, 216, w6,  w25, w10);
4677    TEST_3R("subv.h",  56,   0, w7,  w4,  w31);
4678    TEST_3R("subv.h",  64, 208, w8,  w19, w2);
4679    TEST_3R("subv.h",  72, 232, w9,  w18, w11);
4680    TEST_3R("subv.h",  80, 136, w10, w7,  w21);
4681    TEST_3R("subv.h",  88, 184, w11, w4,  w24);
4682    TEST_3R("subv.h",  96,  24, w12, w8,  w5);
4683    TEST_3R("subv.h", 104,  96, w13, w2,  w4);
4684    TEST_3R("subv.h", 112, 136, w14, w14, w14);
4685    TEST_3R("subv.h", 120, 208, w15, w1,  w26);
4686    TEST_3R("subv.h", 128, 128, w16, w3,  w21);
4687    TEST_3R("subv.h", 136, 216, w17, w28, w31);
4688    TEST_3R("subv.h", 144,  96, w18, w0,  w30);
4689    TEST_3R("subv.h", 152,  16, w19, w1,  w16);
4690    TEST_3R("subv.h", 160,  72, w20, w12, w16);
4691    TEST_3R("subv.h", 168,  96, w21, w1,  w25);
4692    TEST_3R("subv.h", 176, 168, w22, w25, w3);
4693    TEST_3R("subv.h", 184,  32, w23, w23, w30);
4694    TEST_3R("subv.h", 192,   0, w24, w27, w3);
4695    TEST_3R("subv.h", 200,  80, w25, w3,  w4);
4696    TEST_3R("subv.h", 208,   0, w26, w21, w21);
4697    TEST_3R("subv.h", 216, 160, w27, w6,  w9);
4698    TEST_3R("subv.h", 224,  80, w28, w5,  w25);
4699    TEST_3R("subv.h", 232, 192, w29, w3,  w9);
4700    TEST_3R("subv.h", 240, 216, w30, w4,  w25);
4701    TEST_3R("subv.h", 112, 168, w31, w16, w9);
4702    TEST_3R("subv.w",   0, 184, w0,  w2,  w25);
4703    TEST_3R("subv.w",   8,   8, w1,  w6,  w18);
4704    TEST_3R("subv.w",  16, 120, w2,  w6,  w13);
4705    TEST_3R("subv.w",  24,   0, w3,  w29, w17);
4706    TEST_3R("subv.w",  32,   8, w4,  w14, w6);
4707    TEST_3R("subv.w",  40, 144, w5,  w20, w5);
4708    TEST_3R("subv.w",  48,   8, w6,  w27, w25);
4709    TEST_3R("subv.w",  56, 208, w7,  w30, w28);
4710    TEST_3R("subv.w",  64, 104, w8,  w20, w1);
4711    TEST_3R("subv.w",  72,  48, w9,  w16, w17);
4712    TEST_3R("subv.w",  80, 176, w10, w25, w3);
4713    TEST_3R("subv.w",  88,  72, w11, w18, w15);
4714    TEST_3R("subv.w",  96, 112, w12, w5,  w25);
4715    TEST_3R("subv.w", 104, 160, w13, w18, w6);
4716    TEST_3R("subv.w", 112, 144, w14, w14, w14);
4717    TEST_3R("subv.w", 120,  40, w15, w23, w14);
4718    TEST_3R("subv.w", 128,  56, w16, w15, w2);
4719    TEST_3R("subv.w", 136,  64, w17, w10, w27);
4720    TEST_3R("subv.w", 144, 144, w18, w8,  w24);
4721    TEST_3R("subv.w", 152, 128, w19, w28, w25);
4722    TEST_3R("subv.w", 160,  48, w20, w13, w10);
4723    TEST_3R("subv.w", 168, 232, w21, w6,  w14);
4724    TEST_3R("subv.w", 176, 184, w22, w24, w29);
4725    TEST_3R("subv.w", 184, 208, w23, w23, w29);
4726    TEST_3R("subv.w", 192,  88, w24, w14, w16);
4727    TEST_3R("subv.w", 200, 208, w25, w14, w19);
4728    TEST_3R("subv.w", 208, 152, w26, w29, w29);
4729    TEST_3R("subv.w", 216,  80, w27, w2,  w31);
4730    TEST_3R("subv.w", 224,  24, w28, w12, w27);
4731    TEST_3R("subv.w", 232, 168, w29, w20, w19);
4732    TEST_3R("subv.w", 240, 176, w30, w16, w12);
4733    TEST_3R("subv.w",  16, 224, w31, w29, w22);
4734    TEST_3R("subv.d",   0, 152, w0,  w4,  w18);
4735    TEST_3R("subv.d",   8, 160, w1,  w29, w25);
4736    TEST_3R("subv.d",  16,  16, w2,  w11, w9);
4737    TEST_3R("subv.d",  24,  96, w3,  w25, w29);
4738    TEST_3R("subv.d",  32,  72, w4,  w22, w26);
4739    TEST_3R("subv.d",  40,  64, w5,  w22, w5);
4740    TEST_3R("subv.d",  48,  88, w6,  w20, w17);
4741    TEST_3R("subv.d",  56, 136, w7,  w8,  w4);
4742    TEST_3R("subv.d",  64,  72, w8,  w25, w16);
4743    TEST_3R("subv.d",  72,  64, w9,  w22, w6);
4744    TEST_3R("subv.d",  80, 160, w10, w26, w11);
4745    TEST_3R("subv.d",  88,  80, w11, w22, w12);
4746    TEST_3R("subv.d",  96,  56, w12, w15, w4);
4747    TEST_3R("subv.d", 104, 128, w13, w25, w23);
4748    TEST_3R("subv.d", 112,  80, w14, w14, w14);
4749    TEST_3R("subv.d", 120,  64, w15, w30, w28);
4750    TEST_3R("subv.d", 128,   0, w16, w6,  w18);
4751    TEST_3R("subv.d", 136,  88, w17, w27, w3);
4752    TEST_3R("subv.d", 144, 104, w18, w3,  w7);
4753    TEST_3R("subv.d", 152, 176, w19, w28, w23);
4754    TEST_3R("subv.d", 160, 120, w20, w19, w29);
4755    TEST_3R("subv.d", 168, 152, w21, w13, w8);
4756    TEST_3R("subv.d", 176, 232, w22, w3,  w21);
4757    TEST_3R("subv.d", 184,  88, w23, w23, w18);
4758    TEST_3R("subv.d", 192, 176, w24, w25, w11);
4759    TEST_3R("subv.d", 200, 120, w25, w31, w1);
4760    TEST_3R("subv.d", 208,  16, w26, w27, w27);
4761    TEST_3R("subv.d", 216,  16, w27, w21, w13);
4762    TEST_3R("subv.d", 224, 112, w28, w16, w3);
4763    TEST_3R("subv.d", 232,  48, w29, w23, w14);
4764    TEST_3R("subv.d", 240, 144, w30, w14, w5);
4765    TEST_3R("subv.d", 208,  80, w31, w11, w14);
4766    TEST_BIT("sat_s.b",   0, w0,  w7,  6);
4767    TEST_BIT("sat_s.b",   8, w1,  w8,  7);
4768    TEST_BIT("sat_s.b",  16, w2,  w5,  0);
4769    TEST_BIT("sat_s.b",  24, w3,  w27, 1);
4770    TEST_BIT("sat_s.b",  32, w4,  w20, 2);
4771    TEST_BIT("sat_s.b",  40, w5,  w10, 3);
4772    TEST_BIT("sat_s.b",  48, w6,  w20, 4);
4773    TEST_BIT("sat_s.b",  56, w7,  w4,  5);
4774    TEST_BIT("sat_s.b",  64, w8,  w14, 6);
4775    TEST_BIT("sat_s.b",  72, w9,  w10, 7);
4776    TEST_BIT("sat_s.b",  80, w10, w28, 0);
4777    TEST_BIT("sat_s.b",  88, w11, w31, 1);
4778    TEST_BIT("sat_s.b",  96, w12, w12, 2);
4779    TEST_BIT("sat_s.b", 104, w13, w20, 3);
4780    TEST_BIT("sat_s.b", 112, w14, w7,  4);
4781    TEST_BIT("sat_s.b", 120, w15, w0,  5);
4782    TEST_BIT("sat_s.b", 128, w16, w14, 6);
4783    TEST_BIT("sat_s.b", 136, w17, w31, 7);
4784    TEST_BIT("sat_s.b", 144, w18, w18, 0);
4785    TEST_BIT("sat_s.b", 152, w19, w28, 1);
4786    TEST_BIT("sat_s.b", 160, w20, w27, 2);
4787    TEST_BIT("sat_s.b", 168, w21, w7,  3);
4788    TEST_BIT("sat_s.b", 176, w22, w5,  4);
4789    TEST_BIT("sat_s.b", 184, w23, w30, 5);
4790    TEST_BIT("sat_s.b", 192, w24, w30, 6);
4791    TEST_BIT("sat_s.b", 200, w25, w15, 7);
4792    TEST_BIT("sat_s.b", 208, w26, w27, 0);
4793    TEST_BIT("sat_s.b", 216, w27, w0,  1);
4794    TEST_BIT("sat_s.b", 224, w28, w10, 2);
4795    TEST_BIT("sat_s.b", 232, w29, w6,  3);
4796    TEST_BIT("sat_s.b", 240, w30, w23, 4);
4797    TEST_BIT("sat_s.b", 224, w31, w1,  5);
4798    TEST_BIT("sat_s.h",   0, w0,  w20, 14);
4799    TEST_BIT("sat_s.h",   8, w1,  w7,  15);
4800    TEST_BIT("sat_s.h",  16, w2,  w13, 0);
4801    TEST_BIT("sat_s.h",  24, w3,  w9,  1);
4802    TEST_BIT("sat_s.h",  32, w4,  w7,  2);
4803    TEST_BIT("sat_s.h",  40, w5,  w20, 3);
4804    TEST_BIT("sat_s.h",  48, w6,  w3,  4);
4805    TEST_BIT("sat_s.h",  56, w7,  w19, 5);
4806    TEST_BIT("sat_s.h",  64, w8,  w20, 6);
4807    TEST_BIT("sat_s.h",  72, w9,  w25, 7);
4808    TEST_BIT("sat_s.h",  80, w10, w7,  8);
4809    TEST_BIT("sat_s.h",  88, w11, w15, 9);
4810    TEST_BIT("sat_s.h",  96, w12, w12, 10);
4811    TEST_BIT("sat_s.h", 104, w13, w5,  11);
4812    TEST_BIT("sat_s.h", 112, w14, w31, 12);
4813    TEST_BIT("sat_s.h", 120, w15, w4,  13);
4814    TEST_BIT("sat_s.h", 128, w16, w19, 14);
4815    TEST_BIT("sat_s.h", 136, w17, w21, 15);
4816    TEST_BIT("sat_s.h", 144, w18, w18, 0);
4817    TEST_BIT("sat_s.h", 152, w19, w2,  1);
4818    TEST_BIT("sat_s.h", 160, w20, w8,  2);
4819    TEST_BIT("sat_s.h", 168, w21, w16, 3);
4820    TEST_BIT("sat_s.h", 176, w22, w21, 4);
4821    TEST_BIT("sat_s.h", 184, w23, w12, 5);
4822    TEST_BIT("sat_s.h", 192, w24, w27, 6);
4823    TEST_BIT("sat_s.h", 200, w25, w9,  7);
4824    TEST_BIT("sat_s.h", 208, w26, w5,  8);
4825    TEST_BIT("sat_s.h", 216, w27, w21, 9);
4826    TEST_BIT("sat_s.h", 224, w28, w23, 10);
4827    TEST_BIT("sat_s.h", 232, w29, w10, 11);
4828    TEST_BIT("sat_s.h", 240, w30, w19, 12);
4829    TEST_BIT("sat_s.h", 112, w31, w9,  13);
4830    TEST_BIT("sat_s.w",   0, w0,  w31, 14);
4831    TEST_BIT("sat_s.w",   8, w1,  w19, 15);
4832    TEST_BIT("sat_s.w",  16, w2,  w27, 16);
4833    TEST_BIT("sat_s.w",  24, w3,  w25, 17);
4834    TEST_BIT("sat_s.w",  32, w4,  w31, 18);
4835    TEST_BIT("sat_s.w",  40, w5,  w19, 19);
4836    TEST_BIT("sat_s.w",  48, w6,  w3,  20);
4837    TEST_BIT("sat_s.w",  56, w7,  w23, 21);
4838    TEST_BIT("sat_s.w",  64, w8,  w29, 22);
4839    TEST_BIT("sat_s.w",  72, w9,  w20, 23);
4840    TEST_BIT("sat_s.w",  80, w10, w1,  24);
4841    TEST_BIT("sat_s.w",  88, w11, w6,  25);
4842    TEST_BIT("sat_s.w",  96, w12, w12, 26);
4843    TEST_BIT("sat_s.w", 104, w13, w25, 27);
4844    TEST_BIT("sat_s.w", 112, w14, w26, 28);
4845    TEST_BIT("sat_s.w", 120, w15, w20, 29);
4846    TEST_BIT("sat_s.w", 128, w16, w25, 30);
4847    TEST_BIT("sat_s.w", 136, w17, w7,  31);
4848    TEST_BIT("sat_s.w", 144, w18, w18, 0);
4849    TEST_BIT("sat_s.w", 152, w19, w2,  1);
4850    TEST_BIT("sat_s.w", 160, w20, w4,  2);
4851    TEST_BIT("sat_s.w", 168, w21, w13, 3);
4852    TEST_BIT("sat_s.w", 176, w22, w19, 4);
4853    TEST_BIT("sat_s.w", 184, w23, w28, 5);
4854    TEST_BIT("sat_s.w", 192, w24, w16, 6);
4855    TEST_BIT("sat_s.w", 200, w25, w3,  7);
4856    TEST_BIT("sat_s.w", 208, w26, w16, 8);
4857    TEST_BIT("sat_s.w", 216, w27, w0,  9);
4858    TEST_BIT("sat_s.w", 224, w28, w2,  10);
4859    TEST_BIT("sat_s.w", 232, w29, w28, 11);
4860    TEST_BIT("sat_s.w", 240, w30, w0,  12);
4861    TEST_BIT("sat_s.w",  16, w31, w12, 13);
4862    TEST_BIT("sat_s.d",   0, w0,  w5,  14);
4863    TEST_BIT("sat_s.d",   8, w1,  w24, 15);
4864    TEST_BIT("sat_s.d",  16, w2,  w12, 16);
4865    TEST_BIT("sat_s.d",  24, w3,  w17, 17);
4866    TEST_BIT("sat_s.d",  32, w4,  w8,  18);
4867    TEST_BIT("sat_s.d",  40, w5,  w3,  19);
4868    TEST_BIT("sat_s.d",  48, w6,  w30, 20);
4869    TEST_BIT("sat_s.d",  56, w7,  w25, 21);
4870    TEST_BIT("sat_s.d",  64, w8,  w28, 22);
4871    TEST_BIT("sat_s.d",  72, w9,  w2,  23);
4872    TEST_BIT("sat_s.d",  80, w10, w7,  24);
4873    TEST_BIT("sat_s.d",  88, w11, w21, 25);
4874    TEST_BIT("sat_s.d",  96, w12, w12, 26);
4875    TEST_BIT("sat_s.d", 104, w13, w16, 27);
4876    TEST_BIT("sat_s.d", 112, w14, w15, 28);
4877    TEST_BIT("sat_s.d", 120, w15, w20, 29);
4878    TEST_BIT("sat_s.d", 128, w16, w15, 30);
4879    TEST_BIT("sat_s.d", 136, w17, w26, 31);
4880    TEST_BIT("sat_s.d", 144, w18, w18, 32);
4881    TEST_BIT("sat_s.d", 152, w19, w29, 33);
4882    TEST_BIT("sat_s.d", 160, w20, w11, 34);
4883    TEST_BIT("sat_s.d", 168, w21, w13, 35);
4884    TEST_BIT("sat_s.d", 176, w22, w12, 36);
4885    TEST_BIT("sat_s.d", 184, w23, w3,  37);
4886    TEST_BIT("sat_s.d", 192, w24, w9,  38);
4887    TEST_BIT("sat_s.d", 200, w25, w28, 39);
4888    TEST_BIT("sat_s.d", 208, w26, w4,  40);
4889    TEST_BIT("sat_s.d", 216, w27, w25, 41);
4890    TEST_BIT("sat_s.d", 224, w28, w19, 42);
4891    TEST_BIT("sat_s.d", 232, w29, w26, 43);
4892    TEST_BIT("sat_s.d", 240, w30, w23, 44);
4893    TEST_BIT("sat_s.d", 120, w31, w16, 45);
4894    TEST_BIT("sat_u.b",   0, w0,  w22, 6);
4895    TEST_BIT("sat_u.b",   8, w1,  w19, 7);
4896    TEST_BIT("sat_u.b",  16, w2,  w23, 0);
4897    TEST_BIT("sat_u.b",  24, w3,  w20, 1);
4898    TEST_BIT("sat_u.b",  32, w4,  w13, 2);
4899    TEST_BIT("sat_u.b",  40, w5,  w5,  3);
4900    TEST_BIT("sat_u.b",  48, w6,  w30, 4);
4901    TEST_BIT("sat_u.b",  56, w7,  w19, 5);
4902    TEST_BIT("sat_u.b",  64, w8,  w29, 6);
4903    TEST_BIT("sat_u.b",  72, w9,  w9,  7);
4904    TEST_BIT("sat_u.b",  80, w10, w16, 0);
4905    TEST_BIT("sat_u.b",  88, w11, w26, 1);
4906    TEST_BIT("sat_u.b",  96, w12, w18, 2);
4907    TEST_BIT("sat_u.b", 104, w13, w4,  3);
4908    TEST_BIT("sat_u.b", 112, w14, w28, 4);
4909    TEST_BIT("sat_u.b", 120, w15, w3,  5);
4910    TEST_BIT("sat_u.b", 128, w16, w23, 6);
4911    TEST_BIT("sat_u.b", 136, w17, w12, 7);
4912    TEST_BIT("sat_u.b", 144, w18, w13, 0);
4913    TEST_BIT("sat_u.b", 152, w19, w30, 1);
4914    TEST_BIT("sat_u.b", 160, w20, w3,  2);
4915    TEST_BIT("sat_u.b", 168, w21, w6,  3);
4916    TEST_BIT("sat_u.b", 176, w22, w3,  4);
4917    TEST_BIT("sat_u.b", 184, w23, w3,  5);
4918    TEST_BIT("sat_u.b", 192, w24, w1,  6);
4919    TEST_BIT("sat_u.b", 200, w25, w17, 7);
4920    TEST_BIT("sat_u.b", 208, w26, w19, 0);
4921    TEST_BIT("sat_u.b", 216, w27, w29, 1);
4922    TEST_BIT("sat_u.b", 224, w28, w8,  2);
4923    TEST_BIT("sat_u.b", 232, w29, w19, 3);
4924    TEST_BIT("sat_u.b", 240, w30, w31, 4);
4925    TEST_BIT("sat_u.b", 192, w31, w18, 5);
4926    TEST_BIT("sat_u.h",   0, w0,  w4,  14);
4927    TEST_BIT("sat_u.h",   8, w1,  w4,  15);
4928    TEST_BIT("sat_u.h",  16, w2,  w20, 0);
4929    TEST_BIT("sat_u.h",  24, w3,  w17, 1);
4930    TEST_BIT("sat_u.h",  32, w4,  w23, 2);
4931    TEST_BIT("sat_u.h",  40, w5,  w5,  3);
4932    TEST_BIT("sat_u.h",  48, w6,  w30, 4);
4933    TEST_BIT("sat_u.h",  56, w7,  w26, 5);
4934    TEST_BIT("sat_u.h",  64, w8,  w31, 6);
4935    TEST_BIT("sat_u.h",  72, w9,  w9,  7);
4936    TEST_BIT("sat_u.h",  80, w10, w16, 8);
4937    TEST_BIT("sat_u.h",  88, w11, w26, 9);
4938    TEST_BIT("sat_u.h",  96, w12, w18, 10);
4939    TEST_BIT("sat_u.h", 104, w13, w29, 11);
4940    TEST_BIT("sat_u.h", 112, w14, w24, 12);
4941    TEST_BIT("sat_u.h", 120, w15, w28, 13);
4942    TEST_BIT("sat_u.h", 128, w16, w14, 14);
4943    TEST_BIT("sat_u.h", 136, w17, w11, 15);
4944    TEST_BIT("sat_u.h", 144, w18, w5,  0);
4945    TEST_BIT("sat_u.h", 152, w19, w18, 1);
4946    TEST_BIT("sat_u.h", 160, w20, w27, 2);
4947    TEST_BIT("sat_u.h", 168, w21, w3,  3);
4948    TEST_BIT("sat_u.h", 176, w22, w10, 4);
4949    TEST_BIT("sat_u.h", 184, w23, w30, 5);
4950    TEST_BIT("sat_u.h", 192, w24, w6,  6);
4951    TEST_BIT("sat_u.h", 200, w25, w27, 7);
4952    TEST_BIT("sat_u.h", 208, w26, w13, 8);
4953    TEST_BIT("sat_u.h", 216, w27, w10, 9);
4954    TEST_BIT("sat_u.h", 224, w28, w19, 10);
4955    TEST_BIT("sat_u.h", 232, w29, w7,  11);
4956    TEST_BIT("sat_u.h", 240, w30, w13, 12);
4957    TEST_BIT("sat_u.h", 120, w31, w17, 13);
4958    TEST_BIT("sat_u.w",   0, w0,  w19, 14);
4959    TEST_BIT("sat_u.w",   8, w1,  w2,  15);
4960    TEST_BIT("sat_u.w",  16, w2,  w29, 16);
4961    TEST_BIT("sat_u.w",  24, w3,  w5,  17);
4962    TEST_BIT("sat_u.w",  32, w4,  w27, 18);
4963    TEST_BIT("sat_u.w",  40, w5,  w5,  19);
4964    TEST_BIT("sat_u.w",  48, w6,  w12, 20);
4965    TEST_BIT("sat_u.w",  56, w7,  w4,  21);
4966    TEST_BIT("sat_u.w",  64, w8,  w16, 22);
4967    TEST_BIT("sat_u.w",  72, w9,  w9,  23);
4968    TEST_BIT("sat_u.w",  80, w10, w15, 24);
4969    TEST_BIT("sat_u.w",  88, w11, w16, 25);
4970    TEST_BIT("sat_u.w",  96, w12, w21, 26);
4971    TEST_BIT("sat_u.w", 104, w13, w18, 27);
4972    TEST_BIT("sat_u.w", 112, w14, w18, 28);
4973    TEST_BIT("sat_u.w", 120, w15, w5,  29);
4974    TEST_BIT("sat_u.w", 128, w16, w19, 30);
4975    TEST_BIT("sat_u.w", 136, w17, w27, 31);
4976    TEST_BIT("sat_u.w", 144, w18, w31, 0);
4977    TEST_BIT("sat_u.w", 152, w19, w11, 1);
4978    TEST_BIT("sat_u.w", 160, w20, w18, 2);
4979    TEST_BIT("sat_u.w", 168, w21, w10, 3);
4980    TEST_BIT("sat_u.w", 176, w22, w18, 4);
4981    TEST_BIT("sat_u.w", 184, w23, w7,  5);
4982    TEST_BIT("sat_u.w", 192, w24, w30, 6);
4983    TEST_BIT("sat_u.w", 200, w25, w26, 7);
4984    TEST_BIT("sat_u.w", 208, w26, w20, 8);
4985    TEST_BIT("sat_u.w", 216, w27, w25, 9);
4986    TEST_BIT("sat_u.w", 224, w28, w8,  10);
4987    TEST_BIT("sat_u.w", 232, w29, w8,  11);
4988    TEST_BIT("sat_u.w", 240, w30, w19, 12);
4989    TEST_BIT("sat_u.w", 200, w31, w10, 13);
4990    TEST_BIT("sat_u.d",   0, w0,  w4,  46);
4991    TEST_BIT("sat_u.d",   8, w1,  w14, 47);
4992    TEST_BIT("sat_u.d",  16, w2,  w5,  48);
4993    TEST_BIT("sat_u.d",  24, w3,  w31, 49);
4994    TEST_BIT("sat_u.d",  32, w4,  w14, 50);
4995    TEST_BIT("sat_u.d",  40, w5,  w5,  51);
4996    TEST_BIT("sat_u.d",  48, w6,  w0,  52);
4997    TEST_BIT("sat_u.d",  56, w7,  w12, 53);
4998    TEST_BIT("sat_u.d",  64, w8,  w15, 54);
4999    TEST_BIT("sat_u.d",  72, w9,  w9,  55);
5000    TEST_BIT("sat_u.d",  80, w10, w24, 56);
5001    TEST_BIT("sat_u.d",  88, w11, w18, 57);
5002    TEST_BIT("sat_u.d",  96, w12, w2,  58);
5003    TEST_BIT("sat_u.d", 104, w13, w7,  59);
5004    TEST_BIT("sat_u.d", 112, w14, w16, 60);
5005    TEST_BIT("sat_u.d", 120, w15, w25, 61);
5006    TEST_BIT("sat_u.d", 128, w16, w7,  62);
5007    TEST_BIT("sat_u.d", 136, w17, w13, 63);
5008    TEST_BIT("sat_u.d", 144, w18, w7,  0);
5009    TEST_BIT("sat_u.d", 152, w19, w22, 1);
5010    TEST_BIT("sat_u.d", 160, w20, w27, 2);
5011    TEST_BIT("sat_u.d", 168, w21, w30, 3);
5012    TEST_BIT("sat_u.d", 176, w22, w19, 4);
5013    TEST_BIT("sat_u.d", 184, w23, w11, 5);
5014    TEST_BIT("sat_u.d", 192, w24, w15, 6);
5015    TEST_BIT("sat_u.d", 200, w25, w22, 7);
5016    TEST_BIT("sat_u.d", 208, w26, w15, 8);
5017    TEST_BIT("sat_u.d", 216, w27, w5,  9);
5018    TEST_BIT("sat_u.d", 224, w28, w5,  10);
5019    TEST_BIT("sat_u.d", 232, w29, w0,  11);
5020    TEST_BIT("sat_u.d", 240, w30, w15, 12);
5021    TEST_BIT("sat_u.d",   0, w31, w20, 13);
5022    TEST_I5("addvi.b",   0, w0,  w8,  20);
5023    TEST_I5("addvi.b",   8, w1,  w14, 7);
5024    TEST_I5("addvi.b",  16, w2,  w23, 22);
5025    TEST_I5("addvi.b",  24, w3,  w4,  13);
5026    TEST_I5("addvi.b",  32, w4,  w28, 8);
5027    TEST_I5("addvi.b",  40, w5,  w15, 22);
5028    TEST_I5("addvi.b",  48, w6,  w29, 23);
5029    TEST_I5("addvi.b",  56, w7,  w11, 11);
5030    TEST_I5("addvi.b",  64, w8,  w17, 8);
5031    TEST_I5("addvi.b",  72, w9,  w13, 25);
5032    TEST_I5("addvi.b",  80, w10, w31, 2);
5033    TEST_I5("addvi.b",  88, w11, w24, 16);
5034    TEST_I5("addvi.b",  96, w12, w25, 7);
5035    TEST_I5("addvi.b", 104, w13, w8,  11);
5036    TEST_I5("addvi.b", 112, w14, w22, 7);
5037    TEST_I5("addvi.b", 120, w15, w6,  22);
5038    TEST_I5("addvi.b", 128, w16, w16, 31);
5039    TEST_I5("addvi.b", 136, w17, w17, 19);
5040    TEST_I5("addvi.b", 144, w18, w7,  27);
5041    TEST_I5("addvi.b", 152, w19, w30, 13);
5042    TEST_I5("addvi.b", 160, w20, w13, 26);
5043    TEST_I5("addvi.b", 168, w21, w12, 25);
5044    TEST_I5("addvi.b", 176, w22, w18, 17);
5045    TEST_I5("addvi.b", 184, w23, w13, 10);
5046    TEST_I5("addvi.b", 192, w24, w16, 18);
5047    TEST_I5("addvi.b", 200, w25, w8,  8);
5048    TEST_I5("addvi.b", 208, w26, w14, 14);
5049    TEST_I5("addvi.b", 216, w27, w28, 13);
5050    TEST_I5("addvi.b", 224, w28, w0,  20);
5051    TEST_I5("addvi.b", 232, w29, w28, 6);
5052    TEST_I5("addvi.b", 240, w30, w9,  0);
5053    TEST_I5("addvi.b",  24, w31, w3,  20);
5054    TEST_I5("addvi.h",   0, w0,  w19, 13);
5055    TEST_I5("addvi.h",   8, w1,  w15, 17);
5056    TEST_I5("addvi.h",  16, w2,  w27, 25);
5057    TEST_I5("addvi.h",  24, w3,  w19, 19);
5058    TEST_I5("addvi.h",  32, w4,  w1,  9);
5059    TEST_I5("addvi.h",  40, w5,  w15, 18);
5060    TEST_I5("addvi.h",  48, w6,  w3,  26);
5061    TEST_I5("addvi.h",  56, w7,  w10, 9);
5062    TEST_I5("addvi.h",  64, w8,  w15, 12);
5063    TEST_I5("addvi.h",  72, w9,  w16, 8);
5064    TEST_I5("addvi.h",  80, w10, w4,  21);
5065    TEST_I5("addvi.h",  88, w11, w5,  13);
5066    TEST_I5("addvi.h",  96, w12, w22, 24);
5067    TEST_I5("addvi.h", 104, w13, w15, 11);
5068    TEST_I5("addvi.h", 112, w14, w23, 12);
5069    TEST_I5("addvi.h", 120, w15, w26, 27);
5070    TEST_I5("addvi.h", 128, w16, w16, 30);
5071    TEST_I5("addvi.h", 136, w17, w17, 31);
5072    TEST_I5("addvi.h", 144, w18, w30, 15);
5073    TEST_I5("addvi.h", 152, w19, w9,  30);
5074    TEST_I5("addvi.h", 160, w20, w19, 18);
5075    TEST_I5("addvi.h", 168, w21, w27, 26);
5076    TEST_I5("addvi.h", 176, w22, w17, 17);
5077    TEST_I5("addvi.h", 184, w23, w30, 3);
5078    TEST_I5("addvi.h", 192, w24, w22, 9);
5079    TEST_I5("addvi.h", 200, w25, w1,  2);
5080    TEST_I5("addvi.h", 208, w26, w14, 4);
5081    TEST_I5("addvi.h", 216, w27, w9,  25);
5082    TEST_I5("addvi.h", 224, w28, w8,  8);
5083    TEST_I5("addvi.h", 232, w29, w17, 6);
5084    TEST_I5("addvi.h", 240, w30, w5,  21);
5085    TEST_I5("addvi.h",  32, w31, w23, 8);
5086    TEST_I5("addvi.w",   0, w0,  w19, 18);
5087    TEST_I5("addvi.w",   8, w1,  w14, 8);
5088    TEST_I5("addvi.w",  16, w2,  w12, 10);
5089    TEST_I5("addvi.w",  24, w3,  w0,  24);
5090    TEST_I5("addvi.w",  32, w4,  w15, 1);
5091    TEST_I5("addvi.w",  40, w5,  w29, 10);
5092    TEST_I5("addvi.w",  48, w6,  w9,  27);
5093    TEST_I5("addvi.w",  56, w7,  w28, 29);
5094    TEST_I5("addvi.w",  64, w8,  w0,  19);
5095    TEST_I5("addvi.w",  72, w9,  w23, 27);
5096    TEST_I5("addvi.w",  80, w10, w8,  28);
5097    TEST_I5("addvi.w",  88, w11, w10, 20);
5098    TEST_I5("addvi.w",  96, w12, w22, 30);
5099    TEST_I5("addvi.w", 104, w13, w23, 22);
5100    TEST_I5("addvi.w", 112, w14, w6,  3);
5101    TEST_I5("addvi.w", 120, w15, w21, 12);
5102    TEST_I5("addvi.w", 128, w16, w16, 12);
5103    TEST_I5("addvi.w", 136, w17, w17, 9);
5104    TEST_I5("addvi.w", 144, w18, w10, 29);
5105    TEST_I5("addvi.w", 152, w19, w12, 21);
5106    TEST_I5("addvi.w", 160, w20, w18, 29);
5107    TEST_I5("addvi.w", 168, w21, w12, 8);
5108    TEST_I5("addvi.w", 176, w22, w23, 24);
5109    TEST_I5("addvi.w", 184, w23, w11, 23);
5110    TEST_I5("addvi.w", 192, w24, w9,  7);
5111    TEST_I5("addvi.w", 200, w25, w31, 14);
5112    TEST_I5("addvi.w", 208, w26, w23, 3);
5113    TEST_I5("addvi.w", 216, w27, w24, 16);
5114    TEST_I5("addvi.w", 224, w28, w21, 26);
5115    TEST_I5("addvi.w", 232, w29, w19, 23);
5116    TEST_I5("addvi.w", 240, w30, w8,  15);
5117    TEST_I5("addvi.w", 184, w31, w5,  4);
5118    TEST_I5("addvi.d",   0, w0,  w14, 5);
5119    TEST_I5("addvi.d",   8, w1,  w26, 28);
5120    TEST_I5("addvi.d",  16, w2,  w3,  4);
5121    TEST_I5("addvi.d",  24, w3,  w24, 26);
5122    TEST_I5("addvi.d",  32, w4,  w14, 18);
5123    TEST_I5("addvi.d",  40, w5,  w17, 29);
5124    TEST_I5("addvi.d",  48, w6,  w31, 22);
5125    TEST_I5("addvi.d",  56, w7,  w22, 3);
5126    TEST_I5("addvi.d",  64, w8,  w1,  8);
5127    TEST_I5("addvi.d",  72, w9,  w24, 22);
5128    TEST_I5("addvi.d",  80, w10, w6,  27);
5129    TEST_I5("addvi.d",  88, w11, w0,  24);
5130    TEST_I5("addvi.d",  96, w12, w4,  28);
5131    TEST_I5("addvi.d", 104, w13, w7,  14);
5132    TEST_I5("addvi.d", 112, w14, w1,  3);
5133    TEST_I5("addvi.d", 120, w15, w19, 9);
5134    TEST_I5("addvi.d", 128, w16, w16, 27);
5135    TEST_I5("addvi.d", 136, w17, w17, 8);
5136    TEST_I5("addvi.d", 144, w18, w22, 22);
5137    TEST_I5("addvi.d", 152, w19, w31, 23);
5138    TEST_I5("addvi.d", 160, w20, w5,  15);
5139    TEST_I5("addvi.d", 168, w21, w15, 21);
5140    TEST_I5("addvi.d", 176, w22, w28, 22);
5141    TEST_I5("addvi.d", 184, w23, w1,  26);
5142    TEST_I5("addvi.d", 192, w24, w12, 1);
5143    TEST_I5("addvi.d", 200, w25, w14, 2);
5144    TEST_I5("addvi.d", 208, w26, w31, 21);
5145    TEST_I5("addvi.d", 216, w27, w2,  2);
5146    TEST_I5("addvi.d", 224, w28, w10, 24);
5147    TEST_I5("addvi.d", 232, w29, w9,  15);
5148    TEST_I5("addvi.d", 240, w30, w14, 30);
5149    TEST_I5("addvi.d", 152, w31, w29, 19);
5150    TEST_I5("maxi_s.b",   0, w0,  w7,  -12);
5151    TEST_I5("maxi_s.b",   8, w1,  w21, -10);
5152    TEST_I5("maxi_s.b",  16, w2,  w21, 12);
5153    TEST_I5("maxi_s.b",  24, w3,  w23, 2);
5154    TEST_I5("maxi_s.b",  32, w4,  w13, 12);
5155    TEST_I5("maxi_s.b",  40, w5,  w20, -10);
5156    TEST_I5("maxi_s.b",  48, w6,  w21, 4);
5157    TEST_I5("maxi_s.b",  56, w7,  w24, 2);
5158    TEST_I5("maxi_s.b",  64, w8,  w19, -5);
5159    TEST_I5("maxi_s.b",  72, w9,  w9,  -14);
5160    TEST_I5("maxi_s.b",  80, w10, w27, 12);
5161    TEST_I5("maxi_s.b",  88, w11, w30, 13);
5162    TEST_I5("maxi_s.b",  96, w12, w3,  -7);
5163    TEST_I5("maxi_s.b", 104, w13, w24, -11);
5164    TEST_I5("maxi_s.b", 112, w14, w15, 2);
5165    TEST_I5("maxi_s.b", 120, w15, w8,  -9);
5166    TEST_I5("maxi_s.b", 128, w16, w25, 9);
5167    TEST_I5("maxi_s.b", 136, w17, w13, 7);
5168    TEST_I5("maxi_s.b", 144, w18, w31, -8);
5169    TEST_I5("maxi_s.b", 152, w19, w11, -13);
5170    TEST_I5("maxi_s.b", 160, w20, w17, -14);
5171    TEST_I5("maxi_s.b", 168, w21, w31, -11);
5172    TEST_I5("maxi_s.b", 176, w22, w2,  -2);
5173    TEST_I5("maxi_s.b", 184, w23, w26, 4);
5174    TEST_I5("maxi_s.b", 192, w24, w9,  -10);
5175    TEST_I5("maxi_s.b", 200, w25, w17, -3);
5176    TEST_I5("maxi_s.b", 208, w26, w10, 15);
5177    TEST_I5("maxi_s.b", 216, w27, w27, -13);
5178    TEST_I5("maxi_s.b", 224, w28, w13, 10);
5179    TEST_I5("maxi_s.b", 232, w29, w12, -14);
5180    TEST_I5("maxi_s.b", 240, w30, w23, -10);
5181    TEST_I5("maxi_s.b", 104, w31, w9,  -8);
5182    TEST_I5("maxi_s.h",   0, w0,  w28, -6);
5183    TEST_I5("maxi_s.h",   8, w1,  w21, -12);
5184    TEST_I5("maxi_s.h",  16, w2,  w18, -3);
5185    TEST_I5("maxi_s.h",  24, w3,  w5,  6);
5186    TEST_I5("maxi_s.h",  32, w4,  w30, -13);
5187    TEST_I5("maxi_s.h",  40, w5,  w8,  -3);
5188    TEST_I5("maxi_s.h",  48, w6,  w11, -4);
5189    TEST_I5("maxi_s.h",  56, w7,  w5,  -9);
5190    TEST_I5("maxi_s.h",  64, w8,  w28, -3);
5191    TEST_I5("maxi_s.h",  72, w9,  w9,  -11);
5192    TEST_I5("maxi_s.h",  80, w10, w30, -3);
5193    TEST_I5("maxi_s.h",  88, w11, w27, 7);
5194    TEST_I5("maxi_s.h",  96, w12, w16, 11);
5195    TEST_I5("maxi_s.h", 104, w13, w2,  -9);
5196    TEST_I5("maxi_s.h", 112, w14, w3,  3);
5197    TEST_I5("maxi_s.h", 120, w15, w7,  15);
5198    TEST_I5("maxi_s.h", 128, w16, w20, 7);
5199    TEST_I5("maxi_s.h", 136, w17, w1,  12);
5200    TEST_I5("maxi_s.h", 144, w18, w21, 9);
5201    TEST_I5("maxi_s.h", 152, w19, w27, 9);
5202    TEST_I5("maxi_s.h", 160, w20, w9,  4);
5203    TEST_I5("maxi_s.h", 168, w21, w11, -12);
5204    TEST_I5("maxi_s.h", 176, w22, w9,  -10);
5205    TEST_I5("maxi_s.h", 184, w23, w7,  10);
5206    TEST_I5("maxi_s.h", 192, w24, w14, -15);
5207    TEST_I5("maxi_s.h", 200, w25, w28, 6);
5208    TEST_I5("maxi_s.h", 208, w26, w22, 8);
5209    TEST_I5("maxi_s.h", 216, w27, w27, 4);
5210    TEST_I5("maxi_s.h", 224, w28, w20, 10);
5211    TEST_I5("maxi_s.h", 232, w29, w13, -2);
5212    TEST_I5("maxi_s.h", 240, w30, w12, 7);
5213    TEST_I5("maxi_s.h", 168, w31, w24, -14);
5214    TEST_I5("maxi_s.w",   0, w0,  w25, 10);
5215    TEST_I5("maxi_s.w",   8, w1,  w0,  -14);
5216    TEST_I5("maxi_s.w",  16, w2,  w14, 0);
5217    TEST_I5("maxi_s.w",  24, w3,  w15, 15);
5218    TEST_I5("maxi_s.w",  32, w4,  w12, 5);
5219    TEST_I5("maxi_s.w",  40, w5,  w2,  -4);
5220    TEST_I5("maxi_s.w",  48, w6,  w23, 8);
5221    TEST_I5("maxi_s.w",  56, w7,  w17, 15);
5222    TEST_I5("maxi_s.w",  64, w8,  w31, 15);
5223    TEST_I5("maxi_s.w",  72, w9,  w9,  6);
5224    TEST_I5("maxi_s.w",  80, w10, w14, 9);
5225    TEST_I5("maxi_s.w",  88, w11, w9,  -11);
5226    TEST_I5("maxi_s.w",  96, w12, w4,  -8);
5227    TEST_I5("maxi_s.w", 104, w13, w6,  -11);
5228    TEST_I5("maxi_s.w", 112, w14, w22, -12);
5229    TEST_I5("maxi_s.w", 120, w15, w2,  9);
5230    TEST_I5("maxi_s.w", 128, w16, w5,  -11);
5231    TEST_I5("maxi_s.w", 136, w17, w28, 13);
5232    TEST_I5("maxi_s.w", 144, w18, w13, 12);
5233    TEST_I5("maxi_s.w", 152, w19, w13, 12);
5234    TEST_I5("maxi_s.w", 160, w20, w3,  0);
5235    TEST_I5("maxi_s.w", 168, w21, w28, 14);
5236    TEST_I5("maxi_s.w", 176, w22, w1,  -4);
5237    TEST_I5("maxi_s.w", 184, w23, w9,  -8);
5238    TEST_I5("maxi_s.w", 192, w24, w15, 4);
5239    TEST_I5("maxi_s.w", 200, w25, w19, -1);
5240    TEST_I5("maxi_s.w", 208, w26, w13, 15);
5241    TEST_I5("maxi_s.w", 216, w27, w27, 2);
5242    TEST_I5("maxi_s.w", 224, w28, w27, 0);
5243    TEST_I5("maxi_s.w", 232, w29, w8,  5);
5244    TEST_I5("maxi_s.w", 240, w30, w29, 9);
5245    TEST_I5("maxi_s.w", 160, w31, w11, 5);
5246    TEST_I5("maxi_s.d",   0, w0,  w23, -12);
5247    TEST_I5("maxi_s.d",   8, w1,  w0,  -4);
5248    TEST_I5("maxi_s.d",  16, w2,  w15, -16);
5249    TEST_I5("maxi_s.d",  24, w3,  w17, 0);
5250    TEST_I5("maxi_s.d",  32, w4,  w16, -14);
5251    TEST_I5("maxi_s.d",  40, w5,  w11, 2);
5252    TEST_I5("maxi_s.d",  48, w6,  w19, -7);
5253    TEST_I5("maxi_s.d",  56, w7,  w16, 11);
5254    TEST_I5("maxi_s.d",  64, w8,  w0,  13);
5255    TEST_I5("maxi_s.d",  72, w9,  w9,  8);
5256    TEST_I5("maxi_s.d",  80, w10, w14, 12);
5257    TEST_I5("maxi_s.d",  88, w11, w15, -8);
5258    TEST_I5("maxi_s.d",  96, w12, w30, -7);
5259    TEST_I5("maxi_s.d", 104, w13, w1,  9);
5260    TEST_I5("maxi_s.d", 112, w14, w17, 12);
5261    TEST_I5("maxi_s.d", 120, w15, w20, 2);
5262    TEST_I5("maxi_s.d", 128, w16, w6,  -11);
5263    TEST_I5("maxi_s.d", 136, w17, w5,  5);
5264    TEST_I5("maxi_s.d", 144, w18, w13, 0);
5265    TEST_I5("maxi_s.d", 152, w19, w13, -3);
5266    TEST_I5("maxi_s.d", 160, w20, w5,  -7);
5267    TEST_I5("maxi_s.d", 168, w21, w1,  -12);
5268    TEST_I5("maxi_s.d", 176, w22, w10, 6);
5269    TEST_I5("maxi_s.d", 184, w23, w19, 9);
5270    TEST_I5("maxi_s.d", 192, w24, w12, -4);
5271    TEST_I5("maxi_s.d", 200, w25, w8,  -6);
5272    TEST_I5("maxi_s.d", 208, w26, w29, 11);
5273    TEST_I5("maxi_s.d", 216, w27, w27, -13);
5274    TEST_I5("maxi_s.d", 224, w28, w22, 0);
5275    TEST_I5("maxi_s.d", 232, w29, w18, 13);
5276    TEST_I5("maxi_s.d", 240, w30, w6,  -13);
5277    TEST_I5("maxi_s.d",   8, w31, w9,  -12);
5278    TEST_I5("maxi_u.b",   0, w0,  w28, 13);
5279    TEST_I5("maxi_u.b",   8, w1,  w31, 25);
5280    TEST_I5("maxi_u.b",  16, w2,  w21, 3);
5281    TEST_I5("maxi_u.b",  24, w3,  w15, 31);
5282    TEST_I5("maxi_u.b",  32, w4,  w14, 21);
5283    TEST_I5("maxi_u.b",  40, w5,  w2,  7);
5284    TEST_I5("maxi_u.b",  48, w6,  w4,  24);
5285    TEST_I5("maxi_u.b",  56, w7,  w23, 11);
5286    TEST_I5("maxi_u.b",  64, w8,  w17, 28);
5287    TEST_I5("maxi_u.b",  72, w9,  w5,  24);
5288    TEST_I5("maxi_u.b",  80, w10, w10, 9);
5289    TEST_I5("maxi_u.b",  88, w11, w23, 30);
5290    TEST_I5("maxi_u.b",  96, w12, w13, 14);
5291    TEST_I5("maxi_u.b", 104, w13, w0,  28);
5292    TEST_I5("maxi_u.b", 112, w14, w14, 23);
5293    TEST_I5("maxi_u.b", 120, w15, w4,  29);
5294    TEST_I5("maxi_u.b", 128, w16, w11, 1);
5295    TEST_I5("maxi_u.b", 136, w17, w25, 8);
5296    TEST_I5("maxi_u.b", 144, w18, w16, 2);
5297    TEST_I5("maxi_u.b", 152, w19, w1,  30);
5298    TEST_I5("maxi_u.b", 160, w20, w6,  9);
5299    TEST_I5("maxi_u.b", 168, w21, w22, 18);
5300    TEST_I5("maxi_u.b", 176, w22, w13, 17);
5301    TEST_I5("maxi_u.b", 184, w23, w26, 31);
5302    TEST_I5("maxi_u.b", 192, w24, w26, 27);
5303    TEST_I5("maxi_u.b", 200, w25, w17, 26);
5304    TEST_I5("maxi_u.b", 208, w26, w15, 0);
5305    TEST_I5("maxi_u.b", 216, w27, w16, 29);
5306    TEST_I5("maxi_u.b", 224, w28, w25, 13);
5307    TEST_I5("maxi_u.b", 232, w29, w13, 14);
5308    TEST_I5("maxi_u.b", 240, w30, w27, 4);
5309    TEST_I5("maxi_u.b", 192, w31, w20, 23);
5310    TEST_I5("maxi_u.h",   0, w0,  w20, 27);
5311    TEST_I5("maxi_u.h",   8, w1,  w10, 7);
5312    TEST_I5("maxi_u.h",  16, w2,  w22, 2);
5313    TEST_I5("maxi_u.h",  24, w3,  w7,  29);
5314    TEST_I5("maxi_u.h",  32, w4,  w22, 29);
5315    TEST_I5("maxi_u.h",  40, w5,  w7,  26);
5316    TEST_I5("maxi_u.h",  48, w6,  w0,  8);
5317    TEST_I5("maxi_u.h",  56, w7,  w13, 22);
5318    TEST_I5("maxi_u.h",  64, w8,  w24, 12);
5319    TEST_I5("maxi_u.h",  72, w9,  w13, 3);
5320    TEST_I5("maxi_u.h",  80, w10, w10, 14);
5321    TEST_I5("maxi_u.h",  88, w11, w10, 18);
5322    TEST_I5("maxi_u.h",  96, w12, w0,  21);
5323    TEST_I5("maxi_u.h", 104, w13, w7,  18);
5324    TEST_I5("maxi_u.h", 112, w14, w14, 30);
5325    TEST_I5("maxi_u.h", 120, w15, w14, 9);
5326    TEST_I5("maxi_u.h", 128, w16, w9,  2);
5327    TEST_I5("maxi_u.h", 136, w17, w18, 8);
5328    TEST_I5("maxi_u.h", 144, w18, w26, 19);
5329    TEST_I5("maxi_u.h", 152, w19, w6,  13);
5330    TEST_I5("maxi_u.h", 160, w20, w10, 16);
5331    TEST_I5("maxi_u.h", 168, w21, w28, 21);
5332    TEST_I5("maxi_u.h", 176, w22, w8,  29);
5333    TEST_I5("maxi_u.h", 184, w23, w29, 30);
5334    TEST_I5("maxi_u.h", 192, w24, w15, 12);
5335    TEST_I5("maxi_u.h", 200, w25, w30, 21);
5336    TEST_I5("maxi_u.h", 208, w26, w7,  24);
5337    TEST_I5("maxi_u.h", 216, w27, w25, 20);
5338    TEST_I5("maxi_u.h", 224, w28, w1,  9);
5339    TEST_I5("maxi_u.h", 232, w29, w20, 11);
5340    TEST_I5("maxi_u.h", 240, w30, w2,  28);
5341    TEST_I5("maxi_u.h", 128, w31, w30, 22);
5342    TEST_I5("maxi_u.w",   0, w0,  w4,  16);
5343    TEST_I5("maxi_u.w",   8, w1,  w19, 15);
5344    TEST_I5("maxi_u.w",  16, w2,  w16, 27);
5345    TEST_I5("maxi_u.w",  24, w3,  w14, 17);
5346    TEST_I5("maxi_u.w",  32, w4,  w21, 9);
5347    TEST_I5("maxi_u.w",  40, w5,  w14, 29);
5348    TEST_I5("maxi_u.w",  48, w6,  w15, 7);
5349    TEST_I5("maxi_u.w",  56, w7,  w4,  18);
5350    TEST_I5("maxi_u.w",  64, w8,  w6,  14);
5351    TEST_I5("maxi_u.w",  72, w9,  w4,  5);
5352    TEST_I5("maxi_u.w",  80, w10, w10, 23);
5353    TEST_I5("maxi_u.w",  88, w11, w22, 24);
5354    TEST_I5("maxi_u.w",  96, w12, w9,  8);
5355    TEST_I5("maxi_u.w", 104, w13, w28, 22);
5356    TEST_I5("maxi_u.w", 112, w14, w14, 20);
5357    TEST_I5("maxi_u.w", 120, w15, w3,  22);
5358    TEST_I5("maxi_u.w", 128, w16, w12, 20);
5359    TEST_I5("maxi_u.w", 136, w17, w9,  16);
5360    TEST_I5("maxi_u.w", 144, w18, w13, 3);
5361    TEST_I5("maxi_u.w", 152, w19, w15, 23);
5362    TEST_I5("maxi_u.w", 160, w20, w2,  22);
5363    TEST_I5("maxi_u.w", 168, w21, w14, 12);
5364    TEST_I5("maxi_u.w", 176, w22, w17, 12);
5365    TEST_I5("maxi_u.w", 184, w23, w25, 30);
5366    TEST_I5("maxi_u.w", 192, w24, w15, 1);
5367    TEST_I5("maxi_u.w", 200, w25, w27, 21);
5368    TEST_I5("maxi_u.w", 208, w26, w15, 30);
5369    TEST_I5("maxi_u.w", 216, w27, w23, 12);
5370    TEST_I5("maxi_u.w", 224, w28, w16, 31);
5371    TEST_I5("maxi_u.w", 232, w29, w31, 23);
5372    TEST_I5("maxi_u.w", 240, w30, w2,  5);
5373    TEST_I5("maxi_u.w", 104, w31, w27, 20);
5374    TEST_I5("maxi_u.d",   0, w0,  w6,  11);
5375    TEST_I5("maxi_u.d",   8, w1,  w8,  17);
5376    TEST_I5("maxi_u.d",  16, w2,  w7,  6);
5377    TEST_I5("maxi_u.d",  24, w3,  w22, 4);
5378    TEST_I5("maxi_u.d",  32, w4,  w14, 16);
5379    TEST_I5("maxi_u.d",  40, w5,  w30, 29);
5380    TEST_I5("maxi_u.d",  48, w6,  w26, 31);
5381    TEST_I5("maxi_u.d",  56, w7,  w13, 27);
5382    TEST_I5("maxi_u.d",  64, w8,  w12, 16);
5383    TEST_I5("maxi_u.d",  72, w9,  w14, 22);
5384    TEST_I5("maxi_u.d",  80, w10, w10, 18);
5385    TEST_I5("maxi_u.d",  88, w11, w30, 25);
5386    TEST_I5("maxi_u.d",  96, w12, w20, 15);
5387    TEST_I5("maxi_u.d", 104, w13, w0,  20);
5388    TEST_I5("maxi_u.d", 112, w14, w14, 16);
5389    TEST_I5("maxi_u.d", 120, w15, w27, 0);
5390    TEST_I5("maxi_u.d", 128, w16, w25, 7);
5391    TEST_I5("maxi_u.d", 136, w17, w24, 20);
5392    TEST_I5("maxi_u.d", 144, w18, w19, 28);
5393    TEST_I5("maxi_u.d", 152, w19, w27, 12);
5394    TEST_I5("maxi_u.d", 160, w20, w10, 13);
5395    TEST_I5("maxi_u.d", 168, w21, w2,  31);
5396    TEST_I5("maxi_u.d", 176, w22, w1,  24);
5397    TEST_I5("maxi_u.d", 184, w23, w21, 8);
5398    TEST_I5("maxi_u.d", 192, w24, w21, 5);
5399    TEST_I5("maxi_u.d", 200, w25, w10, 1);
5400    TEST_I5("maxi_u.d", 208, w26, w29, 26);
5401    TEST_I5("maxi_u.d", 216, w27, w10, 18);
5402    TEST_I5("maxi_u.d", 224, w28, w5,  6);
5403    TEST_I5("maxi_u.d", 232, w29, w11, 1);
5404    TEST_I5("maxi_u.d", 240, w30, w18, 11);
5405    TEST_I5("maxi_u.d",  72, w31, w0,  26);
5406    TEST_I5("mini_s.b",   0, w0,  w2,  -11);
5407    TEST_I5("mini_s.b",   8, w1,  w12, -10);
5408    TEST_I5("mini_s.b",  16, w2,  w9,  -16);
5409    TEST_I5("mini_s.b",  24, w3,  w19, 3);
5410    TEST_I5("mini_s.b",  32, w4,  w24, 9);
5411    TEST_I5("mini_s.b",  40, w5,  w4,  10);
5412    TEST_I5("mini_s.b",  48, w6,  w22, -10);
5413    TEST_I5("mini_s.b",  56, w7,  w22, -16);
5414    TEST_I5("mini_s.b",  64, w8,  w22, 14);
5415    TEST_I5("mini_s.b",  72, w9,  w14, 11);
5416    TEST_I5("mini_s.b",  80, w10, w14, 8);
5417    TEST_I5("mini_s.b",  88, w11, w19, -11);
5418    TEST_I5("mini_s.b",  96, w12, w26, -1);
5419    TEST_I5("mini_s.b", 104, w13, w3,  -14);
5420    TEST_I5("mini_s.b", 112, w14, w24, 11);
5421    TEST_I5("mini_s.b", 120, w15, w26, 15);
5422    TEST_I5("mini_s.b", 128, w16, w3,  5);
5423    TEST_I5("mini_s.b", 136, w17, w1,  -4);
5424    TEST_I5("mini_s.b", 144, w18, w21, -14);
5425    TEST_I5("mini_s.b", 152, w19, w0,  0);
5426    TEST_I5("mini_s.b", 160, w20, w24, 14);
5427    TEST_I5("mini_s.b", 168, w21, w18, 1);
5428    TEST_I5("mini_s.b", 176, w22, w24, -5);
5429    TEST_I5("mini_s.b", 184, w23, w7,  -10);
5430    TEST_I5("mini_s.b", 192, w24, w24, 10);
5431    TEST_I5("mini_s.b", 200, w25, w19, 4);
5432    TEST_I5("mini_s.b", 208, w26, w4,  11);
5433    TEST_I5("mini_s.b", 216, w27, w25, -14);
5434    TEST_I5("mini_s.b", 224, w28, w5,  -7);
5435    TEST_I5("mini_s.b", 232, w29, w7,  -2);
5436    TEST_I5("mini_s.b", 240, w30, w30, -2);
5437    TEST_I5("mini_s.b", 192, w31, w23, -2);
5438    TEST_I5("mini_s.h",   0, w0,  w25, -9);
5439    TEST_I5("mini_s.h",   8, w1,  w17, 2);
5440    TEST_I5("mini_s.h",  16, w2,  w25, 8);
5441    TEST_I5("mini_s.h",  24, w3,  w1,  -8);
5442    TEST_I5("mini_s.h",  32, w4,  w21, -4);
5443    TEST_I5("mini_s.h",  40, w5,  w13, -11);
5444    TEST_I5("mini_s.h",  48, w6,  w5,  -5);
5445    TEST_I5("mini_s.h",  56, w7,  w19, 2);
5446    TEST_I5("mini_s.h",  64, w8,  w1,  -6);
5447    TEST_I5("mini_s.h",  72, w9,  w7,  15);
5448    TEST_I5("mini_s.h",  80, w10, w0,  -10);
5449    TEST_I5("mini_s.h",  88, w11, w18, 9);
5450    TEST_I5("mini_s.h",  96, w12, w11, 13);
5451    TEST_I5("mini_s.h", 104, w13, w17, 15);
5452    TEST_I5("mini_s.h", 112, w14, w29, 4);
5453    TEST_I5("mini_s.h", 120, w15, w3,  -15);
5454    TEST_I5("mini_s.h", 128, w16, w4,  -9);
5455    TEST_I5("mini_s.h", 136, w17, w7,  10);
5456    TEST_I5("mini_s.h", 144, w18, w19, 11);
5457    TEST_I5("mini_s.h", 152, w19, w13, -14);
5458    TEST_I5("mini_s.h", 160, w20, w22, -13);
5459    TEST_I5("mini_s.h", 168, w21, w6,  -2);
5460    TEST_I5("mini_s.h", 176, w22, w0,  15);
5461    TEST_I5("mini_s.h", 184, w23, w14, 13);
5462    TEST_I5("mini_s.h", 192, w24, w24, -3);
5463    TEST_I5("mini_s.h", 200, w25, w0,  -2);
5464    TEST_I5("mini_s.h", 208, w26, w5,  5);
5465    TEST_I5("mini_s.h", 216, w27, w12, -1);
5466    TEST_I5("mini_s.h", 224, w28, w0,  -6);
5467    TEST_I5("mini_s.h", 232, w29, w13, 4);
5468    TEST_I5("mini_s.h", 240, w30, w30, -3);
5469    TEST_I5("mini_s.h", 104, w31, w3,  0);
5470    TEST_I5("mini_s.w",   0, w0,  w23, -11);
5471    TEST_I5("mini_s.w",   8, w1,  w5,  -11);
5472    TEST_I5("mini_s.w",  16, w2,  w19, -14);
5473    TEST_I5("mini_s.w",  24, w3,  w23, -14);
5474    TEST_I5("mini_s.w",  32, w4,  w29, -9);
5475    TEST_I5("mini_s.w",  40, w5,  w10, 4);
5476    TEST_I5("mini_s.w",  48, w6,  w10, 4);
5477    TEST_I5("mini_s.w",  56, w7,  w15, -15);
5478    TEST_I5("mini_s.w",  64, w8,  w3,  -11);
5479    TEST_I5("mini_s.w",  72, w9,  w6,  -2);
5480    TEST_I5("mini_s.w",  80, w10, w29, 4);
5481    TEST_I5("mini_s.w",  88, w11, w3,  3);
5482    TEST_I5("mini_s.w",  96, w12, w8,  12);
5483    TEST_I5("mini_s.w", 104, w13, w10, -1);
5484    TEST_I5("mini_s.w", 112, w14, w12, -14);
5485    TEST_I5("mini_s.w", 120, w15, w20, -6);
5486    TEST_I5("mini_s.w", 128, w16, w8,  -14);
5487    TEST_I5("mini_s.w", 136, w17, w28, -11);
5488    TEST_I5("mini_s.w", 144, w18, w29, 4);
5489    TEST_I5("mini_s.w", 152, w19, w2,  4);
5490    TEST_I5("mini_s.w", 160, w20, w17, 8);
5491    TEST_I5("mini_s.w", 168, w21, w5,  -14);
5492    TEST_I5("mini_s.w", 176, w22, w24, 14);
5493    TEST_I5("mini_s.w", 184, w23, w2,  2);
5494    TEST_I5("mini_s.w", 192, w24, w24, 13);
5495    TEST_I5("mini_s.w", 200, w25, w2,  1);
5496    TEST_I5("mini_s.w", 208, w26, w29, 9);
5497    TEST_I5("mini_s.w", 216, w27, w3,  5);
5498    TEST_I5("mini_s.w", 224, w28, w24, 3);
5499    TEST_I5("mini_s.w", 232, w29, w16, 10);
5500    TEST_I5("mini_s.w", 240, w30, w30, 5);
5501    TEST_I5("mini_s.w", 104, w31, w15, -10);
5502    TEST_I5("mini_s.d",   0, w0,  w6,  -6);
5503    TEST_I5("mini_s.d",   8, w1,  w8,  1);
5504    TEST_I5("mini_s.d",  16, w2,  w7,  -14);
5505    TEST_I5("mini_s.d",  24, w3,  w25, 15);
5506    TEST_I5("mini_s.d",  32, w4,  w27, 1);
5507    TEST_I5("mini_s.d",  40, w5,  w25, -6);
5508    TEST_I5("mini_s.d",  48, w6,  w28, -16);
5509    TEST_I5("mini_s.d",  56, w7,  w20, 3);
5510    TEST_I5("mini_s.d",  64, w8,  w4,  -8);
5511    TEST_I5("mini_s.d",  72, w9,  w19, -1);
5512    TEST_I5("mini_s.d",  80, w10, w30, 10);
5513    TEST_I5("mini_s.d",  88, w11, w8,  14);
5514    TEST_I5("mini_s.d",  96, w12, w25, -3);
5515    TEST_I5("mini_s.d", 104, w13, w4,  -10);
5516    TEST_I5("mini_s.d", 112, w14, w27, -10);
5517    TEST_I5("mini_s.d", 120, w15, w12, -1);
5518    TEST_I5("mini_s.d", 128, w16, w22, 6);
5519    TEST_I5("mini_s.d", 136, w17, w10, -7);
5520    TEST_I5("mini_s.d", 144, w18, w15, 2);
5521    TEST_I5("mini_s.d", 152, w19, w2,  -15);
5522    TEST_I5("mini_s.d", 160, w20, w1,  11);
5523    TEST_I5("mini_s.d", 168, w21, w9,  9);
5524    TEST_I5("mini_s.d", 176, w22, w3,  13);
5525    TEST_I5("mini_s.d", 184, w23, w30, 9);
5526    TEST_I5("mini_s.d", 192, w24, w24, 15);
5527    TEST_I5("mini_s.d", 200, w25, w5,  -1);
5528    TEST_I5("mini_s.d", 208, w26, w28, -8);
5529    TEST_I5("mini_s.d", 216, w27, w18, 12);
5530    TEST_I5("mini_s.d", 224, w28, w10, -2);
5531    TEST_I5("mini_s.d", 232, w29, w13, -7);
5532    TEST_I5("mini_s.d", 240, w30, w30, -1);
5533    TEST_I5("mini_s.d",  24, w31, w14, 7);
5534    TEST_I5("mini_u.b",   0, w0,  w17, 18);
5535    TEST_I5("mini_u.b",   8, w1,  w17, 26);
5536    TEST_I5("mini_u.b",  16, w2,  w24, 9);
5537    TEST_I5("mini_u.b",  24, w3,  w20, 17);
5538    TEST_I5("mini_u.b",  32, w4,  w6,  1);
5539    TEST_I5("mini_u.b",  40, w5,  w2,  15);
5540    TEST_I5("mini_u.b",  48, w6,  w11, 29);
5541    TEST_I5("mini_u.b",  56, w7,  w25, 21);
5542    TEST_I5("mini_u.b",  64, w8,  w19, 15);
5543    TEST_I5("mini_u.b",  72, w9,  w6,  8);
5544    TEST_I5("mini_u.b",  80, w10, w23, 8);
5545    TEST_I5("mini_u.b",  88, w11, w4,  19);
5546    TEST_I5("mini_u.b",  96, w12, w13, 16);
5547    TEST_I5("mini_u.b", 104, w13, w30, 31);
5548    TEST_I5("mini_u.b", 112, w14, w16, 1);
5549    TEST_I5("mini_u.b", 120, w15, w0,  12);
5550    TEST_I5("mini_u.b", 128, w16, w0,  5);
5551    TEST_I5("mini_u.b", 136, w17, w10, 25);
5552    TEST_I5("mini_u.b", 144, w18, w18, 28);
5553    TEST_I5("mini_u.b", 152, w19, w31, 4);
5554    TEST_I5("mini_u.b", 160, w20, w22, 31);
5555    TEST_I5("mini_u.b", 168, w21, w30, 17);
5556    TEST_I5("mini_u.b", 176, w22, w2,  1);
5557    TEST_I5("mini_u.b", 184, w23, w0,  9);
5558    TEST_I5("mini_u.b", 192, w24, w31, 20);
5559    TEST_I5("mini_u.b", 200, w25, w0,  23);
5560    TEST_I5("mini_u.b", 208, w26, w26, 14);
5561    TEST_I5("mini_u.b", 216, w27, w12, 5);
5562    TEST_I5("mini_u.b", 224, w28, w18, 18);
5563    TEST_I5("mini_u.b", 232, w29, w11, 14);
5564    TEST_I5("mini_u.b", 240, w30, w10, 18);
5565    TEST_I5("mini_u.b",  88, w31, w0,  18);
5566    TEST_I5("mini_u.h",   0, w0,  w8,  15);
5567    TEST_I5("mini_u.h",   8, w1,  w10, 30);
5568    TEST_I5("mini_u.h",  16, w2,  w17, 5);
5569    TEST_I5("mini_u.h",  24, w3,  w26, 28);
5570    TEST_I5("mini_u.h",  32, w4,  w14, 19);
5571    TEST_I5("mini_u.h",  40, w5,  w28, 11);
5572    TEST_I5("mini_u.h",  48, w6,  w2,  12);
5573    TEST_I5("mini_u.h",  56, w7,  w20, 2);
5574    TEST_I5("mini_u.h",  64, w8,  w30, 20);
5575    TEST_I5("mini_u.h",  72, w9,  w30, 6);
5576    TEST_I5("mini_u.h",  80, w10, w28, 11);
5577    TEST_I5("mini_u.h",  88, w11, w12, 29);
5578    TEST_I5("mini_u.h",  96, w12, w23, 23);
5579    TEST_I5("mini_u.h", 104, w13, w1,  6);
5580    TEST_I5("mini_u.h", 112, w14, w12, 2);
5581    TEST_I5("mini_u.h", 120, w15, w4,  4);
5582    TEST_I5("mini_u.h", 128, w16, w13, 24);
5583    TEST_I5("mini_u.h", 136, w17, w2,  26);
5584    TEST_I5("mini_u.h", 144, w18, w18, 2);
5585    TEST_I5("mini_u.h", 152, w19, w15, 27);
5586    TEST_I5("mini_u.h", 160, w20, w21, 29);
5587    TEST_I5("mini_u.h", 168, w21, w0,  9);
5588    TEST_I5("mini_u.h", 176, w22, w9,  0);
5589    TEST_I5("mini_u.h", 184, w23, w28, 1);
5590    TEST_I5("mini_u.h", 192, w24, w2,  31);
5591    TEST_I5("mini_u.h", 200, w25, w4,  18);
5592    TEST_I5("mini_u.h", 208, w26, w26, 7);
5593    TEST_I5("mini_u.h", 216, w27, w9,  28);
5594    TEST_I5("mini_u.h", 224, w28, w1,  28);
5595    TEST_I5("mini_u.h", 232, w29, w2,  11);
5596    TEST_I5("mini_u.h", 240, w30, w1,  0);
5597    TEST_I5("mini_u.h",  32, w31, w28, 1);
5598    TEST_I5("mini_u.w",   0, w0,  w27, 8);
5599    TEST_I5("mini_u.w",   8, w1,  w27, 2);
5600    TEST_I5("mini_u.w",  16, w2,  w4,  3);
5601    TEST_I5("mini_u.w",  24, w3,  w6,  2);
5602    TEST_I5("mini_u.w",  32, w4,  w11, 10);
5603    TEST_I5("mini_u.w",  40, w5,  w20, 6);
5604    TEST_I5("mini_u.w",  48, w6,  w21, 30);
5605    TEST_I5("mini_u.w",  56, w7,  w17, 23);
5606    TEST_I5("mini_u.w",  64, w8,  w28, 12);
5607    TEST_I5("mini_u.w",  72, w9,  w29, 30);
5608    TEST_I5("mini_u.w",  80, w10, w1,  8);
5609    TEST_I5("mini_u.w",  88, w11, w9,  10);
5610    TEST_I5("mini_u.w",  96, w12, w14, 14);
5611    TEST_I5("mini_u.w", 104, w13, w20, 16);
5612    TEST_I5("mini_u.w", 112, w14, w31, 26);
5613    TEST_I5("mini_u.w", 120, w15, w19, 1);
5614    TEST_I5("mini_u.w", 128, w16, w9,  31);
5615    TEST_I5("mini_u.w", 136, w17, w26, 23);
5616    TEST_I5("mini_u.w", 144, w18, w18, 3);
5617    TEST_I5("mini_u.w", 152, w19, w20, 1);
5618    TEST_I5("mini_u.w", 160, w20, w18, 27);
5619    TEST_I5("mini_u.w", 168, w21, w26, 15);
5620    TEST_I5("mini_u.w", 176, w22, w5,  0);
5621    TEST_I5("mini_u.w", 184, w23, w19, 28);
5622    TEST_I5("mini_u.w", 192, w24, w3,  20);
5623    TEST_I5("mini_u.w", 200, w25, w30, 14);
5624    TEST_I5("mini_u.w", 208, w26, w26, 8);
5625    TEST_I5("mini_u.w", 216, w27, w31, 25);
5626    TEST_I5("mini_u.w", 224, w28, w30, 10);
5627    TEST_I5("mini_u.w", 232, w29, w20, 28);
5628    TEST_I5("mini_u.w", 240, w30, w23, 10);
5629    TEST_I5("mini_u.w",   0, w31, w25, 26);
5630    TEST_I5("mini_u.d",   0, w0,  w9,  3);
5631    TEST_I5("mini_u.d",   8, w1,  w14, 26);
5632    TEST_I5("mini_u.d",  16, w2,  w4,  21);
5633    TEST_I5("mini_u.d",  24, w3,  w0,  16);
5634    TEST_I5("mini_u.d",  32, w4,  w20, 31);
5635    TEST_I5("mini_u.d",  40, w5,  w28, 22);
5636    TEST_I5("mini_u.d",  48, w6,  w21, 8);
5637    TEST_I5("mini_u.d",  56, w7,  w0,  17);
5638    TEST_I5("mini_u.d",  64, w8,  w28, 14);
5639    TEST_I5("mini_u.d",  72, w9,  w6,  29);
5640    TEST_I5("mini_u.d",  80, w10, w0,  7);
5641    TEST_I5("mini_u.d",  88, w11, w19, 21);
5642    TEST_I5("mini_u.d",  96, w12, w13, 23);
5643    TEST_I5("mini_u.d", 104, w13, w3,  28);
5644    TEST_I5("mini_u.d", 112, w14, w19, 31);
5645    TEST_I5("mini_u.d", 120, w15, w18, 1);
5646    TEST_I5("mini_u.d", 128, w16, w9,  1);
5647    TEST_I5("mini_u.d", 136, w17, w6,  3);
5648    TEST_I5("mini_u.d", 144, w18, w18, 1);
5649    TEST_I5("mini_u.d", 152, w19, w17, 6);
5650    TEST_I5("mini_u.d", 160, w20, w15, 31);
5651    TEST_I5("mini_u.d", 168, w21, w22, 28);
5652    TEST_I5("mini_u.d", 176, w22, w11, 28);
5653    TEST_I5("mini_u.d", 184, w23, w2,  29);
5654    TEST_I5("mini_u.d", 192, w24, w30, 17);
5655    TEST_I5("mini_u.d", 200, w25, w29, 19);
5656    TEST_I5("mini_u.d", 208, w26, w26, 2);
5657    TEST_I5("mini_u.d", 216, w27, w30, 8);
5658    TEST_I5("mini_u.d", 224, w28, w31, 14);
5659    TEST_I5("mini_u.d", 232, w29, w21, 16);
5660    TEST_I5("mini_u.d", 240, w30, w22, 24);
5661    TEST_I5("mini_u.d", 152, w31, w29, 1);
5662    TEST_I5("subvi.b",   0, w0,  w21, 19);
5663    TEST_I5("subvi.b",   8, w1,  w21, 17);
5664    TEST_I5("subvi.b",  16, w2,  w8,  15);
5665    TEST_I5("subvi.b",  24, w3,  w4,  15);
5666    TEST_I5("subvi.b",  32, w4,  w18, 4);
5667    TEST_I5("subvi.b",  40, w5,  w2,  26);
5668    TEST_I5("subvi.b",  48, w6,  w4,  21);
5669    TEST_I5("subvi.b",  56, w7,  w5,  28);
5670    TEST_I5("subvi.b",  64, w8,  w3,  12);
5671    TEST_I5("subvi.b",  72, w9,  w15, 1);
5672    TEST_I5("subvi.b",  80, w10, w4,  19);
5673    TEST_I5("subvi.b",  88, w11, w23, 23);
5674    TEST_I5("subvi.b",  96, w12, w8,  28);
5675    TEST_I5("subvi.b", 104, w13, w24, 10);
5676    TEST_I5("subvi.b", 112, w14, w7,  5);
5677    TEST_I5("subvi.b", 120, w15, w11, 17);
5678    TEST_I5("subvi.b", 128, w16, w5,  21);
5679    TEST_I5("subvi.b", 136, w17, w29, 17);
5680    TEST_I5("subvi.b", 144, w18, w14, 30);
5681    TEST_I5("subvi.b", 152, w19, w29, 31);
5682    TEST_I5("subvi.b", 160, w20, w1,  18);
5683    TEST_I5("subvi.b", 168, w21, w24, 9);
5684    TEST_I5("subvi.b", 176, w22, w1,  6);
5685    TEST_I5("subvi.b", 184, w23, w25, 16);
5686    TEST_I5("subvi.b", 192, w24, w24, 22);
5687    TEST_I5("subvi.b", 200, w25, w21, 14);
5688    TEST_I5("subvi.b", 208, w26, w6,  10);
5689    TEST_I5("subvi.b", 216, w27, w13, 30);
5690    TEST_I5("subvi.b", 224, w28, w9,  28);
5691    TEST_I5("subvi.b", 232, w29, w6,  7);
5692    TEST_I5("subvi.b", 240, w30, w30, 7);
5693    TEST_I5("subvi.b", 112, w31, w13, 7);
5694    TEST_I5("subvi.h",   0, w0,  w1,  29);
5695    TEST_I5("subvi.h",   8, w1,  w26, 13);
5696    TEST_I5("subvi.h",  16, w2,  w26, 2);
5697    TEST_I5("subvi.h",  24, w3,  w5,  9);
5698    TEST_I5("subvi.h",  32, w4,  w21, 4);
5699    TEST_I5("subvi.h",  40, w5,  w3,  26);
5700    TEST_I5("subvi.h",  48, w6,  w1,  14);
5701    TEST_I5("subvi.h",  56, w7,  w29, 12);
5702    TEST_I5("subvi.h",  64, w8,  w24, 9);
5703    TEST_I5("subvi.h",  72, w9,  w19, 9);
5704    TEST_I5("subvi.h",  80, w10, w27, 10);
5705    TEST_I5("subvi.h",  88, w11, w1,  4);
5706    TEST_I5("subvi.h",  96, w12, w8,  30);
5707    TEST_I5("subvi.h", 104, w13, w6,  3);
5708    TEST_I5("subvi.h", 112, w14, w18, 8);
5709    TEST_I5("subvi.h", 120, w15, w23, 26);
5710    TEST_I5("subvi.h", 128, w16, w17, 21);
5711    TEST_I5("subvi.h", 136, w17, w0,  22);
5712    TEST_I5("subvi.h", 144, w18, w12, 19);
5713    TEST_I5("subvi.h", 152, w19, w31, 8);
5714    TEST_I5("subvi.h", 160, w20, w26, 18);
5715    TEST_I5("subvi.h", 168, w21, w27, 22);
5716    TEST_I5("subvi.h", 176, w22, w4,  20);
5717    TEST_I5("subvi.h", 184, w23, w10, 23);
5718    TEST_I5("subvi.h", 192, w24, w24, 19);
5719    TEST_I5("subvi.h", 200, w25, w16, 10);
5720    TEST_I5("subvi.h", 208, w26, w11, 27);
5721    TEST_I5("subvi.h", 216, w27, w8,  27);
5722    TEST_I5("subvi.h", 224, w28, w3,  7);
5723    TEST_I5("subvi.h", 232, w29, w22, 7);
5724    TEST_I5("subvi.h", 240, w30, w30, 15);
5725    TEST_I5("subvi.h",   0, w31, w19, 5);
5726    TEST_I5("subvi.w",   0, w0,  w29, 28);
5727    TEST_I5("subvi.w",   8, w1,  w12, 11);
5728    TEST_I5("subvi.w",  16, w2,  w12, 8);
5729    TEST_I5("subvi.w",  24, w3,  w31, 14);
5730    TEST_I5("subvi.w",  32, w4,  w9,  13);
5731    TEST_I5("subvi.w",  40, w5,  w12, 0);
5732    TEST_I5("subvi.w",  48, w6,  w15, 8);
5733    TEST_I5("subvi.w",  56, w7,  w5,  15);
5734    TEST_I5("subvi.w",  64, w8,  w20, 10);
5735    TEST_I5("subvi.w",  72, w9,  w16, 16);
5736    TEST_I5("subvi.w",  80, w10, w13, 12);
5737    TEST_I5("subvi.w",  88, w11, w14, 28);
5738    TEST_I5("subvi.w",  96, w12, w26, 4);
5739    TEST_I5("subvi.w", 104, w13, w2,  28);
5740    TEST_I5("subvi.w", 112, w14, w16, 0);
5741    TEST_I5("subvi.w", 120, w15, w30, 12);
5742    TEST_I5("subvi.w", 128, w16, w0,  27);
5743    TEST_I5("subvi.w", 136, w17, w13, 0);
5744    TEST_I5("subvi.w", 144, w18, w4,  12);
5745    TEST_I5("subvi.w", 152, w19, w20, 28);
5746    TEST_I5("subvi.w", 160, w20, w13, 10);
5747    TEST_I5("subvi.w", 168, w21, w27, 24);
5748    TEST_I5("subvi.w", 176, w22, w21, 18);
5749    TEST_I5("subvi.w", 184, w23, w27, 21);
5750    TEST_I5("subvi.w", 192, w24, w24, 8);
5751    TEST_I5("subvi.w", 200, w25, w5,  8);
5752    TEST_I5("subvi.w", 208, w26, w3,  20);
5753    TEST_I5("subvi.w", 216, w27, w3,  15);
5754    TEST_I5("subvi.w", 224, w28, w16, 15);
5755    TEST_I5("subvi.w", 232, w29, w21, 3);
5756    TEST_I5("subvi.w", 240, w30, w30, 4);
5757    TEST_I5("subvi.w", 136, w31, w0,  3);
5758    TEST_I5("subvi.d",   0, w0,  w11, 2);
5759    TEST_I5("subvi.d",   8, w1,  w0,  21);
5760    TEST_I5("subvi.d",  16, w2,  w28, 10);
5761    TEST_I5("subvi.d",  24, w3,  w29, 15);
5762    TEST_I5("subvi.d",  32, w4,  w14, 19);
5763    TEST_I5("subvi.d",  40, w5,  w20, 22);
5764    TEST_I5("subvi.d",  48, w6,  w14, 7);
5765    TEST_I5("subvi.d",  56, w7,  w6,  9);
5766    TEST_I5("subvi.d",  64, w8,  w9,  0);
5767    TEST_I5("subvi.d",  72, w9,  w26, 19);
5768    TEST_I5("subvi.d",  80, w10, w5,  22);
5769    TEST_I5("subvi.d",  88, w11, w6,  8);
5770    TEST_I5("subvi.d",  96, w12, w21, 18);
5771    TEST_I5("subvi.d", 104, w13, w4,  4);
5772    TEST_I5("subvi.d", 112, w14, w23, 11);
5773    TEST_I5("subvi.d", 120, w15, w14, 2);
5774    TEST_I5("subvi.d", 128, w16, w21, 8);
5775    TEST_I5("subvi.d", 136, w17, w0,  11);
5776    TEST_I5("subvi.d", 144, w18, w20, 29);
5777    TEST_I5("subvi.d", 152, w19, w17, 19);
5778    TEST_I5("subvi.d", 160, w20, w23, 30);
5779    TEST_I5("subvi.d", 168, w21, w25, 19);
5780    TEST_I5("subvi.d", 176, w22, w24, 23);
5781    TEST_I5("subvi.d", 184, w23, w6,  15);
5782    TEST_I5("subvi.d", 192, w24, w24, 21);
5783    TEST_I5("subvi.d", 200, w25, w29, 18);
5784    TEST_I5("subvi.d", 208, w26, w15, 3);
5785    TEST_I5("subvi.d", 216, w27, w15, 20);
5786    TEST_I5("subvi.d", 224, w28, w25, 22);
5787    TEST_I5("subvi.d", 232, w29, w13, 4);
5788    TEST_I5("subvi.d", 240, w30, w30, 24);
5789    TEST_I5("subvi.d", 184, w31, w7,  12);
5790 #else
5791    printf("This test requires MSA extension.\n");
5792 #endif
5793    return 0;
5794 }
5795