1// ACP 5.9 A0 -= A1 doesn't set flags
2# mach: bfin
3
4.include "testutils.inc"
5	start
6
7	A1 = A0 = 0;
8	R0 = 0x0;
9	astat=r0;
10	A0.w = R0;
11	R0.L = 0x0080;
12	A0.x = R0;
13	R1 = 1;
14
15	_DBG A0;
16	_DBG A1;
17
18	A0 -= A1;
19	_dbg A0;
20	_dbg ASTAT;
21	r7=astat;
22	dbga (r7.h, 0x0);
23	dbga (r7.l, 0x1006);
24
25	A1 = A0 = 0;
26	R0 = 0x1 (z);
27	astat=r0;
28	A0.w = R0;
29	R0.L = 0x0080;
30	A0.x = R0;
31	R1 = 1;
32
33	_DBG A0;
34	_DBG A1;
35
36	A0 -= A1;
37	_dbg A0;
38	_dbg ASTAT;
39	r7=astat;
40	dbga (r7.h, 0x0);
41	dbga (r7.l, 0x1006);
42
43	A1 = A0 = 0;
44	R0 = 0x0;
45	astat=r0;
46	A0.w = R0;
47	R0.L = 0x0080;
48	A0.x = R0;
49	R1 = 1;
50	A1 = R1;
51
52	_DBG A0;
53	_DBG A1;
54
55	A0 -= A1;
56	_dbg A0;
57	_dbg ASTAT;
58	r7=astat;
59	dbga (r7.h, 0x3);
60	dbga (r7.l, 0x1006);
61
62	A1 = A0 = 0;
63	R0 = 0x1 (z);
64	astat=r0;
65	A0.w = R0;
66	R0.L = 0x0080;
67	A0.x = R0;
68	R1 = 2 (z);
69	A1 = R1;
70
71	_DBG A0;
72	_DBG A1;
73
74	A0 -= A1;
75	_dbg A0;
76	_dbg ASTAT;
77	r7=astat;
78	dbga (r7.h, 0x3);
79	dbga (r7.l, 0x1006);
80
81	#
82
83	A1 = A0 = 0;
84	R0 = 0x0;
85	astat=r0;
86	R0.L=0xffff;
87	R0.H=0xffff;
88	A0.w = R0;
89	R1=0x7f;
90	A0.x = R1;
91	A1.x = R1;
92	A1.w = R0;
93
94	_DBG A0;
95	_DBG A1;
96
97	A0 += A1;
98	_dbg A0;
99	_dbg ASTAT;
100	r7=astat;
101	dbga (r7.h, 0x3);
102	dbga (r7.l, 0x0);
103
104	A1 = A0 = 0;
105	R0 = 0x0;
106	astat=r0;
107	A0.w = R0;
108	R1=0x80;
109	A0.x = R1;
110	A1.x = R1;
111	A1.w = R0;
112
113	_DBG A0;
114	_DBG A1;
115
116	A0 += A1;
117	_dbg A0;
118	_dbg ASTAT;
119	r7=astat;
120	dbga (r7.h, 0x3);
121	dbga (r7.l, 0x1006);
122
123	pass;
124