1# mach: bfin
2
3#include "test.h"
4.include "testutils.inc"
5	start
6
7
8	init_r_regs 0;
9	ASTAT = r0;
10
11	r0 = -1;
12	A0 = r0;
13	_dbg astat;
14	r0 +=1;
15	_dbg astat;
16	A0 = A0 (S);
17	r7 = astat;
18	checkreg r7, (_AC0|_AC0_COPY|_AN)
19	_dbg a0;
20	_dbg astat;
21	A0 = 0;
22	A0 = A0 (S);
23	r7 = astat;
24	checkreg r7, (_AC0|_AC0_COPY|_AZ)
25	_dbg a0;
26	_dbg astat;
27
28	r0 = -1;
29	A1 = r0;
30	_dbg astat;
31	r0 +=1;
32	r7 = astat;
33	checkreg r7, (_AC0|_AC0_COPY|_AZ);
34	_dbg astat;
35	A1 = A1 (S);
36	r7 = astat;
37	_dbg astat;
38	checkreg r7, (_AC0|_AC0_COPY|_AN)
39	_dbg a1;
40	_dbg astat;
41	A1 = 0;
42	A1 = A1 (S);
43	r7 = astat;
44	checkreg r7, (_AC0|_AC0_COPY|_AZ)
45	_dbg a1;
46	_dbg astat;
47
48	r1.l = 0x0;
49	r1.h = 0x8000;
50	a1 = r1;
51	a1 = a1 << 8;
52	_dbg a1;
53	r7 = astat;
54	checkreg r7, (_AC0|_AC0_COPY|_AN)
55	a1 = a1(s);
56	_dbg astat;
57	_dbg a1;
58	r7 = astat;
59	checkreg r7, (_AV1S|_AV1|_AC0|_AC0_COPY|_AN)
60
61	r1.l = 0x0;
62	r1.h = 0x8000;
63	a0 = r1;
64	a0 = a0 << 8;
65	_dbg a0;
66	a0 = a0(s);
67	_dbg astat;
68	_dbg a0;
69	r7 = astat;
70	checkreg r7, (_AV1S|_AV1|_AV0S|_AV0|_AC0|_AC0_COPY|_AN)
71	pass
72