1 //Original
:/testcases
/core
/c_dsp32mac_dr_a0_s
/c_dsp32mac_dr_a0_s.dsp
2 // Spec Reference
: dsp32mac dr a0 s
(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 ) (S2RND
);
24 A1
= R2.
L * R3.H
, R2.
L = ( A0
= R2.H
* R3.
L ) (S2RND
);
26 A1
= R4.H
* R5.
L, R4.
L = ( A0
+= R4.H
* R5.H
) (S2RND
);
28 A1
= R6.H
* R7.H
, R6.
L = ( A0
+= R6.
L * R7.H
) (S2RND
);
30 CHECKREG
r0, 0x8354FE44;
31 CHECKREG
r1, 0xFF221DD6;
32 CHECKREG
r2, 0xC9945F37;
33 CHECKREG
r3, 0x2F9B8618;
34 CHECKREG
r4, 0xEFB96C22;
35 CHECKREG
r5, 0x361112B2;
36 CHECKREG
r6, 0xE00C7BBF;
37 CHECKREG
r7, 0x3DDFA49E;
39 // The result accumulated in
A , and stored to
a reg half
(MNOP
)
48 R0.
L = ( A0
= R1.
L * R0.
L ) (S2RND
);
50 R2.
L = ( A0
+= R2.
L * R3.H
) (S2RND
);
52 R4.
L = ( A0
-= R4.H
* R5.
L ) (S2RND
);
54 R6.
L = ( A0
= R6.H
* R7.H
) (S2RND
);
56 CHECKREG
r0, 0xC854023D;
57 CHECKREG
r1, 0x011EBDD6;
58 CHECKREG
r2, 0xA1BC9635;
59 CHECKREG
r3, 0xCB1A8C3C;
60 CHECKREG
r4, 0xCFBC8000;
61 CHECKREG
r5, 0xB7532E9C;
62 CHECKREG
r6, 0xE50CD478;
63 CHECKREG
r7, 0xEA3BDCD0;
65 // The result accumulated in
A , and stored to
a reg half
(MNOP
)
74 R0.
L = ( A0
= R1.
L * R0.
L ) (S2RND
);
76 R2.
L = ( A0
-= R2.H
* R3.
L ) (S2RND
);
78 R4.
L = ( A0
= R4.H
* R5.H
) (S2RND
);
80 R6.
L = ( A0
+= R6.
L * R7.H
) (S2RND
);
82 CHECKREG
r0, 0x7B5423F4;
83 CHECKREG
r1, 0x11FA1DD6;
84 CHECKREG
r2, 0xABBBBAA7;
85 CHECKREG
r3, 0xDD53999C;
86 CHECKREG
r4, 0x9FAB7FFF;
87 CHECKREG
r5, 0x4692C57C;
88 CHECKREG
r6, 0xB00C7FFF;
89 CHECKREG
r7, 0x6D23D9B0;
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 ) (S2RND
);
102 A1
+= R2.
L * R3.H
(M
), R6.
L = ( A0
= R2.H
* R3.
L ) (S2RND
);
104 A1
+= R4.H
* R5.
L (M
), R4.
L = ( A0
-= R4.H
* R5.H
) (S2RND
);
106 A1
= R6.H
* R7.H
(M
), R0.
L = ( A0
+= R6.
L * R7.H
) (S2RND
);
108 CHECKREG
r0, 0xFA54CF65;
109 CHECKREG
r1, 0xE7B2ACD4;
110 CHECKREG
r2, 0xC1EF7FFF;
111 CHECKREG
r3, 0x6C45F786;
112 CHECKREG
r4, 0xAFCCCEDE;
113 CHECKREG
r5, 0xE76F2094;
114 CHECKREG
r6, 0xC00C0838;
115 CHECKREG
r7, 0x041C3834;