1 //Original
:/testcases
/core
/c_dsp32mac_dr_a0_is
/c_dsp32mac_dr_a0_is.dsp
2 // Spec Reference
: dsp32mac dr a0 is
(scale by
2.0 signed fraction with round
)
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 ) (ISS2
);
24 A1
= R2.
L * R3.H
, R2.
L = ( A0
-= R2.H
* R3.
L ) (ISS2
);
26 A1
= R4.H
* R5.
L, R4.
L = ( A0
+= R4.H
* R5.H
) (ISS2
);
28 A1
-= R6.H
* R7.H
, R6.
L = ( A0
+= R6.
L * R7.H
) (ISS2
);
30 CHECKREG
r0, 0xF3548000;
31 CHECKREG
r1, 0xFF910EEB;
32 CHECKREG
r2, 0xC7FF8000;
33 CHECKREG
r3, 0xE71226F2;
34 CHECKREG
r4, 0xEFB78000;
35 CHECKREG
r5, 0xEA4D52D5;
36 CHECKREG
r6, 0xE00C8000;
37 CHECKREG
r7, 0xEE42DC2B;
39 // The result accumulated in
A , and stored to
a reg half
(MNOP
)
48 R0.
L = ( A0
-= R1.
L * R0.
L ) (ISS2
);
50 R2.
L = ( A0
+= R2.
L * R3.H
) (ISS2
);
52 R4.
L = ( A0
= R4.H
* R5.
L ) (ISS2
);
54 R6.
L = ( A0
-= R6.H
* R7.H
) (ISS2
);
56 CHECKREG
r0, 0xC5548000;
57 CHECKREG
r1, 0xEDB37D40;
58 CHECKREG
r2, 0xA9B58000;
59 CHECKREG
r3, 0xD2E20883;
60 CHECKREG
r4, 0xCFB97FFF;
61 CHECKREG
r5, 0x12FAA97C;
62 CHECKREG
r6, 0xE50C7FFF;
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 ) (ISS2
);
76 R2.
L = ( A0
-= R2.H
* R3.
L ) (ISS2
);
78 R4.
L = ( A0
= R4.H
* R5.H
) (ISS2
);
80 R6.
L = ( A0
+= R6.
L * R7.H
) (ISS2
);
82 CHECKREG
r0, 0x4B548000;
83 CHECKREG
r1, 0xE2075EEB;
84 CHECKREG
r2, 0xA4BB8000;
85 CHECKREG
r3, 0xC80330CE;
86 CHECKREG
r4, 0x9F4B7FFF;
87 CHECKREG
r5, 0x236ED13C;
88 CHECKREG
r6, 0xB00C7FFF;
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 ) (ISS2
);
102 A1
+= R2.
L * R3.H
(M
), R6.
L = ( A0
= R2.H
* R3.
L ) (ISS2
);
104 A1
+= R4.H
* R5.
L (M
), R4.
L = ( A0
-= R4.H
* R5.H
) (ISS2
);
106 A1
= R6.H
* R7.H
(M
), R0.
L = ( A0
+= R6.
L * R7.H
) (ISS2
);
108 CHECKREG
r0, 0x1A548000;
109 CHECKREG
r1, 0xF0477293;
110 CHECKREG
r2, 0xC53F7FFF;
111 CHECKREG
r3, 0x13020C09;
112 CHECKREG
r4, 0xAFC78000;
113 CHECKREG
r5, 0xEEE57293;
114 CHECKREG
r6, 0xC00C8000;
115 CHECKREG
r7, 0xFD3CE337;