1# mach: bfin
2#include "test.h"
3.include "testutils.inc"
4
5	start
6
7	dmm32 ASTAT, (0x5c604280 | _VS | _AV1S | _AV0S);
8	imm32 R3, 0xfe0103fe;
9	imm32 R5, 0x1e53cdd8;
10	R3.H = R5.L * R3.H (M, IU);
11	checkreg R3, 0x800003fe;
12	checkreg ASTAT, (0x5c604280 | _VS | _V | _AV1S | _AV0S | _V_COPY);
13
14	dmm32 ASTAT, (0x74a04c00 | _VS | _AV1S | _CC | _AN);
15	imm32 R4, 0xfffeffff;
16	imm32 R5, 0x174e174e;
17	R5.H = R4.L * R5.H (M, IU);
18	checkreg R5, 0xe8b2174e;
19	checkreg ASTAT, (0x74a04c00 | _VS | _AV1S | _CC | _AN);
20
21	dmm32 ASTAT, (0x34308890 | _VS | _AV1S | _AV0S | _AC1 | _AC0 | _AQ | _CC | _AN);
22	imm32 R3, 0x7fffffff;
23	imm32 R4, 0x077b8000;
24	imm32 R7, 0x03bd03bd;
25	R3.H = R4.L * R7.H (M, IU);
26	checkreg R3, 0x8000ffff;
27	checkreg ASTAT, (0x34308890 | _VS | _V | _AV1S | _AV0S | _AC1 | _AC0 | _AQ | _CC | _V_COPY | _AN);
28
29	dmm32 ASTAT, (0x58700a90 | _VS | _AV1S | _AC1 | _AQ | _CC | _AN);
30	imm32 R1, 0x58978212;
31	imm32 R3, 0x62b5775a;
32	imm32 R6, 0x4c9c9ee3;
33	R6.H = R1.L * R3.L (M, IU);
34	checkreg R6, 0x80009ee3;
35	checkreg ASTAT, (0x58700a90 | _VS | _V | _AV1S | _AC1 | _AQ | _CC | _V_COPY | _AN);
36
37	dmm32 ASTAT, (0x40204e00 | _VS | _AV1S | _AV0S | _CC | _AN);
38	imm32 R3, 0x297fee00;
39	imm32 R5, 0x79aa9d21;
40	imm32 R6, 0xfffe7484;
41	R6.H = R5.L * R3.L (M, IU);
42	checkreg R6, 0x80007484;
43	checkreg ASTAT, (0x40204e00 | _VS | _V | _AV1S | _AV0S | _CC | _V_COPY | _AN);
44
45	pass
46