1//Original:/testcases/core/c_dsp32mult_pair_m_s/c_dsp32mult_pair_m_s.dsp 2// Spec Reference: dsp32mult pair MUNOP s 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8imm32 r0, 0x34235625; 9imm32 r1, 0x9f7a5127; 10imm32 r2, 0xa3286725; 11imm32 r3, 0x00069027; 12imm32 r4, 0xb0abc029; 13imm32 r5, 0x10acef2b; 14imm32 r6, 0xc00c00de; 15imm32 r7, 0xd246712f; 16R0 = R0.L * R0.L (S2RND); 17R2 = R0.L * R1.H (S2RND); 18R4 = R1.H * R1.H (S2RND); 19R6 = R0.L * R0.L (S2RND); 20CHECKREG r0, 0x73F38564; 21CHECKREG r1, 0x9F7A5127; 22CHECKREG r2, 0x7FFFFFFF; 23CHECKREG r3, 0x00069027; 24CHECKREG r4, 0x7FFFFFFF; 25CHECKREG r5, 0x10ACEF2B; 26CHECKREG r6, 0x7FFFFFFF; 27CHECKREG r7, 0xD246712F; 28 29imm32 r0, 0x5b23a635; 30imm32 r1, 0x6fba5137; 31imm32 r2, 0x1324b735; 32imm32 r3, 0x90060037; 33imm32 r4, 0x80abcd39; 34imm32 r5, 0xb0acef3b; 35imm32 r6, 0xa00c003d; 36imm32 r7, 0x12467003; 37R0 = R2.L * R2.L (S2RND); 38R2 = R2.L * R3.H (S2RND); 39R4 = R3.H * R2.H (S2RND); 40R6 = R2.L * R3.L (S2RND); 41CHECKREG r0, 0x52CB43E4; 42CHECKREG r1, 0x6FBA5137; 43CHECKREG r2, 0x7F5C6CF8; 44CHECKREG r3, 0x90060037; 45CHECKREG r4, 0x80000000; 46CHECKREG r5, 0xB0ACEF3B; 47CHECKREG r6, 0x005DA520; 48CHECKREG r7, 0x12467003; 49 50imm32 r0, 0x1b235655; 51imm32 r1, 0xc4ba5157; 52imm32 r2, 0x43246755; 53imm32 r3, 0x05060055; 54imm32 r4, 0x906bc509; 55imm32 r5, 0x10a7ef5b; 56imm32 r6, 0xb00c805d; 57imm32 r7, 0x1246795f; 58R0 = R4.L * R4.L (S2RND); 59R2 = R4.L * R5.H (S2RND); 60R4 = R5.H * R5.H (S2RND); 61R6 = R4.L * R5.L (S2RND); 62CHECKREG r0, 0x36536944; 63CHECKREG r1, 0xC4BA5157; 64CHECKREG r2, 0xF0A8637C; 65CHECKREG r3, 0x05060055; 66CHECKREG r4, 0x045533C4; 67CHECKREG r5, 0x10A7EF5B; 68CHECKREG r6, 0xF2898AB0; 69CHECKREG r7, 0x1246795F; 70 71imm32 r0, 0xbb235666; 72imm32 r1, 0xefba5166; 73imm32 r2, 0x13248766; 74imm32 r3, 0xf0060066; 75imm32 r4, 0x90ab9d69; 76imm32 r5, 0x10acef6b; 77imm32 r6, 0x800cb06d; 78imm32 r7, 0x1246706f; 79R0 = R6.L * R6.L (S2RND); 80R2 = R6.L * R7.H (S2RND); 81R4 = R7.H * R7.H (S2RND); 82R6 = R6.L * R7.L (S2RND); 83CHECKREG r0, 0x62F039A4; 84CHECKREG r1, 0xEFBA5166; 85CHECKREG r2, 0xE9479F38; 86CHECKREG r3, 0xF0060066; 87CHECKREG r4, 0x0537AC90; 88CHECKREG r5, 0x10ACEF6B; 89CHECKREG r6, 0x80000000; 90CHECKREG r7, 0x1246706F; 91 92// mix order 93imm32 r0, 0xab23a675; 94imm32 r1, 0xcfba5127; 95imm32 r2, 0x13246705; 96imm32 r3, 0x00060007; 97imm32 r4, 0x90abcd09; 98imm32 r5, 0x10acdfdb; 99imm32 r6, 0x000c000d; 100imm32 r7, 0x1246f00f; 101R0 = R0.L * R7.L (S2RND); 102R2 = R1.L * R6.H (S2RND); 103R4 = R3.H * R4.H (S2RND); 104R6 = R4.L * R3.L (S2RND); 105CHECKREG r0, 0x164DC36C; 106CHECKREG r1, 0xCFBA5127; 107CHECKREG r2, 0x000F3750; 108CHECKREG r3, 0x00060007; 109CHECKREG r4, 0xFFF59008; 110CHECKREG r5, 0x10ACDFDB; 111CHECKREG r6, 0xFFF3C0E0; 112CHECKREG r7, 0x1246F00F; 113 114imm32 r0, 0xab235a75; 115imm32 r1, 0xcfba5127; 116imm32 r2, 0x13246905; 117imm32 r3, 0x00060007; 118imm32 r4, 0x90abcd09; 119imm32 r5, 0x10ace9db; 120imm32 r6, 0x000c0d0d; 121imm32 r7, 0x1246700f; 122R1 = R7.H * R0.H (S2RND); 123R3 = R6.H * R1.H (S2RND); 124R5 = R5.H * R2.L (S2RND); 125R7 = R4.L * R3.H (S2RND); 126CHECKREG r0, 0xAB235A75; 127CHECKREG r1, 0xE7C50648; 128CHECKREG r2, 0x13246905; 129CHECKREG r3, 0xFFFB74F0; 130CHECKREG r4, 0x90ABCD09; 131CHECKREG r5, 0x1B5B7D70; 132CHECKREG r6, 0x000C0D0D; 133CHECKREG r7, 0x0003FB4C; 134 135imm32 r0, 0x9b235675; 136imm32 r1, 0xc9ba5127; 137imm32 r2, 0x13946705; 138imm32 r3, 0x00090007; 139imm32 r4, 0x90ab9d09; 140imm32 r5, 0x10ace9db; 141imm32 r6, 0x000c009d; 142imm32 r7, 0x12467009; 143R1 = R6.H * R4.L (S2RND); 144R3 = R5.L * R3.H (S2RND); 145R5 = R3.H * R1.L (S2RND); 146R7 = R1.H * R2.H (S2RND); 147CHECKREG r0, 0x9B235675; 148CHECKREG r1, 0xFFED71B0; 149CHECKREG r2, 0x13946705; 150CHECKREG r3, 0xFFFCE2CC; 151CHECKREG r4, 0x90AB9D09; 152CHECKREG r5, 0xFFF8E500; 153CHECKREG r6, 0x000C009D; 154CHECKREG r7, 0xFFFA3010; 155 156imm32 r0, 0xeb235675; 157imm32 r1, 0xceba5127; 158imm32 r2, 0x13e46705; 159imm32 r3, 0x000e0007; 160imm32 r4, 0x90abed09; 161imm32 r5, 0x10aceedb; 162imm32 r6, 0x000c00ed; 163imm32 r7, 0x1246700e; 164R1 = R4.L * R0.H (S2RND); 165R3 = R6.H * R1.H (S2RND); 166R5 = R1.L * R2.L (S2RND); 167R7 = R4.H * R2.L (S2RND); 168CHECKREG r0, 0xEB235675; 169CHECKREG r1, 0x062EACEC; 170CHECKREG r2, 0x13E46705; 171CHECKREG r3, 0x000128A0; 172CHECKREG r4, 0x90ABED09; 173CHECKREG r5, 0x80000000; 174CHECKREG r6, 0x000C00ED; 175CHECKREG r7, 0x80000000; 176 177 178pass 179