1//Original:/testcases/core/c_regmv_dr_acc_acc/c_regmv_dr_acc_acc.dsp
2// Spec Reference: regmv dreg-acc-acc
3# mach: bfin
4
5.include "testutils.inc"
6	start
7
8
9
10// check R-reg to ACC
11	imm32 r0, 0x00000000;
12	imm32 r1, 0x12345678;
13	imm32 r2, 0x91234567;
14	imm32 r3, 0x00060007;
15	imm32 r4, 0x00080009;
16	imm32 r5, 0x000a000b;
17	imm32 r6, 0x000c000d;
18	imm32 r7, 0x000e000f;
19	A0 = R0;
20	A1 = R0;
21	A0 = R1;
22	A1 = R2;
23
24	R3 = A0.w;
25	R4 = A0.x;
26	R5 = A1.w;
27	R6 = A1.x;
28	CHECKREG r0, 0x00000000;
29	CHECKREG r1, 0x12345678;
30	CHECKREG r2, 0x91234567;
31	CHECKREG r3, 0x12345678;
32	CHECKREG r4, 0x00000000;
33	CHECKREG r5, 0x91234567;
34	CHECKREG r6, 0xFFFFFFFF;
35	CHECKREG r7, 0x000E000F;
36
37	A1 = A0 = 0;
38	R3 = A0.w;
39	R4 = A0.x;
40	R5 = A1.w;
41	R6 = A1.x;
42	CHECKREG r3, 0x00000000;
43	CHECKREG r4, 0x00000000;
44	CHECKREG r5, 0x00000000;
45	CHECKREG r6, 0x00000000;
46
47	imm32 r0, 0xa5678901;
48	imm32 r1, 0xb0158978;
49	imm32 r2, 0x91234567;
50	imm32 r3, 0x10060007;
51	imm32 r4, 0x02080009;
52	imm32 r5, 0x003a000b;
53	imm32 r6, 0x0004000d;
54	imm32 r7, 0x000e500f;
55	A0 = R0;
56	A1 = R1;
57
58	R3 = A0.w;
59	R4 = A0.x;
60	R5 = A1.w;
61	R6 = A1.x;
62	CHECKREG r0, 0xA5678901;
63	CHECKREG r1, 0xB0158978;
64	CHECKREG r2, 0x91234567;
65	CHECKREG r3, 0xA5678901;
66	CHECKREG r4, 0xFFFFFFFF;
67	CHECKREG r5, 0xB0158978;
68	CHECKREG r6, 0xFFFFFFFF;
69	CHECKREG r7, 0x000E500F;
70
71	imm32 r0, 0xe9627911;
72	imm32 r1, 0xd0158978;
73	imm32 r2, 0xc1234567;
74	imm32 r3, 0x10060007;
75	imm32 r4, 0x02080009;
76	imm32 r5, 0x003a000b;
77	imm32 r6, 0x0004000d;
78	imm32 r7, 0x000e500f;
79	A0 = R0;
80	A1 = A0;
81
82	imm32 r0, 0x90ba7911;
83	imm32 r1, 0xe3458978;
84	imm32 r2, 0xc1234567;
85	imm32 r3, 0x10060007;
86	imm32 r4, 0x56080009;
87	imm32 r5, 0x783a000b;
88	imm32 r6, 0xf247890d;
89	imm32 r7, 0x489e534f;
90	A0.w = R0;
91	A0.x = R1;
92	A1.w = R2;
93	A1.x = R3;
94
95	R4 = A0.w;
96	R5 = A0.x;
97	R6 = A1.w;
98	R7 = A1.x;
99
100	CHECKREG r0, 0x90BA7911;
101	CHECKREG r1, 0xE3458978;
102	CHECKREG r2, 0xC1234567;
103	CHECKREG r3, 0x10060007;
104	CHECKREG r4, 0x90BA7911;
105	CHECKREG r5, 0x00000078;
106	CHECKREG r6, 0xC1234567;
107	CHECKREG r7, 0x00000007;
108
109	R3 = A0.w;
110	R4 = A0.x;
111	R5 = A1.w;
112	R6 = A1.x;
113	CHECKREG r0, 0x90BA7911;
114	CHECKREG r1, 0xE3458978;
115	CHECKREG r2, 0xC1234567;
116	CHECKREG r3, 0x90BA7911;
117	CHECKREG r4, 0x00000078;
118	CHECKREG r5, 0xC1234567;
119	CHECKREG r6, 0x00000007;
120	CHECKREG r7, 0x00000007;
121
122	imm32 r0, 0xf9627911;
123	imm32 r1, 0xd0158978;
124	imm32 r2, 0xc1234567;
125	imm32 r3, 0x10060007;
126	imm32 r4, 0x02080009;
127	imm32 r5, 0x003a000b;
128	imm32 r6, 0xf247890d;
129	imm32 r7, 0x789e534f;
130	A0 = R6;
131	A1.w = A0.w;
132	A1.x = A0.x;
133
134	R0 = A0.w;
135	R1 = A0.x;
136	R2 = A1.w;
137	R3 = A1.x;
138
139	A1 = R7;
140	A0.w = A1.w;
141	A0.x = A1.x;
142
143	R4 = A0.w;
144	R5 = A0.x;
145	R6 = A1.w;
146	R7 = A1.x;
147
148	CHECKREG r0, 0xF247890D;
149	CHECKREG r1, 0xFFFFFFFF;
150	CHECKREG r2, 0xF247890D;
151	CHECKREG r3, 0xFFFFFFFF;
152	CHECKREG r4, 0x789E534F;
153	CHECKREG r5, 0x00000000;
154	CHECKREG r6, 0x789E534F;
155	CHECKREG r7, 0x00000000;
156
157	imm32 r0, 0x90ba7911;
158	imm32 r1, 0xe3458978;
159	imm32 r2, 0xc1234567;
160	imm32 r3, 0x10060007;
161	imm32 r4, 0x56080009;
162	imm32 r5, 0x783a000b;
163	imm32 r6, 0xf247890d;
164	imm32 r7, 0x489e534f;
165	A0.w = A1.x;
166	A0.x = A1.x;
167	R4 = A0.w;
168	R5 = A0.x;
169
170	A0 = R2;
171	A1.w = A0.x;
172	A1.x = A0.x;
173
174	R6 = A1.w;
175	R7 = A1.x;
176
177	A0.x = A1.w;
178	A1.x = A0.w;
179	R0 = A0.x;
180	R1 = A1.x;
181
182	CHECKREG r0, 0xFFFFFFFF;
183	CHECKREG r1, 0x00000067;
184	CHECKREG r2, 0xC1234567;
185	CHECKREG r3, 0x10060007;
186	CHECKREG r4, 0x00000000;
187	CHECKREG r5, 0x00000000;
188	CHECKREG r6, 0xFFFFFFFF;
189	CHECKREG r7, 0xFFFFFFFF;
190
191	pass
192