1 //Original:/proj/frio/dv/testcases/core/c_dsp32mac_pair_a1a0_u/c_dsp32mac_pair_a1a0_u.dsp
2 // Spec Reference: dsp32mac pair a1a0 U
5 .include "testutils.inc"
10 // The result accumulated in A , and stored to a reg half
19 R7 = ( A1 += R1.L * R0.L ), R6 = ( A0 = R1.L * R0.L ) (FU);
22 R1 = ( A1 = R2.L * R3.L ), R0 = ( A0 = R2.H * R3.L ) (FU);
25 R3 = ( A1 -= R7.L * R4.L ), R2 = ( A0 += R7.H * R4.H ) (FU);
28 R5 = ( A1 += R6.L * R5.L ), R4 = ( A0 += R6.L * R5.H ) (FU);
30 CHECKREG r0, 0x00049ABC;
31 CHECKREG r1, 0x00025D4F;
32 CHECKREG r2, 0x549454CC;
33 CHECKREG r3, 0x00000000;
34 CHECKREG r4, 0x55A3F173;
35 CHECKREG r5, 0x07CFA619;
36 CHECKREG r6, 0x5A4E0EEB;
37 CHECKREG r7, 0x5A4E0EEB;
38 CHECKREG p1, 0x5A4E0EEB;
39 CHECKREG p2, 0x5A4E0EEB;
40 CHECKREG p3, 0x00025D4F;
41 CHECKREG p4, 0x00049ABC;
42 CHECKREG p5, 0x00000000;
43 CHECKREG sp, 0x549454CC;
44 CHECKREG fp, 0x07CFA619;
54 R5 = ( A1 += R1.L * R0.H ), R4 = ( A0 -= R1.L * R0.L ) (FU);
57 R1 = ( A1 -= R2.L * R3.H ), R0 = ( A0 = R2.H * R3.L ) (FU);
61 R3 = ( A1 = R4.L * R5.H ), R2 = ( A0 += R4.H * R5.H ) (FU);
64 R1 = ( A1 += R6.L * R7.H ), R0 = ( A0 += R6.L * R7.H ) (FU);
66 CHECKREG r0, 0x089013D8;
67 CHECKREG r1, 0x6C5ACAC6;
68 CHECKREG r2, 0x088458C2;
69 CHECKREG r3, 0x6C4F0FB0;
70 CHECKREG r4, 0x0E2DB488;
71 CHECKREG r5, 0x9996A1D3;
72 CHECKREG r6, 0x000C001D;
73 CHECKREG r7, 0x678E0001;
74 CHECKREG p1, 0x9996A1D3;
75 CHECKREG p2, 0x00032564;
76 CHECKREG p3, 0x99964B8A;
77 CHECKREG p4, 0x00032564;
78 CHECKREG p5, 0x6C4F0FB0;
79 CHECKREG sp, 0x088458C2;
80 CHECKREG fp, 0x089013D8;
90 R5 = ( A1 += R1.H * R0.L ), R4 = ( A0 = R1.L * R0.L ) (FU);
93 R7 = ( A1 -= R2.H * R3.L ), R6 = ( A0 = R2.H * R3.L ) (FU);
96 R1 = ( A1 = R4.H * R5.L ), R0 = ( A0 += R4.H * R5.H ) (FU);
99 R5 = ( A1 += R6.H * R7.L ), R4 = ( A0 -= R6.L * R7.H ) (FU);
101 CHECKREG r0, 0x1A2AB610;
102 CHECKREG r1, 0x24F02BB4;
103 CHECKREG r2, 0x71145679;
104 CHECKREG r3, 0x08010007;
105 CHECKREG r4, 0x0BE761C4;
106 CHECKREG r5, 0x24F2761C;
107 CHECKREG r6, 0x0003178C;
108 CHECKREG r7, 0x9B11C378;
109 CHECKREG p1, 0x9B14DB04;
110 CHECKREG p2, 0x2B2D030B;
111 CHECKREG p3, 0x9B11C378;
112 CHECKREG p5, 0x24F02BB4;
113 CHECKREG p4, 0x0003178C;
114 CHECKREG sp, 0x1A2AB610;
115 CHECKREG fp, 0x0BE761C4;
117 imm32 r0, 0x123489bd;
118 imm32 r1, 0x91bcfec7;
119 imm32 r2, 0xa9145679;
120 imm32 r3, 0xd0910007;
121 imm32 r4, 0xedb91569;
122 imm32 r5, 0xd235910b;
123 imm32 r6, 0x0d0c0999;
124 imm32 r7, 0x67de0009;
125 R1 = ( A1 += R5.H * R3.H ), R0 = ( A0 = R5.L * R3.L ) (FU);
128 R3 = ( A1 -= R2.H * R1.H ), R2 = ( A0 = R2.H * R1.L ) (FU);
131 R5 = ( A1 -= R7.H * R0.H ), R4 = ( A0 += R7.H * R0.H ) (FU);
134 R7 = ( A1 += R4.H * R6.H ), R6 = ( A0 += R4.L * R6.H ) (FU);
136 CHECKREG r0, 0x0003F74D;
137 CHECKREG r1, 0xD0349621;
138 CHECKREG r2, 0x63278394;
139 CHECKREG r3, 0x46B1FE11;
140 CHECKREG r4, 0x6328BB2E;
141 CHECKREG r5, 0x46B0C677;
142 CHECKREG r6, 0x6CB2D756;
143 CHECKREG r7, 0x4BBE7457;
144 CHECKREG p1, 0xD0349621;
145 CHECKREG p2, 0x0003F74D;
146 CHECKREG p3, 0x46B1FE11;
147 CHECKREG p4, 0x63278394;
148 CHECKREG p5, 0x46B0C677;
149 CHECKREG sp, 0x6328BB2E;
150 CHECKREG fp, 0x6CB2D756;
152 imm32 r0, 0x63545abd;
153 imm32 r1, 0x86bcfec7;
154 imm32 r2, 0xa8645679;
155 imm32 r3, 0x00860007;
156 imm32 r4, 0xefb86569;
157 imm32 r5, 0x1235860b;
158 imm32 r6, 0x000c086d;
159 imm32 r7, 0x678e0086;
160 R7 = ( A1 += R1.L * R0.L ) (M), R6 = ( A0 = R1.L * R0.L ) (FU);
163 R1 = ( A1 = R2.L * R3.L ) (M), R0 = ( A0 = R2.H * R3.L ) (FU);
166 R3 = ( A1 -= R7.L * R4.L ) (M), R2 = ( A0 += R7.H * R4.H ) (FU);
169 R5 = ( A1 -= R6.L * R5.L ) (M), R4 = ( A0 -= R6.L * R5.H ) (FU);
171 CHECKREG r0, 0x00049ABC;
172 CHECKREG r1, 0x00025D4F;
173 CHECKREG r2, 0x46897C84;
174 CHECKREG r3, 0x316C7D3D;
175 CHECKREG r4, 0x4579DFDD;
176 CHECKREG r5, 0x299CD724;
177 CHECKREG r6, 0x5A4E0EEB;
178 CHECKREG r7, 0x4B4F8342;
179 CHECKREG p1, 0x4B4F8342;
180 CHECKREG p2, 0x5A4E0EEB;
181 CHECKREG p3, 0x00025D4F;
182 CHECKREG p4, 0x00049ABC;
183 CHECKREG p5, 0x316C7D3D;
184 CHECKREG sp, 0x46897C84;
185 CHECKREG fp, 0x4579DFDD;
187 imm32 r0, 0x98764abd;
188 imm32 r1, 0xa1bcf4c7;
189 imm32 r2, 0xa1145649;
190 imm32 r3, 0x00010005;
191 imm32 r4, 0xefbc1569;
192 imm32 r5, 0x1235010b;
193 imm32 r6, 0x000c001d;
194 imm32 r7, 0x678e0001;
195 R5 = A1, R4 = ( A0 = R1.L * R0.L ) (FU);
198 R1 = A1, R0 = ( A0 -= R2.H * R3.L ) (FU);
201 R3 = A1, R2 = ( A0 += R4.H * R5.H ) (FU);
204 R1 = A1, R0 = ( A0 -= R6.L * R7.H ) (FU);
206 CHECKREG r0, 0x5304CE59;
207 CHECKREG r1, 0x299CD724;
208 CHECKREG r2, 0x5310896F;
209 CHECKREG r3, 0x299CD724;
210 CHECKREG r4, 0x47763CEB;
211 CHECKREG r5, 0x299CD724;
212 CHECKREG r6, 0x000C001D;
213 CHECKREG r7, 0x678E0001;
214 CHECKREG p1, 0x299CD724;
215 CHECKREG p2, 0x47763CEB;
216 CHECKREG p3, 0x299CD724;
217 CHECKREG p4, 0x47731787;
218 CHECKREG p5, 0x299CD724;
219 CHECKREG sp, 0x5310896F;
220 CHECKREG fp, 0x299CD724;
222 imm32 r0, 0x7136459d;
223 imm32 r1, 0xabd69ec7;
224 imm32 r2, 0x71145679;
225 imm32 r3, 0x08010007;
226 imm32 r4, 0xef9c1569;
227 imm32 r5, 0x1225010b;
228 imm32 r6, 0x0003401d;
229 imm32 r7, 0x678e0561;
230 R5 = ( A1 += R1.H * R0.L ) (M), R4 = ( A0 = R1.L * R0.L ) (FU);
233 R7 = A1, R6 = ( A0 = R2.H * R3.L ) (FU);
236 R1 = ( A1 = R4.H * R5.L ) (M), R0 = ( A0 -= R4.H * R5.H ) (FU);
239 R5 = A1, R4 = ( A0 += R6.L * R7.H ) (FU);
241 CHECKREG r0, 0x00000000;
242 CHECKREG r1, 0x2706223A;
243 CHECKREG r2, 0x71145679;
244 CHECKREG r3, 0x08010007;
245 CHECKREG r4, 0x01B8DC2C;
246 CHECKREG r5, 0x2706223A;
247 CHECKREG r6, 0x0003178C;
248 CHECKREG r7, 0x12B9E762;
249 CHECKREG p1, 0x12B9E762;
250 CHECKREG p2, 0x2B2D030B;
251 CHECKREG p3, 0x12B9E762;
252 CHECKREG p4, 0x0003178C;
253 CHECKREG p5, 0x2706223A;
254 CHECKREG sp, 0x00000000;
255 CHECKREG fp, 0x2706223A;
257 imm32 r0, 0x123489bd;
258 imm32 r1, 0x91bcfec7;
259 imm32 r2, 0xa9145679;
260 imm32 r3, 0xd0910007;
261 imm32 r4, 0xedb91569;
262 imm32 r5, 0xd235910b;
263 imm32 r6, 0x0d0c0999;
264 imm32 r7, 0x67de0009;
265 R1 = A1, R0 = ( A0 -= R5.L * R3.L ) (FU);
268 R3 = ( A1 = R2.H * R1.H ) (M), R2 = ( A0 = R2.H * R1.L ) (FU);
271 R5 = ( A1 = R7.H * R0.H ) (M), R4 = ( A0 += R7.H * R0.H ) (FU);
274 R7 = A1, R6 = ( A0 += R4.L * R6.H ) (FU);
276 CHECKREG r0, 0x01B4E4DF;
277 CHECKREG r1, 0x2706223A;
278 CHECKREG r2, 0x169AF688;
279 CHECKREG r3, 0xF2C00278;
280 CHECKREG r4, 0x174BDCA0;
281 CHECKREG r5, 0x00B0E618;
282 CHECKREG r6, 0x228A5420;
283 CHECKREG r7, 0x00B0E618;
284 CHECKREG p1, 0x2706223A;
285 CHECKREG p2, 0x01B4E4DF;
286 CHECKREG p3, 0xF2C00278;
287 CHECKREG p4, 0x169AF688;
288 CHECKREG p5, 0x174BDCA0;
289 CHECKREG sp, 0x00B0E618;
290 CHECKREG fp, 0x228A5420;