1//Original:/proj/frio/dv/testcases/core/c_dsp32mac_dr_a1a0_iutsh/c_dsp32mac_dr_a1a0_iutsh.dsp 2// Spec Reference: dsp32mac dr_a1a0 iutsh 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 A1 = A0 = 0; 9 R0 = 0; 10 ASTAT = R0; 11 12// The result accumulated in A , and stored to a reg half 13 imm32 r0, 0x13545abd; 14 imm32 r1, 0xb2bcfec7; 15 imm32 r2, 0xc1348679; 16 imm32 r3, 0xd0049007; 17 imm32 r4, 0x2efbc556; 18 imm32 r5, 0xcd35560b; 19 imm32 r6, 0xe00c807d; 20 imm32 r7, 0xf78e9008; 21 A1 = A0 = 0; 22 R6.H = (A1 += R0.L * R0.L), R6.L = (A0 = R0.L * R0.L) (IS); 23 P1 = A1.w; 24 P2 = A0.w; 25 R1.H = (A1 += R2.L * R3.L), R1.L = (A0 -= R2.H * R3.L) (FU); 26 P3 = A1.w; 27 P4 = A0.w; 28 R2.H = (A1 = R4.L * R5.L) (M), R2.L = (A0 += R4.H * R5.H) (T); 29 P5 = A1.w; 30 FP = A0.w; 31 R3.H = (A1 += R0.L * R7.L), R3.L = (A0 += R0.L * R7.H) (S2RND); 32 R4 = A1.w; 33 R5 = A0.w; 34 CHECKREG r0, 0x13545ABD; 35 CHECKREG r1, 0x6BD10000; 36 CHECKREG r2, 0xEC48ED5B; 37 CHECKREG r3, 0x8000CEBE; 38 CHECKREG r4, 0x9CE8AA82; 39 CHECKREG r5, 0xE75ED19A; 40 CHECKREG r6, 0x7FFF7FFF; 41 CHECKREG r7, 0xF78E9008; 42 CHECKREG p1, 0x20296F89; 43 CHECKREG p2, 0x20296F89; 44 CHECKREG p3, 0x6BD12CD8; 45 CHECKREG p4, 0x00000000; 46 CHECKREG p5, 0xEC485EB2; 47 CHECKREG fp, 0xED5B71EE; 48 49 imm32 r0, 0x13545abd; 50 imm32 r1, 0x22bcfec7; 51 imm32 r2, 0x43348679; 52 imm32 r3, 0x50049007; 53 imm32 r4, 0x6fbc5569; 54 imm32 r5, 0x7d35560b; 55 imm32 r6, 0x800c807d; 56 imm32 r7, 0xf98e9008; 57 A1 = A0 = 0; 58 R0.H = (A1 += R1.L * R0.H), R0.L = (A0 = R1.L * R0.L) (IU); 59 P1 = A1.w; 60 P2 = A0.w; 61 R6.H = (A1 += R2.L * R2.H), R6.L = (A0 = R2.H * R2.L) (TFU); 62 P3 = A1.w; 63 P4 = A0.w; 64 R2.H = (A1 -= R4.L * R5.H), R2.L = (A0 += R4.H * R5.H) (ISS2); 65 P5 = A1.w; 66 FP = A0.w; 67 R3.H = (A1 += R3.L * R7.H), R3.L = (A0 -= R3.L * R7.H) (IH); 68 R4 = A1.w; 69 R5 = A0.w; 70 CHECKREG r0, 0xFFFFFFFF; 71 CHECKREG r1, 0x22BCFEC7; 72 CHECKREG r2, 0x7FFF7FFF; 73 CHECKREG r3, 0x0F955721; 74 CHECKREG r4, 0x0F951905; 75 CHECKREG r5, 0x5721369E; 76 CHECKREG r6, 0x3689234C; 77 CHECKREG r7, 0xF98E9008; 78 CHECKREG p1, 0x133C5E4C; 79 CHECKREG p2, 0x5A4E0EEB; 80 CHECKREG p3, 0x368959E0; 81 CHECKREG p4, 0x234CFB94; 82 CHECKREG p5, 0x0CC36623; 83 CHECKREG fp, 0x59F2E980; 84 85 imm32 r0, 0x13545abd; 86 imm32 r1, 0x42bcfec7; 87 imm32 r2, 0x51348679; 88 imm32 r3, 0x60049007; 89 imm32 r4, 0x7fbc5569; 90 imm32 r5, 0x8d35560b; 91 imm32 r6, 0x900c807d; 92 imm32 r7, 0xa78e9008; 93 A1 = A0 = 0; 94 R0.H = (A1 += R1.H * R0.L), R0.L = (A0 = R1.L * R0.L) (IS); 95 P1 = A1.w; 96 P2 = A0.w; 97 R1.H = (A1 += R2.H * R3.L) (M), R1.L = (A0 -= R2.H * R3.L) (IU); 98 P3 = A1.w; 99 P4 = A0.w; 100 R2.H = (A1 = R4.H * R5.L), R2.L = (A0 += R4.H * R5.H) (ISS2); 101 P5 = A1.w; 102 FP = A0.w; 103 R3.H = (A1 -= R6.H * R7.L) (M), R3.L = (A0 += R6.L * R7.H) (IH); 104 R4 = A1.w; 105 R5 = A0.w; 106 CHECKREG r0, 0x7FFF8000; 107 CHECKREG r1, 0x7FFFFFFF; 108 CHECKREG r2, 0x7FFF8000; 109 CHECKREG r3, 0x69EBC4A8; 110 CHECKREG r4, 0x69EB64B4; 111 CHECKREG r5, 0xC4A864C1; 112 CHECKREG r6, 0x900C807D; 113 CHECKREG r7, 0xA78E9008; 114 CHECKREG p1, 0x17A75CCC; 115 CHECKREG p2, 0xFF910EEB; 116 CHECKREG p3, 0x4556D538; 117 CHECKREG p4, 0xD1E1967F; 118 CHECKREG p5, 0x2AEEA514; 119 CHECKREG fp, 0x989A946B; 120 121 imm32 r0, 0x03545abd; 122 imm32 r1, 0xb3bcfec7; 123 imm32 r2, 0x24348679; 124 imm32 r3, 0x60049007; 125 imm32 r4, 0x7fbc5569; 126 imm32 r5, 0x9d35560b; 127 imm32 r6, 0xa00c807d; 128 imm32 r7, 0x078e9008; 129 A1 = A0 = 0; 130 R0.H = (A1 += R1.H * R0.H), R0.L = (A0 -= R1.L * R0.L) (FU); 131 P1 = A1.w; 132 P2 = A0.w; 133 R1.H = (A1 += R2.H * R3.H), R1.L = (A0 = R2.H * R3.L) (TFU); 134 P3 = A1.w; 135 P4 = A0.w; 136 R2.H = (A1 = R4.H * R5.H), R2.L = (A0 += R4.H * R5.H) (IU); 137 P5 = A1.w; 138 FP = A0.w; 139 R3.H = (A1 -= R6.H * R7.H) (M), R3.L = (A0 += R6.L * R7.H) (S2RND); 140 R4 = A1.w; 141 R5 = A0.w; 142 CHECKREG r0, 0x02560000; 143 CHECKREG r1, 0x0FEA145E; 144 CHECKREG r2, 0xFFFFFFFF; 145 CHECKREG r3, 0x7FFF7FFF; 146 CHECKREG r4, 0x5145A344; 147 CHECKREG r5, 0x5B485C04; 148 CHECKREG r6, 0xA00C807D; 149 CHECKREG r7, 0x078E9008; 150 CHECKREG p1, 0x02562DB0; 151 CHECKREG p2, 0x00000000; 152 CHECKREG p3, 0x0FEA3E80; 153 CHECKREG p4, 0x145E3D6C; 154 CHECKREG p5, 0x4E70BDEC; 155 CHECKREG fp, 0x62CEFB58; 156 157 pass 158