aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite/bfin/random_0034.S
blob: 7aeaadbd3d5a8f03fa604fd6e234c0fc9b8a6009 (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# Verify sign extension behavior with simultaneous acc additions, and
# verify that no ASTAT bits get changed as a result
# mach: bfin
#include "test.h"
.include "testutils.inc"

	start

	dmm32 ASTAT, (0x60304880 | _AV1S | _AC0 | _AN | _AZ);
	dmm32 A0.w, 0x589145b7;
	dmm32 A0.x, 0xffffffee;
	dmm32 A1.w, 0x0b247b05;
	dmm32 A1.x, 0x0000005a;
	imm32 R3, 0x1e414332;
	imm32 R4, 0x351715b7;
	R3 = A1.L + A1.H, R4 = A0.L + A0.H;
	checkreg R3, 0x00008629;
	checkreg R4, 0x00009e48;
	checkreg ASTAT, (0x60304880 | _AV1S | _AC0 | _AN | _AZ);

	dmm32 ASTAT, (0x40e0cc00 | _VS | _V | _AV1S | _AV0S | _AC0 | _CC | _V_COPY | _AC0_COPY);
	dmm32 A0.w, 0xb2c58001;
	dmm32 A0.x, 0x00000000;
	dmm32 A1.w, 0xe999dc28;
	dmm32 A1.x, 0xffffffff;
	imm32 R0, 0xe58d5ffa;
	imm32 R4, 0x7fff7fff;
	R0 = A1.L + A1.H, R4 = A0.L + A0.H;
	checkreg R0, 0xffffc5c1;
	checkreg R4, 0xffff32c6;
	checkreg ASTAT, (0x40e0cc00 | _VS | _V | _AV1S | _AV0S | _AC0 | _CC | _V_COPY | _AC0_COPY);

	dmm32 ASTAT, (0x3420ca80 | _VS | _AV0S | _AC1 | _AC0 | _AQ | _CC);
	dmm32 A0.w, 0xeff48350;
	dmm32 A0.x, 0xffffffff;
	dmm32 A1.w, 0x5a3f623a;
	dmm32 A1.x, 0xffffffff;
	imm32 R4, 0xffff152f;
	imm32 R6, 0xdd13218a;
	R4 = A1.L + A1.H, R6 = A0.L + A0.H;
	checkreg R4, 0x0000bc79;
	checkreg R6, 0xffff7344;
	checkreg ASTAT, (0x3420ca80 | _VS | _AV0S | _AC1 | _AC0 | _AQ | _CC);

	dmm32 ASTAT, (0x10204880 | _VS | _V | _AV1S | _AC1 | _AC0 | _AQ | _V_COPY | _AN);
	dmm32 A0.w, 0x6da679bb;
	dmm32 A0.x, 0xffffff96;
	dmm32 A1.w, 0x1f5fb024;
	dmm32 A1.x, 0x00000000;
	imm32 R3, 0x3ebf8000;
	imm32 R6, 0x025f2e8c;
	R6 = A1.L + A1.H, R3 = A0.L + A0.H;
	checkreg R3, 0x0000e761;
	checkreg R6, 0xffffcf83;
	checkreg ASTAT, (0x10204880 | _VS | _V | _AV1S | _AC1 | _AC0 | _AQ | _V_COPY | _AN);

	dmm32 ASTAT, (0x6ca00c90 | _V | _AV1S | _AV1 | _AC0_COPY | _AN | _AZ);
	dmm32 A0.w, 0x59abaa84;
	dmm32 A0.x, 0xffffffe1;
	dmm32 A1.w, 0x71541efe;
	dmm32 A1.x, 0x00000009;
	imm32 R0, 0x2c41e797;
	imm32 R5, 0x7bfa5e8a;
	R0 = A1.L + A1.H, R5 = A0.L + A0.H;
	checkreg R0, 0x00009052;
	checkreg R5, 0x0000042f;
	checkreg ASTAT, (0x6ca00c90 | _V | _AV1S | _AV1 | _AC0_COPY | _AN | _AZ);

	dmm32 ASTAT, (0x1c50c290 | _VS | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _AN);
	dmm32 A0.w, 0xffffffff;
	dmm32 A0.x, 0xffffffff;
	dmm32 A1.w, 0xc49ca8db;
	dmm32 A1.x, 0xffffffff;
	imm32 R3, 0x0f62ffff;
	imm32 R4, 0x09505188;
	R4 = A1.L + A1.H, R3 = A0.L + A0.H;
	checkreg R3, 0xfffffffe;
	checkreg R4, 0xffff6d77;
	checkreg ASTAT, (0x1c50c290 | _VS | _AV0S | _AV0 | _AC1 | _AC0 | _AQ | _AN);

	dmm32 ASTAT, (0x70e04a90 | _VS | _AV0S | _AQ);
	dmm32 A0.w, 0xd827823e;
	dmm32 A0.x, 0xffffffff;
	dmm32 A1.w, 0x303d11ba;
	dmm32 A1.x, 0x00000000;
	imm32 R1, 0x80007fff;
	imm32 R6, 0xffc4feb3;
	R6 = A1.L + A1.H, R1 = A0.L + A0.H;
	checkreg R1, 0xffff5a65;
	checkreg R6, 0x000041f7;
	checkreg ASTAT, (0x70e04a90 | _VS | _AV0S | _AQ);

	dmm32 ASTAT, (0x5c80c200 | _VS | _AV0S | _AQ | _AC0_COPY | _AN);
	dmm32 A0.w, 0x97049850;
	dmm32 A0.x, 0x00000000;
	dmm32 A1.w, 0xffffa014;
	dmm32 A1.x, 0xffffffff;
	imm32 R0, 0x04828378;
	imm32 R5, 0x3d9effff;
	R0 = A1.L + A1.H, R5 = A0.L + A0.H;
	checkreg R0, 0xffffa013;
	checkreg R5, 0xffff2f54;
	checkreg ASTAT, (0x5c80c200 | _VS | _AV0S | _AQ | _AC0_COPY | _AN);

	dmm32 ASTAT, (0x6c604600 | _VS | _V | _AV0S | _AC1 | _AC0 | _AQ | _CC | _V_COPY | _AZ);
	dmm32 A0.w, 0xac43c455;
	dmm32 A0.x, 0x00000000;
	dmm32 A1.w, 0x03de6f39;
	dmm32 A1.x, 0x00000000;
	imm32 R0, 0x5bbfd2d1;
	imm32 R3, 0x22425ebc;
	R3 = A1.L + A1.H, R0 = A0.L + A0.H;
	checkreg R0, 0xffff7098;
	checkreg R3, 0x00007317;
	checkreg ASTAT, (0x6c604600 | _VS | _V | _AV0S | _AC1 | _AC0 | _AQ | _CC | _V_COPY | _AZ);

	dmm32 ASTAT, (0x7cd04280 | _VS | _V | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN);
	dmm32 A0.w, 0xb63ac8f5;
	dmm32 A0.x, 0xffffffe0;
	dmm32 A1.w, 0x358b94e8;
	dmm32 A1.x, 0x00000000;
	imm32 R1, 0x80007fff;
	imm32 R6, 0x4f4a8883;
	R6 = A1.L + A1.H, R1 = A0.L + A0.H;
	checkreg R1, 0xffff7f2f;
	checkreg R6, 0xffffca73;
	checkreg ASTAT, (0x7cd04280 | _VS | _V | _AC1 | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN);

	pass