1# Ensure that dsp insns with IH modifiers saturate first, then round
2# mach: bfin
3#include "test.h"
4.include "testutils.inc"
5
6	start
7
8	dmm32 ASTAT, (0x24304400 | _VS | _AV1S | _AV0 | _AC1 | _AQ | _AC0_COPY | _AN | _AZ);
9	dmm32 A0.w, 0x3883de11;
10	dmm32 A0.x, 0x00000025;
11	imm32 R2, 0xeb641947;
12	imm32 R3, 0x66d10863;
13	imm32 R5, 0x00d44f5a;
14	R5.L = (A0 += R3.L * R2.L) (IH);
15	checkreg R5, 0x00d47fff;
16	checkreg A0.w, 0x7fffffff;
17	checkreg A0.x, 0x00000000;
18	checkreg ASTAT, (0x24304400 | _VS | _V | _AV1S | _AV0S | _AV0 | _AC1 | _AQ | _V_COPY | _AC0_COPY | _AN | _AZ);
19
20	dmm32 ASTAT, (0x04b04e10 | _VS | _AV1S | _AV0S | _AC1 | _AC0 | _AQ | _CC | _AC0_COPY);
21	dmm32 A0.w, 0x1e069e1a;
22	dmm32 A0.x, 0xfffffff5;
23	imm32 R3, 0xffff0001;
24	R3.L = A0 (IH);
25	checkreg R3, 0xffff8000;
26	checkreg ASTAT, (0x04b04e10 | _VS | _V | _AV1S | _AV0S | _AC1 | _AC0 | _AQ | _CC | _V_COPY | _AC0_COPY | _AN);
27
28	dmm32 ASTAT, (0x14f08600 | _VS | _V | _AV1S | _AV0 | _AC1 | _AQ | _CC | _V_COPY | _AC0_COPY | _AN);
29	dmm32 A0.w, 0x766c79cc;
30	dmm32 A0.x, 0xffffffd9;
31	imm32 R4, 0x14801bff;
32	R4.L = A0 (IH);
33	checkreg R4, 0x14808000;
34	checkreg ASTAT, (0x14f08600 | _VS | _V | _AV1S | _AV0 | _AC1 | _AQ | _CC | _V_COPY | _AC0_COPY | _AN);
35
36	dmm32 ASTAT, (0x6060c600 | _VS | _AV1S | _AV0S | _AC1 | _V_COPY | _AN | _AZ);
37	dmm32 A0.w, 0x1e7461de;
38	dmm32 A0.x, 0xffffff91;
39	imm32 R6, 0x1ba08a9e;
40	R6.L = A0 (IH);
41	checkreg R6, 0x1ba08000;
42	checkreg ASTAT, (0x6060c600 | _VS | _V | _AV1S | _AV0S | _AC1 | _V_COPY | _AN);
43
44	dmm32 ASTAT, (0x28700e10 | _VS | _V | _AV1S | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN | _AZ);
45	dmm32 A0.w, 0xfb5acc4e;
46	dmm32 A0.x, 0xfffffffe;
47	imm32 R4, 0x15baf604;
48	R4.L = A0 (IH);
49	checkreg R4, 0x15ba8000;
50	checkreg ASTAT, (0x28700e10 | _VS | _V | _AV1S | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN);
51
52	dmm32 ASTAT, (0x24708610 | _VS | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _CC | _AC0_COPY | _AN);
53	dmm32 A0.w, 0x0de70c92;
54	dmm32 A0.x, 0xffffffde;
55	imm32 R3, 0x0f323c4c;
56	R3.L = A0 (IH);
57	checkreg R3, 0x0f328000;
58	checkreg ASTAT, (0x24708610 | _VS | _V | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _CC | _V_COPY | _AC0_COPY | _AN);
59
60	dmm32 ASTAT, (0x6800c880 | _AV1 | _AV0 | _AQ | _AZ);
61	dmm32 A0.w, 0x482bfb59;
62	dmm32 A0.x, 0x0000005e;
63	imm32 R6, 0x4616e4ad;
64	imm32 R7, 0x4a88b2b1;
65	R6.L = (A0 += R6.H * R7.L) (IH);
66	checkreg R6, 0x46167fff;
67	checkreg A0.w, 0x7fffffff;
68	checkreg A0.x, 0x00000000;
69	checkreg ASTAT, (0x6800c880 | _VS | _V | _AV1 | _AV0S | _AV0 | _AQ | _V_COPY | _AZ);
70
71	dmm32 ASTAT, (0x44d08280 | _VS | _V | _AQ | _V_COPY | _AZ);
72	dmm32 A0.w, 0xf29e3a4c;
73	dmm32 A0.x, 0x0000003b;
74	imm32 R2, 0x004027d0;
75	imm32 R4, 0x44761fd1;
76	imm32 R7, 0x7fff0001;
77	R7.L = (A0 -= R4.H * R2.H) (IH);
78	checkreg R7, 0x7fff7fff;
79	checkreg A0.w, 0x7fffffff;
80	checkreg A0.x, 0x00000000;
81	checkreg ASTAT, (0x44d08280 | _VS | _V | _AV0S | _AV0 | _AQ | _V_COPY | _AZ);
82
83	dmm32 ASTAT, (0x18a00680 | _VS | _AV1S | _AQ | _CC);
84	dmm32 A0.w, 0x174c203a;
85	dmm32 A0.x, 0x00000060;
86	imm32 R3, 0x1f100000;
87	R3.L = A0 (IH);
88	checkreg R3, 0x1f107fff;
89	checkreg ASTAT, (0x18a00680 | _VS | _V | _AV1S | _AQ | _CC | _V_COPY);
90
91	dmm32 ASTAT, (0x38e04090 | _VS | _AV0S | _AQ | _AN | _AZ);
92	dmm32 A0.w, 0x5db9b913;
93	dmm32 A0.x, 0x00000048;
94	imm32 R0, 0xd513ffff;
95	imm32 R2, 0xfcee02ff;
96	R0.L = (A0 -= R2.H * R0.H) (IH);
97	checkreg R0, 0xd5137fff;
98	checkreg A0.w, 0x7fffffff;
99	checkreg A0.x, 0x00000000;
100	checkreg ASTAT, (0x38e04090 | _VS | _V | _AV0S | _AV0 | _AQ | _V_COPY | _AN | _AZ);
101
102	dmm32 ASTAT, (0x2030c680 | _VS | _V | _AV0S | _AC0 | _AQ | _CC | _V_COPY | _AC0_COPY);
103	dmm32 A0.w, 0x113de06e;
104	dmm32 A0.x, 0x00000006;
105	imm32 R3, 0x3de9b335;
106	R3.L = A0 (IH);
107	checkreg R3, 0x3de97fff;
108	checkreg ASTAT, (0x2030c680 | _VS | _V | _AV0S | _AC0 | _AQ | _CC | _V_COPY | _AC0_COPY);
109
110	dmm32 ASTAT, (0x14300210 | _VS | _V | _AV1S | _AV0S | _AC0 | _CC | _V_COPY | _AC0_COPY);
111	dmm32 A0.w, 0x3219dde5;
112	dmm32 A0.x, 0xfffffffe;
113	imm32 R2, 0x8000ffde;
114	R2.L = A0 (IH);
115	checkreg R2, 0x80008000;
116	checkreg ASTAT, (0x14300210 | _VS | _V | _AV1S | _AV0S | _AC0 | _CC | _V_COPY | _AC0_COPY | _AN);
117
118	dmm32 ASTAT, (0x5c304e10 | _VS | _V | _AV1S | _AC1 | _AC0 | _V_COPY | _AC0_COPY | _AN);
119	dmm32 A0.w, 0x500d8a96;
120	dmm32 A0.x, 0x00000071;
121	imm32 R2, 0x47bc6a2d;
122	R2.L = A0 (IH);
123	checkreg R2, 0x47bc7fff;
124	checkreg ASTAT, (0x5c304e10 | _VS | _V | _AV1S | _AC1 | _AC0 | _V_COPY | _AC0_COPY);
125
126	dmm32 ASTAT, (0x40d04410 | _VS | _V | _AV1S | _AC1 | _AC0 | _CC | _V_COPY | _AC0_COPY | _AN);
127	dmm32 A0.w, 0xed76198b;
128	dmm32 A0.x, 0xffffffdd;
129	imm32 R4, 0x485f8000;
130	R4.L = A0 (IH);
131	checkreg ASTAT, (0x40d04410 | _VS | _V | _AV1S | _AC1 | _AC0 | _CC | _V_COPY | _AC0_COPY | _AN);
132
133	dmm32 ASTAT, (0x34f00290 | _VS | _V | _AV1S | _AV0S | _AQ | _CC | _V_COPY | _AC0_COPY | _AN);
134	dmm32 A0.w, 0xc0000000;
135	dmm32 A0.x, 0x00000000;
136	imm32 R0, 0x80008000;
137	imm32 R3, 0x2cb77eda;
138	R0.L = (A0 += R3.H * R3.H) (IH);
139	checkreg R0, 0x80007fff;
140	checkreg A0.w, 0x7fffffff;
141	checkreg A0.x, 0x00000000;
142	checkreg ASTAT, (0x34f00290 | _VS | _V | _AV1S | _AV0S | _AV0 | _AQ | _CC | _V_COPY | _AC0_COPY | _AN);
143
144	dmm32 ASTAT, (0x2490c610 | _VS | _V | _V_COPY | _AN);
145	dmm32 A0.w, 0xc2375c00;
146	dmm32 A0.x, 0x00000000;
147	imm32 R0, 0x8000ffff;
148	imm32 R1, 0xac86b35f;
149	imm32 R6, 0x3cb137de;
150	R0.L = (A0 -= R6.H * R1.H) (IH);
151	checkreg R0, 0x80007fff;
152	checkreg A0.w, 0x7fffffff;
153	checkreg A0.x, 0x00000000;
154	checkreg ASTAT, (0x2490c610 | _VS | _V | _AV0S | _AV0 | _V_COPY | _AN);
155
156	dmm32 ASTAT, (0x3000c810 | _VS | _AC0 | _AQ | _CC | _AN);
157	dmm32 A0.w, 0x44fe7a9d;
158	dmm32 A0.x, 0x0000006e;
159	imm32 R2, 0xbb4f8000;
160	imm32 R4, 0xfe2d7fff;
161	imm32 R7, 0x5da7ea43;
162	R7.L = (A0 += R4.L * R2.L) (IH);
163	checkreg R7, 0x5da77fff;
164	checkreg A0.w, 0x7fffffff;
165	checkreg A0.x, 0x00000000;
166	checkreg ASTAT, (0x3000c810 | _VS | _V | _AV0S | _AV0 | _AC0 | _AQ | _CC | _V_COPY | _AN);
167
168	dmm32 ASTAT, (0x1c708000 | _VS | _V | _AV1S | _AV0 | _AC1 | _AQ | _V_COPY | _AC0_COPY | _AZ);
169	dmm32 A0.w, 0x6ad001aa;
170	dmm32 A0.x, 0x0000002a;
171	imm32 R6, 0x7fff65d9;
172	R6.L = A0 (IH);
173	checkreg R6, 0x7fff7fff;
174	checkreg ASTAT, (0x1c708000 | _VS | _V | _AV1S | _AV0 | _AC1 | _AQ | _V_COPY | _AC0_COPY);
175
176	dmm32 ASTAT, (0x1430cc80 | _AV0S | _AC0 | _AQ | _AN | _AZ);
177	dmm32 A0.w, 0x5c04c87a;
178	dmm32 A0.x, 0x00000002;
179	imm32 R1, 0x6752c24c;
180	imm32 R7, 0x21f7c24f;
181	R1.L = (A0 -= R1.H * R7.H) (IH);
182	checkreg R1, 0x67527fff;
183	checkreg A0.w, 0x7fffffff;
184	checkreg A0.x, 0x00000000;
185	checkreg ASTAT, (0x1430cc80 | _VS | _V | _AV0S | _AV0 | _AC0 | _AQ | _V_COPY | _AN | _AZ);
186
187	dmm32 ASTAT, (0x44500c80 | _VS | _AV1S | _AV0S | _AC1 | _AC0 | _AQ | _CC | _AC0_COPY | _AN);
188	dmm32 A0.w, 0x603980cf;
189	dmm32 A0.x, 0xffffffff;
190	imm32 R3, 0xffffffff;
191	R3.L = A0 (IH);
192	checkreg R3, 0xffff8000;
193	checkreg ASTAT, (0x44500c80 | _VS | _V | _AV1S | _AV0S | _AC1 | _AC0 | _AQ | _CC | _V_COPY | _AC0_COPY | _AN);
194
195	dmm32 ASTAT, (0x70508c90 | _VS | _V | _AV1S | _AV0S | _AC0 | _AQ | _V_COPY);
196	dmm32 A0.w, 0x097b558d;
197	dmm32 A0.x, 0x00000005;
198	imm32 R1, 0x80002c0a;
199	R1.L = A0 (IH);
200	checkreg R1, 0x80007fff;
201	checkreg ASTAT, (0x70508c90 | _VS | _V | _AV1S | _AV0S | _AC0 | _AQ | _V_COPY);
202
203	dmm32 ASTAT, (0x1820c410 | _AC1 | _AC0 | _AQ | _CC | _AC0_COPY | _AZ);
204	dmm32 A0.w, 0x69470e6b;
205	dmm32 A0.x, 0x0000005a;
206	imm32 R1, 0x3a0e82ef;
207	imm32 R4, 0x2c0af024;
208	imm32 R6, 0x5a301523;
209	R1.L = (A0 += R6.L * R4.L) (IH);
210	checkreg R1, 0x3a0e7fff;
211	checkreg A0.w, 0x7fffffff;
212	checkreg A0.x, 0x00000000;
213	checkreg ASTAT, (0x1820c410 | _VS | _V | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _CC | _V_COPY | _AC0_COPY | _AZ);
214
215	dmm32 ASTAT, (0x14a04e10 | _VS | _V | _AV0S | _AC0 | _V_COPY | _AC0_COPY);
216	dmm32 A0.w, 0xaaa829c8;
217	dmm32 A0.x, 0x0000000f;
218	imm32 R3, 0x901b7fff;
219	imm32 R4, 0xf8d50755;
220	imm32 R6, 0x0a98c742;
221	R4.L = (A0 += R3.L * R6.L) (IH);
222	checkreg R4, 0xf8d57fff;
223	checkreg A0.w, 0x7fffffff;
224	checkreg A0.x, 0x00000000;
225	checkreg ASTAT, (0x14a04e10 | _VS | _V | _AV0S | _AV0 | _AC0 | _V_COPY | _AC0_COPY);
226
227	dmm32 ASTAT, (0x7c70c800 | _VS | _V | _AV1S | _AC0 | _AQ | _CC | _V_COPY);
228	dmm32 A0.w, 0x3875c265;
229	dmm32 A0.x, 0x0000000e;
230	imm32 R0, 0x8000af00;
231	imm32 R3, 0x071fe97d;
232	imm32 R5, 0x72d82b4b;
233	R0.L = (A0 += R3.H * R5.H) (IH);
234	checkreg R0, 0x80007fff;
235	checkreg A0.w, 0x7fffffff;
236	checkreg A0.x, 0x00000000;
237	checkreg ASTAT, (0x7c70c800 | _VS | _V | _AV1S | _AV0S | _AV0 | _AC0 | _AQ | _CC | _V_COPY);
238
239	dmm32 ASTAT, (0x04508a80 | _VS | _V | _AC0 | _AQ | _CC | _V_COPY);
240	dmm32 A0.w, 0x5055d0b1;
241	dmm32 A0.x, 0x00000009;
242	imm32 R2, 0x7b9b1a96;
243	imm32 R4, 0x56a17f45;
244	R4.L = (A0 -= R4.L * R2.L) (IH);
245	checkreg R4, 0x56a17fff;
246	checkreg A0.w, 0x7fffffff;
247	checkreg A0.x, 0x00000000;
248	checkreg ASTAT, (0x04508a80 | _VS | _V | _AV0S | _AV0 | _AC0 | _AQ | _CC | _V_COPY);
249
250	dmm32 ASTAT, (0x60408c90 | _VS | _AV1 | _CC | _AC0_COPY);
251	dmm32 A1.w, 0x4d722bbd;
252	dmm32 A1.x, 0x0000000a;
253	imm32 R1, 0x31c46841;
254	imm32 R4, 0xe31521b2;
255	imm32 R6, 0x49d747d4;
256	R6.H = (A1 -= R1.L * R4.L) (M, IH);
257	checkreg R6, 0x7fff47d4;
258	checkreg A1.w, 0x7fffffff;
259	checkreg A1.x, 0x00000000;
260	checkreg ASTAT, (0x60408c90 | _VS | _V | _AV1S | _AV1 | _CC | _V_COPY | _AC0_COPY);
261
262	dmm32 ASTAT, (0x7c808690 | _VS | _AV1S | _AC1 | _AC0 | _AC0_COPY);
263	dmm32 A0.w, 0x48379e0d;
264	dmm32 A0.x, 0x00000061;
265	imm32 R0, 0x272c8000;
266	imm32 R4, 0x7fff7fff;
267	R0.L = (A0 += R4.L * R4.H) (IH);
268	checkreg R0, 0x272c7fff;
269	checkreg A0.w, 0x7fffffff;
270	checkreg A0.x, 0x00000000;
271	checkreg ASTAT, (0x7c808690 | _VS | _V | _AV1S | _AV0S | _AV0 | _AC1 | _AC0 | _V_COPY | _AC0_COPY);
272
273	dmm32 ASTAT, (0x10308800 | _VS | _AC1 | _AC0 | _AQ | _AN);
274	dmm32 A1.w, 0x9ddbf339;
275	dmm32 A1.x, 0x00000010;
276	imm32 R1, 0x00679160;
277	imm32 R5, 0x1fa0ffff;
278	imm32 R6, 0x4312c2cd;
279	R6.H = (A1 -= R1.L * R5.H) (IH);
280	checkreg R6, 0x7fffc2cd;
281	checkreg A1.w, 0x7fffffff;
282	checkreg A1.x, 0x00000000;
283	checkreg ASTAT, (0x10308800 | _VS | _V | _AV1S | _AV1 | _AC1 | _AC0 | _AQ | _V_COPY | _AN);
284
285	dmm32 ASTAT, (0x3040ca90 | _VS | _AV1S | _AV0S | _AC1 | _AQ | _CC | _AN | _AZ);
286	dmm32 A0.w, 0x2d631ab7;
287	dmm32 A0.x, 0x00000066;
288	imm32 R5, 0x325c8000;
289	R5.L = A0 (IH);
290	checkreg R5, 0x325c7fff;
291	checkreg ASTAT, (0x3040ca90 | _VS | _V | _AV1S | _AV0S | _AC1 | _AQ | _CC | _V_COPY);
292
293	dmm32 ASTAT, (0x5ca08c90 | _AV1S | _AV0S | _AC0 | _AQ | _CC | _AC0_COPY);
294	dmm32 A0.w, 0x86fce74b;
295	dmm32 A0.x, 0x0000007f;
296	imm32 R1, 0x3e9e0014;
297	imm32 R7, 0x6d73d06c;
298	R7.L = (A0 += R1.L * R7.H) (IH);
299	checkreg R7, 0x6d737fff;
300	checkreg A0.w, 0x7fffffff;
301	checkreg A0.x, 0x00000000;
302	checkreg ASTAT, (0x5ca08c90 | _VS | _V | _AV1S | _AV0S | _AV0 | _AC0 | _AQ | _CC | _V_COPY | _AC0_COPY);
303
304	dmm32 ASTAT, (0x50e0c880 | _VS | _AC1);
305	dmm32 A0.w, 0x9e40a194;
306	dmm32 A0.x, 0x00000000;
307	imm32 R5, 0x6ba7ac29;
308	imm32 R6, 0x50a97ffe;
309	R5.L = (A0 += R6.L * R5.H) (IH);
310	checkreg R5, 0x6ba77fff;
311	checkreg A0.w, 0x7fffffff;
312	checkreg A0.x, 0x00000000;
313	checkreg ASTAT, (0x50e0c880 | _VS | _V | _AV0S | _AV0 | _AC1 | _V_COPY);
314
315	dmm32 ASTAT, (0x3ce0c810 | _VS | _V | _AV1S | _CC | _V_COPY | _AC0_COPY | _AN);
316	dmm32 A0.w, 0x9abe32ae;
317	dmm32 A0.x, 0xffffffc2;
318	imm32 R2, 0x8000e9a0;
319	R2.L = A0 (IH);
320	checkreg R2, 0x80008000;
321	checkreg ASTAT, (0x3ce0c810 | _VS | _V | _AV1S | _CC | _V_COPY | _AC0_COPY | _AN);
322
323	dmm32 ASTAT, (0x6090c010 | _VS | _AV0S | _AC0 | _CC | _AC0_COPY);
324	dmm32 A0.w, 0x53e97a53;
325	dmm32 A0.x, 0x0000004d;
326	imm32 R1, 0x289e2e4e;
327	R1.L = A0 (IH);
328	checkreg R1, 0x289e7fff;
329	checkreg ASTAT, (0x6090c010 | _VS | _V | _AV0S | _AC0 | _CC | _V_COPY | _AC0_COPY);
330
331	dmm32 ASTAT, (0x34708800 | _VS | _AV1S | _AV0S | _AC1 | _AC0 | _CC | _AC0_COPY | _AN);
332	dmm32 A0.w, 0x1035b3fa;
333	dmm32 A0.x, 0x00000001;
334	imm32 R1, 0xec227fff;
335	R1.L = A0 (IH);
336	checkreg ASTAT, (0x34708800 | _VS | _V | _AV1S | _AV0S | _AC1 | _AC0 | _CC | _V_COPY | _AC0_COPY);
337
338	dmm32 ASTAT, (0x30200c00 | _VS | _V | _AV1S | _AV0S | _AV0 | _AC1 | _V_COPY);
339	imm32 R1, 0x30d07fff;
340	imm32 R2, 0x007f1105;
341	imm32 R4, 0x7fffffff;
342	R1.H = R2.L * R4.L (M, IH);
343	checkreg R1, 0x11057fff;
344	checkreg ASTAT, (0x30200c00 | _VS | _AV1S | _AV0S | _AV0 | _AC1);
345
346	dmm32 ASTAT, (0x1c008200 | _VS | _V | _AV1S | _AV0 | _AQ | _CC | _V_COPY | _AC0_COPY | _AZ);
347	dmm32 A0.w, 0x46ccaead;
348	dmm32 A0.x, 0x0000006b;
349	imm32 R4, 0x80003753;
350	imm32 R5, 0x128216a3;
351	imm32 R6, 0x7c3455c4;
352	R4.L = (A0 += R5.L * R6.H) (IH);
353	checkreg R4, 0x80007fff;
354	checkreg A0.w, 0x7fffffff;
355	checkreg A0.x, 0x00000000;
356	checkreg ASTAT, (0x1c008200 | _VS | _V | _AV1S | _AV0S | _AV0 | _AQ | _CC | _V_COPY | _AC0_COPY | _AZ);
357
358	dmm32 ASTAT, (0x14304e10 | _VS | _AV0S | _AV0 | _AC0);
359	dmm32 A0.w, 0x7fc17d70;
360	dmm32 A0.x, 0x0000000f;
361	imm32 R3, 0x5cb72991;
362	imm32 R4, 0x3a823142;
363	imm32 R7, 0xde5bf5a2;
364	R7.L = (A0 += R4.H * R3.H) (IH);
365	checkreg R7, 0xde5b7fff;
366	checkreg A0.w, 0x7fffffff;
367	checkreg A0.x, 0x00000000;
368	checkreg ASTAT, (0x14304e10 | _VS | _V | _AV0S | _AV0 | _AC0 | _V_COPY);
369
370	dmm32 ASTAT, (0x10900290 | _VS | _V | _AQ | _V_COPY | _AC0_COPY);
371	dmm32 A0.w, 0x7fb16a1d;
372	dmm32 A0.x, 0x00000052;
373	imm32 R0, 0x1e4a7fff;
374	imm32 R2, 0x62b886f4;
375	imm32 R3, 0x80004104;
376	R3.L = (A0 -= R2.H * R0.H) (IH);
377	checkreg R3, 0x80007fff;
378	checkreg A0.w, 0x7fffffff;
379	checkreg A0.x, 0x00000000;
380	checkreg ASTAT, (0x10900290 | _VS | _V | _AV0S | _AV0 | _AQ | _V_COPY | _AC0_COPY);
381
382	dmm32 ASTAT, (0x18608400 | _VS | _AV1S | _AQ | _AC0_COPY | _AN);
383	dmm32 A1.w, 0x62fcbde0;
384	dmm32 A1.x, 0x0000006a;
385	imm32 R2, 0x60339fcc;
386	imm32 R3, 0x5fa9f612;
387	imm32 R4, 0x6f006000;
388	R2.H = (A1 += R3.L * R4.H) (IH);
389	checkreg R2, 0x7fff9fcc;
390	checkreg A1.w, 0x7fffffff;
391	checkreg A1.x, 0x00000000;
392	checkreg ASTAT, (0x18608400 | _VS | _V | _AV1S | _AV1 | _AQ | _V_COPY | _AC0_COPY | _AN);
393
394	dmm32 ASTAT, (0x60100210 | _VS | _V | _CC | _V_COPY | _AN);
395	dmm32 A0.w, 0x52a9b75e;
396	dmm32 A0.x, 0x00000003;
397	imm32 R0, 0xffff349c;
398	imm32 R6, 0x0084550f;
399	R0.L = (A0 += R6.L * R0.H) (IH);
400	checkreg R0, 0xffff7fff;
401	checkreg A0.w, 0x7fffffff;
402	checkreg A0.x, 0x00000000;
403	checkreg ASTAT, (0x60100210 | _VS | _V | _AV0S | _AV0 | _CC | _V_COPY | _AN);
404
405	dmm32 ASTAT, (0x7840cc10 | _VS | _V | _AV0 | _AC1 | _V_COPY | _AN | _AZ);
406	dmm32 A0.w, 0x22aa6b49;
407	dmm32 A0.x, 0x0000006a;
408	imm32 R1, 0x17528642;
409	imm32 R5, 0x8000a49b;
410	imm32 R6, 0x03ec4bb6;
411	R5.L = (A0 -= R1.H * R6.H) (IH);
412	checkreg R5, 0x80007fff;
413	checkreg A0.w, 0x7fffffff;
414	checkreg A0.x, 0x00000000;
415	checkreg ASTAT, (0x7840cc10 | _VS | _V | _AV0S | _AV0 | _AC1 | _V_COPY | _AN | _AZ);
416
417	pass
418