1//Original:/proj/frio/dv/testcases/core/c_regmv_pr_dep_stall/c_regmv_pr_dep_stall.dsp
2// Spec Reference: regmv pr-dependency  stall
3# mach: bfin
4
5.include "testutils.inc"
6	start
7
8	INIT_M_REGS 0;
9
10// R-reg to P-reg to R reg: stall
11	imm32 r0, 0x00001110;
12	imm32 r1, 0x00213330;
13	imm32 r2, 0x04015550;
14	imm32 r3, 0x06607770;
15	imm32 r4, 0x08810990;
16	imm32 r5, 0x01a1b0b0;
17	imm32 r6, 0x01c1dd00;
18	imm32 r7, 0x01e1fff0;
19	P1 = R1;
20	R0 = P1;
21	P2 = R2;
22	R1 = P2;
23	P3 = R3;
24	R2 = P3;
25	P4 = R4;
26	R3 = P4;
27	P5 = R5;
28	R4 = P5;
29	SP = R6;
30	R5 = P2;
31	FP = R7;
32	R6 = P3;
33
34	CHECKREG r0, 0x00213330;
35	CHECKREG r1, 0x04015550;
36	CHECKREG r2, 0x06607770;
37	CHECKREG r3, 0x08810990;
38	CHECKREG r4, 0x01A1B0B0;
39	CHECKREG r5, 0x04015550;
40	CHECKREG r6, 0x06607770;
41	CHECKREG r7, 0x01E1FFF0;
42
43// R-reg to P-reg to I,M reg: stall
44	imm32 r0, 0x10001111;
45	imm32 r1, 0x11213331;
46	imm32 r2, 0x14115551;
47	imm32 r3, 0x16617771;
48	imm32 r4, 0x18811991;
49	imm32 r5, 0x11a1b1b1;
50	imm32 r6, 0x11c1dd11;
51	imm32 r7, 0x11e1fff1;
52	P1 = R0;
53	I0 = P1;
54	P2 = R1;
55	I1 = P2;
56	P3 = R2;
57	I2 = P3;
58	P4 = R3;
59	I3 = P4;
60	P5 = R4;
61	M0 = P5;
62	SP = R5;
63	M1 = SP;
64	FP = R6;
65	M2 = FP;
66
67	R0 = I3;
68	R1 = I2;
69	R2 = I1;
70	R3 = I0;
71	R4 = M3;
72	R5 = M2;
73	R6 = M1;
74	R7 = M0;
75	CHECKREG r0, 0x16617771;
76	CHECKREG r1, 0x14115551;
77	CHECKREG r2, 0x11213331;
78	CHECKREG r3, 0x10001111;
79	CHECKREG r4, 0x00000000;
80	CHECKREG r5, 0x11C1DD11;
81	CHECKREG r6, 0x11A1B1B1;
82	CHECKREG r7, 0x18811991;
83
84	CHECKREG p1, 0x10001111;
85	CHECKREG p2, 0x11213331;
86	CHECKREG p3, 0x14115551;
87	CHECKREG p4, 0x16617771;
88	CHECKREG p5, 0x18811991;
89	CHECKREG sp, 0x11A1B1B1;
90	CHECKREG fp, 0x11C1DD11;
91
92	imm32 r0, 0x20001112;
93	imm32 r1, 0x21213332;
94	imm32 r2, 0x24115552;
95	imm32 r3, 0x26617772;
96	imm32 r4, 0x28811992;
97	imm32 r5, 0x21a1b1b2;
98	imm32 r6, 0x21c1dd12;
99	imm32 r7, 0x21e1fff2;
100	P1 = R3;
101	I3 = P1;
102	P2 = R4;
103	I0 = P2;
104	P3 = R5;
105	I1 = P3;
106	P4 = R6;
107	I2 = P4;
108	P5 = R7;
109	M1 = P5;
110	SP = R0;
111	M2 = SP;
112	FP = R1;
113	M3 = FP;
114
115	R0 = I3;
116	R1 = I2;
117	R2 = I1;
118	R3 = I0;
119	R4 = M3;
120	R5 = M2;
121	R6 = M1;
122	R7 = M0;
123	CHECKREG r0, 0x26617772;
124	CHECKREG r1, 0x21C1DD12;
125	CHECKREG r2, 0x21A1B1B2;
126	CHECKREG r3, 0x28811992;
127	CHECKREG r4, 0x21213332;
128	CHECKREG r5, 0x20001112;
129	CHECKREG r6, 0x21E1FFF2;
130	CHECKREG r7, 0x18811991;
131
132	CHECKREG p1, 0x26617772;
133	CHECKREG p2, 0x28811992;
134	CHECKREG p3, 0x21A1B1B2;
135	CHECKREG p4, 0x21C1DD12;
136	CHECKREG p5, 0x21E1FFF2;
137	CHECKREG sp, 0x20001112;
138	CHECKREG fp, 0x21213332;
139
140// R-reg to P-reg to L,B reg: stall
141	imm32 r0, 0x30001113;
142	imm32 r1, 0x31213333;
143	imm32 r2, 0x34115553;
144	imm32 r3, 0x36617773;
145	imm32 r4, 0x38811993;
146	imm32 r5, 0x31a1b1b3;
147	imm32 r6, 0x31c1dd13;
148	imm32 r7, 0x31e1fff3;
149	P1 = R4;
150	L0 = P1;
151	P2 = R5;
152	L1 = P2;
153	P3 = R6;
154	L2 = P3;
155	P4 = R7;
156	L3 = P4;
157	P5 = R0;
158	B0 = P5;
159	SP = R1;
160	B1 = SP;
161	FP = R2;
162	B2 = FP;
163
164	R0 = L3;
165	R1 = L2;
166	R2 = L1;
167	R3 = L0;
168	R4 = B3;
169	R5 = B2;
170	R6 = B1;
171	R7 = B0;
172	CHECKREG r0, 0x31E1FFF3;
173	CHECKREG r1, 0x31C1DD13;
174	CHECKREG r2, 0x31A1B1B3;
175	CHECKREG r3, 0x38811993;
176	CHECKREG r4, 0x00000000;
177	CHECKREG r5, 0x34115553;
178	CHECKREG r6, 0x31213333;
179	CHECKREG r7, 0x30001113;
180
181	CHECKREG p1, 0x38811993;
182	CHECKREG p2, 0x31A1B1B3;
183	CHECKREG p3, 0x31C1DD13;
184	CHECKREG p4, 0x31E1FFF3;
185	CHECKREG p5, 0x30001113;
186	CHECKREG sp, 0x31213333;
187	CHECKREG fp, 0x34115553;
188
189	imm32 r0, 0x40001114;
190	imm32 r1, 0x44213334;
191	imm32 r2, 0x44415554;
192	imm32 r3, 0x46647774;
193	imm32 r4, 0x48814994;
194	imm32 r5, 0x41a1b4b4;
195	imm32 r6, 0x41c1dd44;
196	imm32 r7, 0x41e1fff4;
197	P1 = R5;
198	L2 = P1;
199	P2 = R6;
200	L3 = P2;
201	P3 = R7;
202	L0 = P3;
203	P4 = R0;
204	L1 = P4;
205	P5 = R1;
206	B2 = P5;
207	SP = R2;
208	B3 = SP;
209	FP = R3;
210	B0 = FP;
211
212	R0 = L3;
213	R1 = L2;
214	R2 = L1;
215	R3 = L0;
216	R4 = B3;
217	R5 = B2;
218	R6 = B1;
219	R7 = B0;
220	CHECKREG r0, 0x41C1DD44;
221	CHECKREG r1, 0x41A1B4B4;
222	CHECKREG r2, 0x40001114;
223	CHECKREG r3, 0x41E1FFF4;
224	CHECKREG r4, 0x44415554;
225	CHECKREG r5, 0x44213334;
226	CHECKREG r6, 0x31213333;
227	CHECKREG r7, 0x46647774;
228
229	CHECKREG p1, 0x41A1B4B4;
230	CHECKREG p2, 0x41C1DD44;
231	CHECKREG p3, 0x41E1FFF4;
232	CHECKREG p4, 0x40001114;
233	CHECKREG p5, 0x44213334;
234	CHECKREG sp, 0x44415554;
235	CHECKREG fp, 0x46647774;
236
237	pass
238