1 //Original
:/testcases
/core
/c_dsp32mac_dr_a0_tu
/c_dsp32mac_dr_a0_tu.dsp
2 // Spec Reference
: dsp32mac dr a0 tu
(truncate unsigned fraction
)
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 ) (TFU
);
24 A1
-= R2.
L * R3.H
, R2.
L = ( A0
-= R2.H
* R3.
L ) (TFU
);
26 A1
+= R4.H
* R5.
L, R4.
L = ( A0
-= R4.H
* R5.H
) (TFU
);
28 A1
+= R6.H
* R7.H
, R6.
L = ( A0
+= R6.
L * R7.H
) (TFU
);
30 CHECKREG
r0, 0xF3545A4E;
31 CHECKREG
r1, 0x5A4E0EEB;
32 CHECKREG
r2, 0xC7FF0000;
33 CHECKREG
r3, 0x00000000;
34 CHECKREG
r4, 0xEFB70000;
35 CHECKREG
r5, 0x00000000;
36 CHECKREG
r6, 0xE00C8380;
37 CHECKREG
r7, 0x83808956;
39 // The result accumulated in
A , and stored to
a reg half
(MNOP
)
48 R0.
L = ( A0
= R1.
L * R0.
L ) (TFU
);
50 R2.
L = ( A0
+= R2.
L * R3.H
) (TFU
);
52 R4.
L = ( A0
= R4.H
* R5.
L ) (TFU
);
54 R6.
L = ( A0
-= R6.H
* R7.H
) (TFU
);
56 CHECKREG
r0, 0xC5548A13;
57 CHECKREG
r1, 0x8A135EEB;
58 CHECKREG
r2, 0xA9B5C5BA;
59 CHECKREG
r3, 0xC5BAEA2E;
60 CHECKREG
r4, 0xCFB97E0F;
61 CHECKREG
r5, 0x7E0FA97C;
62 CHECKREG
r6, 0xE50C2193;
63 CHECKREG
r7, 0x2193BB14;
65 // The result accumulated in
A , and stored to
a reg half
(MNOP
)
74 R0.
L = ( A0
-= R1.
L * R0.
L ) (TFU
);
76 R2.
L = ( A0
= R2.H
* R3.
L ) (TFU
);
78 R4.
L = ( A0
-= R4.H
* R5.H
) (TFU
);
80 R6.
L = ( A0
+= R6.
L * R7.H
) (TFU
);
82 CHECKREG
r0, 0x4B540000;
83 CHECKREG
r1, 0x00000000;
84 CHECKREG
r2, 0xA4BB75C6;
85 CHECKREG
r3, 0x75C62E1D;
86 CHECKREG
r4, 0x9F4B10D8;
87 CHECKREG
r5, 0x10D85CE1;
88 CHECKREG
r6, 0xB00C4961;
89 CHECKREG
r7, 0x496188C3;
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 ) (TFU
);
102 A1
+= R2.
L * R3.H
(M
), R6.
L = ( A0
-= R2.H
* R3.
L ) (TFU
);
104 A1
+= R4.H
* R5.
L (M
), R4.
L = ( A0
= R4.H
* R5.H
) (TFU
);
106 A1
-= R6.H
* R7.H
(M
), R0.
L = ( A0
+= R6.
L * R7.H
) (TFU
);
108 CHECKREG
r0, 0x1A5498EA;
109 CHECKREG
r1, 0x98EA3745;
110 CHECKREG
r2, 0xC53FA3AF;
111 CHECKREG
r3, 0xA3AF97AE;
112 CHECKREG
r4, 0xAFC7905A;
113 CHECKREG
r5, 0x905A70A4;
114 CHECKREG
r6, 0xC00C2ED1;
115 CHECKREG
r7, 0x2ED15DDC;