aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite/bfin/random_0021.S
blob: 2497a449387e59f61e4f3cd25091256d8db5e73e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# mach: bfin
#include "test.h"
.include "testutils.inc"

	start

	dmm32 ASTAT, (0x5c604280 | _VS | _AV1S | _AV0S);
	imm32 R3, 0xfe0103fe;
	imm32 R5, 0x1e53cdd8;
	R3.H = R5.L * R3.H (M, IU);
	checkreg R3, 0x800003fe;
	checkreg ASTAT, (0x5c604280 | _VS | _V | _AV1S | _AV0S | _V_COPY);

	dmm32 ASTAT, (0x74a04c00 | _VS | _AV1S | _CC | _AN);
	imm32 R4, 0xfffeffff;
	imm32 R5, 0x174e174e;
	R5.H = R4.L * R5.H (M, IU);
	checkreg R5, 0xe8b2174e;
	checkreg ASTAT, (0x74a04c00 | _VS | _AV1S | _CC | _AN);

	dmm32 ASTAT, (0x34308890 | _VS | _AV1S | _AV0S | _AC1 | _AC0 | _AQ | _CC | _AN);
	imm32 R3, 0x7fffffff;
	imm32 R4, 0x077b8000;
	imm32 R7, 0x03bd03bd;
	R3.H = R4.L * R7.H (M, IU);
	checkreg R3, 0x8000ffff;
	checkreg ASTAT, (0x34308890 | _VS | _V | _AV1S | _AV0S | _AC1 | _AC0 | _AQ | _CC | _V_COPY | _AN);

	dmm32 ASTAT, (0x58700a90 | _VS | _AV1S | _AC1 | _AQ | _CC | _AN);
	imm32 R1, 0x58978212;
	imm32 R3, 0x62b5775a;
	imm32 R6, 0x4c9c9ee3;
	R6.H = R1.L * R3.L (M, IU);
	checkreg R6, 0x80009ee3;
	checkreg ASTAT, (0x58700a90 | _VS | _V | _AV1S | _AC1 | _AQ | _CC | _V_COPY | _AN);

	dmm32 ASTAT, (0x40204e00 | _VS | _AV1S | _AV0S | _CC | _AN);
	imm32 R3, 0x297fee00;
	imm32 R5, 0x79aa9d21;
	imm32 R6, 0xfffe7484;
	R6.H = R5.L * R3.L (M, IU);
	checkreg R6, 0x80007484;
	checkreg ASTAT, (0x40204e00 | _VS | _V | _AV1S | _AV0S | _CC | _V_COPY | _AN);

	pass