1//Original:/testcases/core/c_dsp32mac_dr_a1/c_dsp32mac_dr_a1.dsp 2// Spec Reference: dsp32mac dr_a1 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 9 10A1 = A0 = 0; 11 12// The result accumulated in A1 , and stored to a reg half 13imm32 r0, 0x13545abd; 14imm32 r1, 0xadbcfec7; 15imm32 r2, 0xa1245679; 16imm32 r3, 0x00060007; 17imm32 r4, 0xefbc4569; 18imm32 r5, 0x1235000b; 19imm32 r6, 0x000c000d; 20imm32 r7, 0x678e000f; 21R0.H = ( A1 += R1.L * R0.L ), A0 = R1.L * R0.L; 22R1 = A1.w; 23R2.H = ( A1 = R2.L * R3.L ), A0 = R2.H * R3.L; 24R3 = A1.w; 25R4.H = ( A1 = R4.L * R5.L ), A0 += R4.H * R5.H; 26R5 = A1.w; 27R6.H = ( A1 += R6.L * R7.L ), A0 += R6.L * R7.H; 28R7 = A1.w; 29CHECKREG r0, 0xFF225ABD; 30CHECKREG r1, 0xFF221DD6; 31CHECKREG r2, 0x00055679; 32CHECKREG r3, 0x0004BA9E; 33CHECKREG r4, 0x00064569; 34CHECKREG r5, 0x0005F706; 35CHECKREG r6, 0x0006000D; 36CHECKREG r7, 0x0005F88C; 37 38imm32 r0, 0x13545abd; 39imm32 r1, 0xa1bcfec7; 40imm32 r2, 0xa1145679; 41imm32 r3, 0x00010007; 42imm32 r4, 0xefbc1569; 43imm32 r5, 0x1235010b; 44imm32 r6, 0x000c001d; 45imm32 r7, 0x678e0001; 46R4.H = ( A1 += R1.L * R0.H ), A0 = R1.L * R0.L; 47R5 = A1.w; 48R0.H = ( A1 = R2.L * R3.H ), A0 = R2.H * R3.L; 49R1 = A1.w; 50R2.H = ( A1 = R4.L * R5.H ), A0 += R4.H * R5.H; 51R3 = A1.w; 52R6.H = ( A1 += R6.L * R7.H ), A0 += R6.L * R7.H; 53R7 = A1.w; 54CHECKREG r0, 0x00015ABD; 55CHECKREG r1, 0x0000ACF2; 56CHECKREG r2, 0xFFF95679; 57CHECKREG r3, 0xFFF8F98C; 58CHECKREG r4, 0xFFD71569; 59CHECKREG r5, 0xFFD6B524; 60CHECKREG r6, 0x0010001D; 61CHECKREG r7, 0x00106FB8; 62 63imm32 r0, 0x83545abd; 64imm32 r1, 0xa8bcfec7; 65imm32 r2, 0xa1845679; 66imm32 r3, 0x00080007; 67imm32 r4, 0xefbc8569; 68imm32 r5, 0x1235080b; 69imm32 r6, 0x000c008d; 70imm32 r7, 0x678e0008; 71R6.H = ( A1 += R1.H * R0.L ), A0 = R1.L * R0.L; 72R7 = A1.w; 73R2.H = ( A1 = R2.H * R3.L ), A0 = R2.H * R3.L; 74R3 = A1.w; 75R4.H = ( A1 = R4.H * R5.L ), A0 += R4.H * R5.H; 76R5 = A1.w; 77R0.H = ( A1 += R6.H * R7.L ), A0 += R6.L * R7.H; 78R1 = A1.w; 79CHECKREG r0, 0x1B505ABD; 80CHECKREG r1, 0x1B4FC2A8; 81CHECKREG r2, 0xFFFB5679; 82CHECKREG r3, 0xFFFAD538; 83CHECKREG r4, 0xFEFA8569; 84CHECKREG r5, 0xFEFA5A28; 85CHECKREG r6, 0xC234008D; 86CHECKREG r7, 0xC233C550; 87 88imm32 r0, 0xc3545abd; 89imm32 r1, 0xacbcfec7; 90imm32 r2, 0xa1c45679; 91imm32 r3, 0x000c0007; 92imm32 r4, 0xefbcc569; 93imm32 r5, 0x12350c0b; 94imm32 r6, 0x000c00cd; 95imm32 r7, 0x678e000c; 96R6.H = ( A1 += R1.H * R0.H ), A0 = R1.L * R0.L; 97R7 = A1.w; 98R0.H = ( A1 = R2.H * R3.H ), A0 = R2.H * R3.L; 99R1 = A1.w; 100R4.H = ( A1 = R4.H * R5.H ), A0 += R4.H * R5.H; 101R5 = A1.w; 102R2.H = ( A1 += R6.H * R7.H ), A0 += R6.L * R7.H; 103R3 = A1.w; 104CHECKREG r0, 0xFFF75ABD; 105CHECKREG r1, 0xFFF72A60; 106CHECKREG r2, 0x20875679; 107CHECKREG r3, 0x2086A6C8; 108CHECKREG r4, 0xFDB0C569; 109CHECKREG r5, 0xFDAFB3D8; 110CHECKREG r6, 0x42C800CD; 111CHECKREG r7, 0x42C78608; 112 113imm32 r0, 0x01542abd; 114imm32 r1, 0x02bc4ec7; 115imm32 r2, 0x03240679; 116imm32 r3, 0x04061007; 117imm32 r4, 0x05bc2569; 118imm32 r5, 0x0635300b; 119imm32 r6, 0x070c200d; 120imm32 r7, 0x088e100f; 121R0.H = ( A1 -= R1.L * R0.L ), A0 = R1.L * R0.L; 122R1 = A1.w; 123R2.H = ( A1 -= R2.L * R3.L ), A0 -= R2.H * R3.L; 124R3 = A1.w; 125R4.H = ( A1 -= R4.L * R5.L ), A0 += R4.H * R5.H; 126R5 = A1.w; 127R6.H = ( A1 += R6.L * R7.L ), A0 -= R6.L * R7.H; 128R7 = A1.w; 129CHECKREG r0, 0x06392ABD; 130CHECKREG r1, 0x063908F2; 131CHECKREG r2, 0x056A0679; 132CHECKREG r3, 0x05698E54; 133CHECKREG r4, 0xF75F2569; 134CHECKREG r5, 0xF75EF74E; 135CHECKREG r6, 0xFB64200D; 136CHECKREG r7, 0xFB6458D4; 137 138imm32 r0, 0x03545abd; 139imm32 r1, 0x31bcfec7; 140imm32 r2, 0x11145679; 141imm32 r3, 0x00010007; 142imm32 r4, 0xefbc1569; 143imm32 r5, 0x1235010b; 144imm32 r6, 0x000c001d; 145imm32 r7, 0x678e0001; 146R4.H = ( A1 += R1.L * R0.H ), A0 -= R1.L * R0.L; 147R5 = A1.w; 148R0.H = ( A1 -= R2.L * R3.H ), A0 = R2.H * R3.L; 149R1 = A1.w; 150R2.H = ( A1 -= R4.L * R5.H ), A0 += R4.H * R5.H; 151R3 = A1.w; 152R6.H = ( A1 += R6.L * R7.H ), A0 -= R6.L * R7.H; 153R7 = A1.w; 154CHECKREG r0, 0xFB5C5ABD; 155CHECKREG r1, 0xFB5B887A; 156CHECKREG r2, 0xFC225679; 157CHECKREG r3, 0xFC223F02; 158CHECKREG r4, 0xFB5C1569; 159CHECKREG r5, 0xFB5C356C; 160CHECKREG r6, 0xFC3A001D; 161CHECKREG r7, 0xFC39B52E; 162 163imm32 r0, 0x83545abd; 164imm32 r1, 0xa8bcfec7; 165imm32 r2, 0xa1845679; 166imm32 r3, 0x00080007; 167imm32 r4, 0xefbc8569; 168imm32 r5, 0x1235080b; 169imm32 r6, 0x000c008d; 170imm32 r7, 0x678e0008; 171R6.H = ( A1 += R1.H * R0.L ), A0 -= R1.L * R0.L; 172R7 = A1.w; 173R2.H = ( A1 -= R2.H * R3.L ), A0 -= R2.H * R3.L; 174R3 = A1.w; 175R4.H = ( A1 = R4.H * R5.L ), A0 -= R4.H * R5.H; 176R5 = A1.w; 177R0.H = ( A1 += R6.H * R7.L ), A0 -= R6.L * R7.H; 178R1 = A1.w; 179CHECKREG r0, 0xF9745ABD; 180CHECKREG r1, 0xF9741604; 181CHECKREG r2, 0xBE625679; 182CHECKREG r3, 0xBE62358E; 183CHECKREG r4, 0xFEFA8569; 184CHECKREG r5, 0xFEFA5A28; 185CHECKREG r6, 0xBE5D008D; 186CHECKREG r7, 0xBE5D0AC6; 187 188imm32 r0, 0xc3545abd; 189imm32 r1, 0xacbcfec7; 190imm32 r2, 0xa1c45679; 191imm32 r3, 0x000c0007; 192imm32 r4, 0xefbcc569; 193imm32 r5, 0x12350c0b; 194imm32 r6, 0x000c00cd; 195imm32 r7, 0x678e000c; 196R6.H = ( A1 += R1.H * R0.H ), A0 -= R1.L * R0.L; 197R7 = A1.w; 198R0.H = ( A1 = R2.H * R3.H ), A0 -= R2.H * R3.L; 199R1 = A1.w; 200R4.H = ( A1 -= R4.H * R5.H ), A0 += R4.H * R5.H; 201R5 = A1.w; 202R2.H = ( A1 -= R6.H * R7.H ), A0 += R6.L * R7.H; 203R3 = A1.w; 204CHECKREG r0, 0xFFF75ABD; 205CHECKREG r1, 0xFFF72A60; 206CHECKREG r2, 0xF9D05679; 207CHECKREG r3, 0xF9D00540; 208CHECKREG r4, 0x0247C569; 209CHECKREG r5, 0x02477688; 210CHECKREG r6, 0x20EC00CD; 211CHECKREG r7, 0x20EBD964; 212 213pass 214