aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite/bfin/issue139.S
blob: 8df28bacf2ce0d87719742a11b68407533e75f88 (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
# mach: bfin

#include "test.h"
.include "testutils.inc"
	start

	R0 = 0;
	R1 = 0;
	R2 = 0;
	R3 = 0;
	R4 = 0;
	R5 = 0;
	R6 = 0;
	R7 = 0;
	ASTAT = R0;
	R0.L = 0x33;
	R0.H = 0x55;
	R1.L = 0x66;
	R1.H = 0x77;
	R7 = R1 +|+ R0, R6 = R1 -|- R0 (SCO , ASR);

	_DBG R7;
	CHECKREG R7, 0x0066004c;
	CHECKREG R6, 0x00190011;
	R7 = ASTAT
	CHECKREG R7, 0;

//-----------------------

	R0 = 0;
	R1 = 0;
	R2 = 0;
	R3 = 0;
	R4 = 0;
	R5 = 0;
	R6 = 0;
	R7 = 0;
	R0.L = 0x33;
	R0.H = 0x55;
	R1.L = 0x66;
	R1.H = 0x77;
	R3 = R1 +|+ R0, R2 = R1 -|- R0 (ASR);

	R7 = ASTAT;
	CHECKREG R7, 0;

//-----------------------

	R0 = 0;
	R1 = 0;
	R2 = 0;
	R3 = 0;
	R4 = 0;
	R5 = 0;
	R6 = 0;
	R7 = 0;
	R0.L = 0x33;
	R0.H = 0x55;
	R1.L = 0x66;
	R1.H = 0x77;
	R5 = R1 +|+ R0, R4 = R1 -|- R0 (CO , ASR);

	R7 = ASTAT;
	CHECKREG R7, 0;

//-----------------------

	R0 = 0;
	R1 = 0;
	R2 = 0;
	R3 = 0;
	R4 = 0;
	R5 = 0;
	R6 = 0;
	R7 = 0;
	R0.L = 0x33;
	R0.H = 0x55;
	R1.L = 0x66;
	R1.H = 0x77;
	R3 = R1 +|+ R0, R2 = R1 -|- R0 (ASL);
	CHECKREG R3, 0x01980132;
	CHECKREG R2, 0x00440066;

	R7 = ASTAT;
	CHECKREG R7, 0;

//-----------------------

	R0 = 0;
	R1 = 0;
	R2 = 0;
	R3 = 0;
	R4 = 0;
	R5 = 0;
	R6 = 0;
	R7 = 0;
	R0.L = 0x33;
	R0.H = 0x55;
	R1.L = 0x7fff;
	R1.H = 0x77;
	R3 = R1 +|+ R0, R2 = R1 -|- R0 (S , ASL);
	CHECKREG R3, 0x01987fff;
	CHECKREG R2, 0x00447fff;

	R7 = ASTAT;
	CHECKREG R7, (_VS|_V|_V_COPY);

	pass