//Original:/testcases/core/c_dsp32mac_dr_a1/c_dsp32mac_dr_a1.dsp // Spec Reference: dsp32mac dr_a1 # mach: bfin .include "testutils.inc" start A1 = A0 = 0; // The result accumulated in A1 , and stored to a reg half imm32 r0, 0x13545abd; imm32 r1, 0xadbcfec7; imm32 r2, 0xa1245679; imm32 r3, 0x00060007; imm32 r4, 0xefbc4569; imm32 r5, 0x1235000b; imm32 r6, 0x000c000d; imm32 r7, 0x678e000f; R0.H = ( A1 += R1.L * R0.L ), A0 = R1.L * R0.L; R1 = A1.w; R2.H = ( A1 = R2.L * R3.L ), A0 = R2.H * R3.L; R3 = A1.w; R4.H = ( A1 = R4.L * R5.L ), A0 += R4.H * R5.H; R5 = A1.w; R6.H = ( A1 += R6.L * R7.L ), A0 += R6.L * R7.H; R7 = A1.w; CHECKREG r0, 0xFF225ABD; CHECKREG r1, 0xFF221DD6; CHECKREG r2, 0x00055679; CHECKREG r3, 0x0004BA9E; CHECKREG r4, 0x00064569; CHECKREG r5, 0x0005F706; CHECKREG r6, 0x0006000D; CHECKREG r7, 0x0005F88C; imm32 r0, 0x13545abd; imm32 r1, 0xa1bcfec7; imm32 r2, 0xa1145679; imm32 r3, 0x00010007; imm32 r4, 0xefbc1569; imm32 r5, 0x1235010b; imm32 r6, 0x000c001d; imm32 r7, 0x678e0001; R4.H = ( A1 += R1.L * R0.H ), A0 = R1.L * R0.L; R5 = A1.w; R0.H = ( A1 = R2.L * R3.H ), A0 = R2.H * R3.L; R1 = A1.w; R2.H = ( A1 = R4.L * R5.H ), A0 += R4.H * R5.H; R3 = A1.w; R6.H = ( A1 += R6.L * R7.H ), A0 += R6.L * R7.H; R7 = A1.w; CHECKREG r0, 0x00015ABD; CHECKREG r1, 0x0000ACF2; CHECKREG r2, 0xFFF95679; CHECKREG r3, 0xFFF8F98C; CHECKREG r4, 0xFFD71569; CHECKREG r5, 0xFFD6B524; CHECKREG r6, 0x0010001D; CHECKREG r7, 0x00106FB8; imm32 r0, 0x83545abd; imm32 r1, 0xa8bcfec7; imm32 r2, 0xa1845679; imm32 r3, 0x00080007; imm32 r4, 0xefbc8569; imm32 r5, 0x1235080b; imm32 r6, 0x000c008d; imm32 r7, 0x678e0008; R6.H = ( A1 += R1.H * R0.L ), A0 = R1.L * R0.L; R7 = A1.w; R2.H = ( A1 = R2.H * R3.L ), A0 = R2.H * R3.L; R3 = A1.w; R4.H = ( A1 = R4.H * R5.L ), A0 += R4.H * R5.H; R5 = A1.w; R0.H = ( A1 += R6.H * R7.L ), A0 += R6.L * R7.H; R1 = A1.w; CHECKREG r0, 0x1B505ABD; CHECKREG r1, 0x1B4FC2A8; CHECKREG r2, 0xFFFB5679; CHECKREG r3, 0xFFFAD538; CHECKREG r4, 0xFEFA8569; CHECKREG r5, 0xFEFA5A28; CHECKREG r6, 0xC234008D; CHECKREG r7, 0xC233C550; imm32 r0, 0xc3545abd; imm32 r1, 0xacbcfec7; imm32 r2, 0xa1c45679; imm32 r3, 0x000c0007; imm32 r4, 0xefbcc569; imm32 r5, 0x12350c0b; imm32 r6, 0x000c00cd; imm32 r7, 0x678e000c; R6.H = ( A1 += R1.H * R0.H ), A0 = R1.L * R0.L; R7 = A1.w; R0.H = ( A1 = R2.H * R3.H ), A0 = R2.H * R3.L; R1 = A1.w; R4.H = ( A1 = R4.H * R5.H ), A0 += R4.H * R5.H; R5 = A1.w; R2.H = ( A1 += R6.H * R7.H ), A0 += R6.L * R7.H; R3 = A1.w; CHECKREG r0, 0xFFF75ABD; CHECKREG r1, 0xFFF72A60; CHECKREG r2, 0x20875679; CHECKREG r3, 0x2086A6C8; CHECKREG r4, 0xFDB0C569; CHECKREG r5, 0xFDAFB3D8; CHECKREG r6, 0x42C800CD; CHECKREG r7, 0x42C78608; imm32 r0, 0x01542abd; imm32 r1, 0x02bc4ec7; imm32 r2, 0x03240679; imm32 r3, 0x04061007; imm32 r4, 0x05bc2569; imm32 r5, 0x0635300b; imm32 r6, 0x070c200d; imm32 r7, 0x088e100f; R0.H = ( A1 -= R1.L * R0.L ), A0 = R1.L * R0.L; R1 = A1.w; R2.H = ( A1 -= R2.L * R3.L ), A0 -= R2.H * R3.L; R3 = A1.w; R4.H = ( A1 -= R4.L * R5.L ), A0 += R4.H * R5.H; R5 = A1.w; R6.H = ( A1 += R6.L * R7.L ), A0 -= R6.L * R7.H; R7 = A1.w; CHECKREG r0, 0x06392ABD; CHECKREG r1, 0x063908F2; CHECKREG r2, 0x056A0679; CHECKREG r3, 0x05698E54; CHECKREG r4, 0xF75F2569; CHECKREG r5, 0xF75EF74E; CHECKREG r6, 0xFB64200D; CHECKREG r7, 0xFB6458D4; imm32 r0, 0x03545abd; imm32 r1, 0x31bcfec7; imm32 r2, 0x11145679; imm32 r3, 0x00010007; imm32 r4, 0xefbc1569; imm32 r5, 0x1235010b; imm32 r6, 0x000c001d; imm32 r7, 0x678e0001; R4.H = ( A1 += R1.L * R0.H ), A0 -= R1.L * R0.L; R5 = A1.w; R0.H = ( A1 -= R2.L * R3.H ), A0 = R2.H * R3.L; R1 = A1.w; R2.H = ( A1 -= R4.L * R5.H ), A0 += R4.H * R5.H; R3 = A1.w; R6.H = ( A1 += R6.L * R7.H ), A0 -= R6.L * R7.H; R7 = A1.w; CHECKREG r0, 0xFB5C5ABD; CHECKREG r1, 0xFB5B887A; CHECKREG r2, 0xFC225679; CHECKREG r3, 0xFC223F02; CHECKREG r4, 0xFB5C1569; CHECKREG r5, 0xFB5C356C; CHECKREG r6, 0xFC3A001D; CHECKREG r7, 0xFC39B52E; imm32 r0, 0x83545abd; imm32 r1, 0xa8bcfec7; imm32 r2, 0xa1845679; imm32 r3, 0x00080007; imm32 r4, 0xefbc8569; imm32 r5, 0x1235080b; imm32 r6, 0x000c008d; imm32 r7, 0x678e0008; R6.H = ( A1 += R1.H * R0.L ), A0 -= R1.L * R0.L; R7 = A1.w; R2.H = ( A1 -= R2.H * R3.L ), A0 -= R2.H * R3.L; R3 = A1.w; R4.H = ( A1 = R4.H * R5.L ), A0 -= R4.H * R5.H; R5 = A1.w; R0.H = ( A1 += R6.H * R7.L ), A0 -= R6.L * R7.H; R1 = A1.w; CHECKREG r0, 0xF9745ABD; CHECKREG r1, 0xF9741604; CHECKREG r2, 0xBE625679; CHECKREG r3, 0xBE62358E; CHECKREG r4, 0xFEFA8569; CHECKREG r5, 0xFEFA5A28; CHECKREG r6, 0xBE5D008D; CHECKREG r7, 0xBE5D0AC6; imm32 r0, 0xc3545abd; imm32 r1, 0xacbcfec7; imm32 r2, 0xa1c45679; imm32 r3, 0x000c0007; imm32 r4, 0xefbcc569; imm32 r5, 0x12350c0b; imm32 r6, 0x000c00cd; imm32 r7, 0x678e000c; R6.H = ( A1 += R1.H * R0.H ), A0 -= R1.L * R0.L; R7 = A1.w; R0.H = ( A1 = R2.H * R3.H ), A0 -= R2.H * R3.L; R1 = A1.w; R4.H = ( A1 -= R4.H * R5.H ), A0 += R4.H * R5.H; R5 = A1.w; R2.H = ( A1 -= R6.H * R7.H ), A0 += R6.L * R7.H; R3 = A1.w; CHECKREG r0, 0xFFF75ABD; CHECKREG r1, 0xFFF72A60; CHECKREG r2, 0xF9D05679; CHECKREG r3, 0xF9D00540; CHECKREG r4, 0x0247C569; CHECKREG r5, 0x02477688; CHECKREG r6, 0x20EC00CD; CHECKREG r7, 0x20EBD964; pass