xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/bfin/s16.s (revision 4b169a6ba595ae283ca507b26b15fdff40495b1c)
1//  reg-based SHIFT test program.
2# mach: bfin
3
4.include "testutils.inc"
5	start
6
7
8//  Test FDEP with no sign extension
9
10	R0.L = 0xdead;
11	R0.H = 0x1234;
12	R1.L = 0x0c08;	// pos=12 len=8
13	R1.H = 0x00ff;
14	R7 = DEPOSIT( R0, R1 );
15	DBGA ( R7.L , 0xfead );
16	DBGA ( R7.H , 0x123f );
17
18	R0.L = 0xdead;
19	R0.H = 0x1234;
20	R1.L = 0x0c04;	// pos=12 len=4
21	R1.H = 0x00ff;
22	R7 = DEPOSIT( R0, R1 );
23	DBGA ( R7.L , 0xfead );
24	DBGA ( R7.H , 0x1234 );
25
26	R0.L = 0xdead;
27	R0.H = 0x1234;
28	R1.L = 0x0c05;	// pos=12 len=5
29	R1.H = 0x00ff;
30	R7 = DEPOSIT( R0, R1 );
31	DBGA ( R7.L , 0xfead );
32	DBGA ( R7.H , 0x1235 );
33
34	R0.L = 0xdead;
35	R0.H = 0x1234;
36	R1.L = 0x0010;	// pos=0 len=16
37	R1.H = 0xffff;
38	R7 = DEPOSIT( R0, R1 );
39	DBGA ( R7.L , 0xffff );
40	DBGA ( R7.H , 0x1234 );
41
42	R0.L = 0xdead;
43	R0.H = 0x1234;
44	R1.L = 0x0011;	// pos=0 len=17
45	R1.H = 0xffff;
46	R7 = DEPOSIT( R0, R1 );
47	DBGA ( R7.L , 0xffff );
48	DBGA ( R7.H , 0x1234 );
49
50	R0.L = 0xdead;
51	R0.H = 0x1234;
52	R1.L = 0x0114;	// pos=1 len=20
53	R1.H = 0xffff;
54	R7 = DEPOSIT( R0, R1 );
55	DBGA ( R7.L , 0xffff );
56	DBGA ( R7.H , 0x1235 );
57
58	R0.L = 0xdead;
59	R0.H = 0x1234;
60	R1.L = 0x001f;	// pos=0 len=31
61	R1.H = 0xffff;
62	R7 = DEPOSIT( R0, R1 );
63	DBGA ( R7.L , 0xffff );
64	DBGA ( R7.H , 0x1234 );
65
66	R0.L = 0xdead;
67	R0.H = 0x1234;
68	R1.L = 0x1c04;	// pos=28 len=4
69	R1.H = 0xffff;
70	R7 = DEPOSIT( R0, R1 );
71	DBGA ( R7.L , 0xdead );
72	DBGA ( R7.H , 0xf234 );
73
74	R0.L = 0xdead;
75	R0.H = 0x0234;
76	R1.L = 0x1d04;	// pos=29 len=4
77	R1.H = 0xffff;
78	R7 = DEPOSIT( R0, R1 );
79	DBGA ( R7.L , 0xdead );
80	DBGA ( R7.H , 0xe234 );
81
82	R0.L = 0xdead;
83	R0.H = 0x0234;
84	R1.L = 0x1f04;	// pos=31 len=4
85	R1.H = 0xffff;
86	R7 = DEPOSIT( R0, R1 );
87	DBGA ( R7.L , 0xdead );
88	DBGA ( R7.H , 0x8234 );
89
90	R0.L = 0xdead;
91	R0.H = 0x0234;
92	R1.L = 0x2004;	// pos=32 len=4, same as pos=0 len=4
93	R1.H = 0xffff;
94	R7 = DEPOSIT( R0, R1 );
95	DBGA ( R7.L , 0xdeaf );
96	DBGA ( R7.H , 0x0234 );
97
98//  Test FDEP with sign extension
99
100	R0.L = 0xdead;
101	R0.H = 0x1234;
102	R1.L = 0x0c08;	// pos=12 len=8
103	R1.H = 0x00ff;
104	R7 = DEPOSIT( R0, R1 ) (X);
105	DBGA ( R7.L , 0xfead );
106	DBGA ( R7.H , 0xffff );
107	CC = AZ;	R7 = CC; DBGA ( R7.L , 0x0 );
108	CC = AN;	R7 = CC; DBGA ( R7.L , 0x1 );
109
110	R0.L = 0xdead;
111	R0.H = 0x1234;
112	R1.L = 0x0c08;	// pos=12 len=8
113	R1.H = 0x007f;
114	R7 = DEPOSIT( R0, R1 ) (X);
115	DBGA ( R7.L , 0xfead );
116	DBGA ( R7.H , 0x0007 );
117	CC = AZ;	R7 = CC; DBGA ( R7.L , 0x0 );
118	CC = AN;	R7 = CC; DBGA ( R7.L , 0x0 );
119
120	R0.L = 0xdea0;
121	R0.H = 0x1234;
122	R1.L = 0x0110;	// pos=1 len=16
123	R1.H = 0xffff;
124	R7 = DEPOSIT( R0, R1 ) (X);
125	DBGA ( R7.L , 0xfffe );
126	DBGA ( R7.H , 0xffff );
127	CC = AZ;	R7 = CC; DBGA ( R7.L , 0x0 );
128	CC = AN;	R7 = CC; DBGA ( R7.L , 0x1 );
129
130	R0.L = 0xdea0;
131	R0.H = 0x1234;
132	R1.L = 0x0101;	// pos=1 len=1
133	R1.H = 0xffff;
134	R7 = DEPOSIT( R0, R1 ) (X);
135	DBGA ( R7.L , 0xfffe );
136	DBGA ( R7.H , 0xffff );
137	CC = AZ;	R7 = CC; DBGA ( R7.L , 0x0 );
138	CC = AN;	R7 = CC; DBGA ( R7.L , 0x1 );
139
140	R0.L = 0xdea0;
141	R0.H = 0x1234;
142	R1.L = 0x0102;	// pos=1 len=2
143	R1.H = 0x0001;
144	R7 = DEPOSIT( R0, R1 ) (X);
145	DBGA ( R7.L , 0x0002 );
146	DBGA ( R7.H , 0x0000 );
147	CC = AZ;	R7 = CC; DBGA ( R7.L , 0x0 );
148	CC = AN;	R7 = CC; DBGA ( R7.L , 0x0 );
149
150	R0.L = 0xdea0;
151	R0.H = 0x1234;
152	R1.L = 0x0002;	// pos=0 len=2
153	R1.H = 0x0001;
154	R7 = DEPOSIT( R0, R1 ) (X);
155	DBGA ( R7.L , 0x0001 );
156	DBGA ( R7.H , 0x0000 );
157	CC = AZ;	R7 = CC; DBGA ( R7.L , 0x0 );
158	CC = AN;	R7 = CC; DBGA ( R7.L , 0x0 );
159
160	R0.L = 0xdea0;
161	R0.H = 0x1234;
162	R1.L = 0x0000;	// pos=0 len=0
163	R1.H = 0x000f;
164	R7 = DEPOSIT( R0, R1 ) (X);
165	DBGA ( R7.L , 0x0000 );
166	DBGA ( R7.H , 0x0000 );
167	CC = AZ;	R7 = CC; DBGA ( R7.L , 0x1 );
168	CC = AN;	R7 = CC; DBGA ( R7.L , 0x0 );
169
170	pass
171