xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/bfin/c_pushpopmultiple_dp.s (revision 4b169a6ba595ae283ca507b26b15fdff40495b1c)
1//Original:/testcases/core/c_pushpopmultiple_dp/c_pushpopmultiple_dp.dsp
2// Spec Reference: pushpopmultiple dreg preg single group
3# mach: bfin
4
5.include "testutils.inc"
6	start
7
8	FP = SP;
9
10	imm32 r0, 0x00000000;
11	ASTAT = r0;
12
13	R0 = 0x01;
14	R1 = 0x02;
15	R2 = 0x03;
16	R3 = 0x04;
17	R4 = 0x05;
18	R5 = 0x06;
19	R6 = 0x07;
20	R7 = 0x08;
21
22	P1 = 0xa1 (X);
23	P2 = 0xa2 (X);
24	P3 = 0xa3 (X);
25	P4 = 0xa4 (X);
26	P5 = 0xa5 (X);
27	[ -- SP ] = ( R7:0 );
28	[ -- SP ] = ( P5:1 );
29
30	R1 = 0x12;
31	R2 = 0x13;
32	R3 = 0x14;
33	R4 = 0x15;
34	R5 = 0x16;
35	R6 = 0x17;
36	R7 = 0x18;
37
38	P2 = 0xb2 (X);
39	P3 = 0xb3 (X);
40	P4 = 0xb4 (X);
41	P5 = 0xb5 (X);
42	[ -- SP ] = ( R7:1 );
43	[ -- SP ] = ( P5:2 );
44
45	R2 = 0x23;
46	R3 = 0x24;
47	R4 = 0x25;
48	R5 = 0x26;
49	R6 = 0x27;
50	R7 = 0x28;
51
52	P3 = 0xc3 (X);
53	P4 = 0xc4 (X);
54	P5 = 0xc5 (X);
55	[ -- SP ] = ( R7:2 );
56	[ -- SP ] = ( P5:3 );
57
58	R3 = 0x34;
59	R4 = 0x35;
60	R5 = 0x36;
61	R6 = 0x37;
62	R7 = 0x38;
63
64	P4 = 0xd4 (X);
65	P5 = 0xd5 (X);
66	[ -- SP ] = ( R7:3 );
67	[ -- SP ] = ( P5:4 );
68
69	R4 = 0x45 (X);
70	R5 = 0x46 (X);
71	R6 = 0x47 (X);
72	R7 = 0x48 (X);
73	P5 = 0xe5 (X);
74	[ -- SP ] = ( R7:4 );
75	[ -- SP ] = ( P5:5 );
76
77	R5 = 0x56 (X);
78	R6 = 0x57 (X);
79	R7 = 0x58 (X);
80	[ -- SP ] = ( R7:5 );
81	R6 = 0x67 (X);
82	R7 = 0x68 (X);
83	[ -- SP ] = ( R7:6 );
84	R7 = 0x78 (X);
85	[ -- SP ] = ( R7:7 );
86	R0 = 0;
87	R1 = 0;
88	R2 = 0;
89	R3 = 0;
90	R4 = 0;
91	R5 = 0;
92	R6 = 0;
93	R7 = 0;
94	P1 = 0;
95	P2 = 0;
96	P3 = 0;
97	P4 = 0;
98	P5 = 0;
99	( R7:7 ) = [ SP ++ ];
100	CHECKREG r0, 0x00000000;
101	CHECKREG r1, 0x00000000;
102	CHECKREG r2, 0x00000000;
103	CHECKREG r3, 0x00000000;
104	CHECKREG r4, 0x00000000;
105	CHECKREG r5, 0x00000000;
106	CHECKREG r6, 0x00000000;
107	CHECKREG r7, 0x00000078;
108
109	( R7:6 ) = [ SP ++ ];
110	CHECKREG r0, 0x00000000;
111	CHECKREG r1, 0x00000000;
112	CHECKREG r2, 0x00000000;
113	CHECKREG r3, 0x00000000;
114	CHECKREG r4, 0x00000000;
115	CHECKREG r5, 0x00000000;
116	CHECKREG r6, 0x00000067;
117	CHECKREG r7, 0x00000068;
118
119	( R7:5 ) = [ SP ++ ];
120	CHECKREG r0, 0x00000000;
121	CHECKREG r1, 0x00000000;
122	CHECKREG r2, 0x00000000;
123	CHECKREG r3, 0x00000000;
124	CHECKREG r4, 0x00000000;
125	CHECKREG r5, 0x00000056;
126	CHECKREG r6, 0x00000057;
127	CHECKREG r7, 0x00000058;
128
129	( P5:5 ) = [ SP ++ ];
130	( R7:4 ) = [ SP ++ ];
131	CHECKREG p1, 0x00000000;
132	CHECKREG p2, 0x00000000;
133	CHECKREG p3, 0x00000000;
134	CHECKREG p4, 0x00000000;
135	CHECKREG p5, 0x000000e5;
136
137	CHECKREG r0, 0x00000000;
138	CHECKREG r1, 0x00000000;
139	CHECKREG r2, 0x00000000;
140	CHECKREG r3, 0x00000000;
141	CHECKREG r4, 0x00000045;
142	CHECKREG r5, 0x00000046;
143	CHECKREG r6, 0x00000047;
144	CHECKREG r7, 0x00000048;
145
146	( P5:4 ) = [ SP ++ ];
147	( R7:3 ) = [ SP ++ ];
148	CHECKREG p1, 0x00000000;
149	CHECKREG p2, 0x00000000;
150	CHECKREG p3, 0x00000000;
151	CHECKREG p4, 0x000000d4;
152	CHECKREG p5, 0x000000d5;
153
154	CHECKREG r0, 0x00000000;
155	CHECKREG r1, 0x00000000;
156	CHECKREG r2, 0x00000000;
157	CHECKREG r3, 0x00000034;
158	CHECKREG r4, 0x00000035;
159	CHECKREG r5, 0x00000036;
160	CHECKREG r6, 0x00000037;
161	CHECKREG r7, 0x00000038;
162
163	( P5:3 ) = [ SP ++ ];
164	( R7:2 ) = [ SP ++ ];
165	CHECKREG p1, 0x00000000;
166	CHECKREG p2, 0x00000000;
167	CHECKREG p3, 0x000000c3;
168	CHECKREG p4, 0x000000c4;
169	CHECKREG p5, 0x000000c5;
170
171	CHECKREG r0, 0x00000000;
172	CHECKREG r1, 0x00000000;
173	CHECKREG r2, 0x00000023;
174	CHECKREG r3, 0x00000024;
175	CHECKREG r4, 0x00000025;
176	CHECKREG r5, 0x00000026;
177	CHECKREG r6, 0x00000027;
178	CHECKREG r7, 0x00000028;
179
180	( P5:2 ) = [ SP ++ ];
181	( R7:1 ) = [ SP ++ ];
182	CHECKREG p1, 0x00000000;
183	CHECKREG p2, 0x000000b2;
184	CHECKREG p3, 0x000000b3;
185	CHECKREG p4, 0x000000b4;
186	CHECKREG p5, 0x000000b5;
187
188	CHECKREG r0, 0x00000000;
189	CHECKREG r1, 0x00000012;
190	CHECKREG r2, 0x00000013;
191	CHECKREG r3, 0x00000014;
192	CHECKREG r4, 0x00000015;
193	CHECKREG r5, 0x00000016;
194	CHECKREG r6, 0x00000017;
195	CHECKREG r7, 0x00000018;
196
197	( P5:1 ) = [ SP ++ ];
198	( R7:0 ) = [ SP ++ ];
199	CHECKREG p1, 0x000000a1;
200	CHECKREG p2, 0x000000a2;
201	CHECKREG p3, 0x000000a3;
202	CHECKREG p4, 0x000000a4;
203	CHECKREG p5, 0x000000a5;
204
205	CHECKREG r0, 0x00000001;
206	CHECKREG r1, 0x00000002;
207	CHECKREG r2, 0x00000003;
208	CHECKREG r3, 0x00000004;
209	CHECKREG r4, 0x00000005;
210	CHECKREG r5, 0x00000006;
211	CHECKREG r6, 0x00000007;
212	CHECKREG r7, 0x00000008;
213	pass
214