xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/bfin/a22.s (revision 4b169a6ba595ae283ca507b26b15fdff40495b1c)
1//  Test ALU  NEG accumulators
2# mach: bfin
3
4.include "testutils.inc"
5	start
6
7
8	R0 = 0xffffffff;
9	A0.w = R0;
10	R0 = 0x7f (X);
11	A0.x = R0;
12	A0 = - A0;
13	_DBG A0;
14	R4 = A0.w;
15	R5 = A0.x;
16	DBGA ( R4.H , 0x0000 );	DBGA ( R4.L , 0x0001 );
17	DBGA ( R5.H , 0xffff );	DBGA ( R5.L , 0xff80 );
18
19	R0 = 0x1;
20	A0.w = R0;
21	R0 = 0x0;
22	A0.x = R0;
23	A0 = - A0;
24	R4 = A0.w;
25	R5 = A0.x;
26	_DBG A0;
27	DBGA ( R4.H , 0xffff );	DBGA ( R4.L , 0xffff );
28	DBGA ( R5.H , 0xffff );	DBGA ( R5.L , 0xffff );
29
30	R0 = 0xffffffff;
31	A0.w = R0;
32	R0 = 0xff (X);
33	A0.x = R0;
34	A0 = - A0;
35	R4 = A0.w;
36	R5 = A0.x;
37	DBGA ( R4.H , 0x0000 );	DBGA ( R4.L , 0x0001 );
38	DBGA ( R5.H , 0x0000 );	DBGA ( R5.L , 0x0000 );
39
40	R0 = 0x00000000;
41	A0.w = R0;
42	R0 = 0x80 (X);
43	A0.x = R0;
44	A0 = - A0;
45	R4 = A0.w;
46	R5 = A0.x;
47	DBGA ( R4.H , 0xffff );	DBGA ( R4.L , 0xffff );
48	DBGA ( R5.H , 0x0000 );	DBGA ( R5.L , 0x007f );
49
50//  NEG NEG
51	R0 = 0x00000000;
52	A0.w = R0;
53	R0 = 0x80 (X);
54	A0.x = R0;
55
56	R0 = 0xffffffff;
57	A1.w = R0;
58	R0 = 0x7f (X);
59	A1.x = R0;
60
61	A1 = - A1, A0 = - A0;
62
63	R4 = A0.w;
64	R5 = A0.x;
65	DBGA ( R4.H , 0xffff );	DBGA ( R4.L , 0xffff );
66	DBGA ( R5.H , 0x0000 );	DBGA ( R5.L , 0x007f );
67
68	R4 = A1.w;
69	R5 = A1.x;
70	_DBG A1;
71	DBGA ( R4.H , 0x0000 );	DBGA ( R4.L , 0x0001 );
72	DBGA ( R5.H , 0xffff );	DBGA ( R5.L , 0xff80 );
73
74//  NEG NEG register
75	R0.L = 0x0001;
76	R0.H = 0x8000;
77
78	R3 = - R0 (V);
79	DBGA ( R3.H , 0x7fff );	DBGA ( R3.L , 0xffff );
80
81	_DBG ASTAT;
82
83	pass
84