1 //Original
:/testcases
/core
/c_dsp32mac_dr_a0_ih
/c_dsp32mac_dr_a0_ih.dsp
2 // Spec Reference
: dsp32mac dr a0 ih
(integer mutiplication with high word extraction
)
5 .include "testutils.inc"
13 // The result accumulated in
A , and stored to
a reg half
22 A1
= R1.
L * R0.
L, R0.
L = ( A0
-= R1.
L * R0.
L ) (IH
);
24 A1
= R2.
L * R3.H
, R2.
L = ( A0
= R2.H
* R3.
L ) (IH
);
26 A1
= R4.H
* R5.
L, R4.
L = ( A0
+= R4.H
* R5.H
) (IH
);
28 A1
= R6.H
* R7.H
, R6.
L = ( A0
+= R6.
L * R7.H
) (IH
);
30 CHECKREG
r0, 0xF354006F;
31 CHECKREG
r1, 0x006EF115;
32 CHECKREG
r2, 0xC7FF187F;
33 CHECKREG
r3, 0x187EE7F9;
34 CHECKREG
r4, 0xEFB71BBA;
35 CHECKREG
r5, 0x1BBA13DC;
36 CHECKREG
r6, 0xE00C1FB0;
37 CHECKREG
r7, 0x1FAF9D32;
39 // The result accumulated in
A , and stored to
a reg half
(MNOP
)
48 R0.
L = ( A0
= R1.
L * R0.
L ) (IH
);
50 R2.
L = ( A0
+= R2.
L * R3.H
) (IH
);
52 R4.
L = ( A0
= R4.H
* R5.
L ) (IH
);
54 R6.
L = ( A0
-= R6.H
* R7.H
) (IH
);
56 CHECKREG
r0, 0xC554008F;
57 CHECKREG
r1, 0x008F5EEB;
58 CHECKREG
r2, 0xA9B5E5BE;
59 CHECKREG
r3, 0xE5BDEA2E;
60 CHECKREG
r4, 0xCFB912FB;
61 CHECKREG
r5, 0x12FAA97C;
62 CHECKREG
r6, 0xE50C1DDD;
63 CHECKREG
r7, 0x1DDCBB14;
65 // The result accumulated in
A , and stored to
a reg half
(MNOP
)
74 R0.
L = ( A0
= R1.
L * R0.
L ) (IH
);
76 R2.
L = ( A0
-= R2.H
* R3.
L ) (IH
);
78 R4.
L = ( A0
= R4.H
* R5.H
) (IH
);
80 R6.
L = ( A0
+= R6.
L * R7.H
) (IH
);
82 CHECKREG
r0, 0x4B54E207;
83 CHECKREG
r1, 0xE2075EEB;
84 CHECKREG
r2, 0xA4BBC803;
85 CHECKREG
r3, 0xC80330CE;
86 CHECKREG
r4, 0x9F4B236F;
87 CHECKREG
r5, 0x236ED13C;
88 CHECKREG
r6, 0xB00C1371;
89 CHECKREG
r7, 0x1370FD1E;
91 // The result accumulated in
A , and stored to
a reg half
100 A1
= R1.
L * R0.
L (M
), R2.
L = ( A0
+= R1.
L * R0.
L ) (IH
);
102 A1
+= R2.
L * R3.H
(M
), R6.
L = ( A0
= R2.H
* R3.
L ) (IH
);
104 A1
+= R4.H
* R5.
L (M
), R4.
L = ( A0
-= R4.H
* R5.H
) (IH
);
106 A1
= R6.H
* R7.H
(M
), R0.
L = ( A0
+= R6.
L * R7.H
) (IH
);
108 CHECKREG
r0, 0x1A54EEED;
109 CHECKREG
r1, 0xEEED15DF;
110 CHECKREG
r2, 0xC53F1302;
111 CHECKREG
r3, 0x13020C09;
112 CHECKREG
r4, 0xAFC7EEE5;
113 CHECKREG
r5, 0xEEE57293;
114 CHECKREG
r6, 0xC00CFD3D;
115 CHECKREG
r7, 0xFD3CE337;