1//Original:/testcases/core/c_dsp32alu_rh_p/c_dsp32alu_rh_p.dsp 2// Spec Reference: dsp32alu dreg (half) 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 9 10 11imm32 r0, 0x34678911; 12imm32 r1, 0x2789ab1d; 13imm32 r2, 0x34645515; 14imm32 r3, 0x46667717; 15imm32 r4, 0xd678891b; 16imm32 r5, 0x6e89ab1d; 17imm32 r6, 0x74b45515; 18imm32 r7, 0x866cc777; 19R0.H = R0.L + R0.L (NS); 20R1.H = R0.L + R1.H (NS); 21R2.H = R0.H + R2.L (NS); 22R3.H = R0.H + R3.H (NS); 23R4.H = R0.L + R4.L (NS); 24R5.H = R0.L + R5.H (NS); 25R6.H = R0.H + R6.L (NS); 26R7.H = R0.H + R7.H (NS); 27CHECKREG r4, 0x122C891B; 28CHECKREG r5, 0xF79AAB1D; 29CHECKREG r6, 0x67375515; 30CHECKREG r7, 0x988EC777; 31CHECKREG r4, 0x122C891B; 32CHECKREG r5, 0xF79AAB1D; 33CHECKREG r6, 0x67375515; 34CHECKREG r7, 0x988EC777; 35 36imm32 r0, 0x12348911; 37imm32 r1, 0x2e89ab1d; 38imm32 r2, 0x34f45515; 39imm32 r3, 0x46d67717; 40imm32 r4, 0x567b891b; 41imm32 r5, 0x6789ab1d; 42imm32 r6, 0x7444b515; 43imm32 r7, 0x86667a77; 44R0.H = R1.L + R0.L (NS); 45R1.H = R1.L + R1.H (NS); 46R2.H = R1.H + R2.L (NS); 47R3.H = R1.H + R3.H (NS); 48R4.H = R1.L + R4.L (NS); 49R5.H = R1.L + R5.H (NS); 50R6.H = R1.H + R6.L (NS); 51R7.H = R1.H + R7.H (NS); 52CHECKREG r4, 0x3438891B; 53CHECKREG r5, 0x12A6AB1D; 54CHECKREG r6, 0x8EBBB515; 55CHECKREG r7, 0x600C7A77; 56CHECKREG r4, 0x3438891B; 57CHECKREG r5, 0x12A6AB1D; 58CHECKREG r6, 0x8EBBB515; 59CHECKREG r7, 0x600C7A77; 60 61imm32 r0, 0x85678911; 62imm32 r1, 0x3989ab1d; 63imm32 r2, 0x34445515; 64imm32 r3, 0x46a67717; 65imm32 r4, 0x5e78891b; 66imm32 r5, 0x67d9ab1d; 67imm32 r6, 0x744b5515; 68imm32 r7, 0x86668777; 69R0.H = R2.L + R0.L (NS); 70R1.H = R2.L + R1.H (NS); 71R2.H = R2.H + R2.L (NS); 72R3.H = R2.H + R3.H (NS); 73R4.H = R2.L + R4.L (NS); 74R5.H = R2.L + R5.H (NS); 75R6.H = R2.H + R6.L (NS); 76R7.L = R2.H + R7.H (NS); 77CHECKREG r4, 0xDE30891B; 78CHECKREG r5, 0xBCEEAB1D; 79CHECKREG r6, 0xDE6E5515; 80CHECKREG r7, 0x86660FBF; 81CHECKREG r4, 0xDE30891B; 82CHECKREG r5, 0xBCEEAB1D; 83CHECKREG r6, 0xDE6E5515; 84CHECKREG r7, 0x86660FBF; 85 86imm32 r0, 0x25678911; 87imm32 r1, 0x2789ab1d; 88imm32 r2, 0x3e445515; 89imm32 r3, 0x46d67717; 90imm32 r4, 0x567f891b; 91imm32 r5, 0x6789bb1d; 92imm32 r6, 0x74445515; 93imm32 r7, 0x86667b77; 94R0.H = R3.L + R0.L (NS); 95R1.H = R3.L + R1.H (NS); 96R2.H = R3.H + R2.L (NS); 97R3.H = R3.H + R3.H (NS); 98R4.H = R3.L + R4.L (NS); 99R5.H = R3.L + R5.H (NS); 100R6.H = R3.H + R6.L (NS); 101R7.H = R3.H + R7.H (NS); 102CHECKREG r4, 0x0032891B; 103CHECKREG r5, 0xDEA0BB1D; 104CHECKREG r6, 0xE2C15515; 105CHECKREG r7, 0x14127B77; 106CHECKREG r4, 0x0032891B; 107CHECKREG r5, 0xDEA0BB1D; 108CHECKREG r6, 0xE2C15515; 109CHECKREG r7, 0x14127B77; 110 111imm32 r0, 0x15678911; 112imm32 r1, 0x2789ab1d; 113imm32 r2, 0x34445515; 114imm32 r3, 0x46667717; 115imm32 r4, 0x5678891b; 116imm32 r5, 0x6789ab1d; 117imm32 r6, 0x74445515; 118imm32 r7, 0x86667777; 119R0.H = R4.L + R0.L (NS); 120R1.H = R4.L + R1.H (NS); 121R2.H = R4.H + R2.L (NS); 122R3.H = R4.H + R3.H (NS); 123R4.H = R4.L + R4.L (NS); 124R5.H = R4.L + R5.H (NS); 125R6.H = R4.H + R6.L (NS); 126R7.H = R4.H + R7.H (NS); 127CHECKREG r4, 0x1236891B; 128CHECKREG r5, 0xF0A4AB1D; 129CHECKREG r6, 0x674B5515; 130CHECKREG r7, 0x989C7777; 131CHECKREG r4, 0x1236891B; 132CHECKREG r5, 0xF0A4AB1D; 133CHECKREG r6, 0x674B5515; 134CHECKREG r7, 0x989C7777; 135 136imm32 r0, 0xa5678911; 137imm32 r1, 0x2a89ab1d; 138imm32 r2, 0x34d45515; 139imm32 r3, 0x466b7717; 140imm32 r4, 0x5678f91b; 141imm32 r5, 0x6789ab1d; 142imm32 r6, 0x7444a515; 143imm32 r7, 0x86667b77; 144R0.H = R5.L + R0.L (NS); 145R1.H = R5.L + R1.H (NS); 146R2.H = R5.H + R2.L (NS); 147R3.H = R5.H + R3.H (NS); 148R4.H = R5.L + R4.L (NS); 149R5.H = R5.L + R5.H (NS); 150R6.H = R5.H + R6.L (NS); 151R7.H = R5.H + R7.H (NS); 152CHECKREG r4, 0xA438F91B; 153CHECKREG r5, 0x12A6AB1D; 154CHECKREG r6, 0xB7BBA515; 155CHECKREG r7, 0x990C7B77; 156CHECKREG r4, 0xA438F91B; 157CHECKREG r5, 0x12A6AB1D; 158CHECKREG r6, 0xB7BBA515; 159CHECKREG r7, 0x990C7B77; 160 161imm32 r0, 0xf5678911; 162imm32 r1, 0x2f89ab1d; 163imm32 r2, 0x34445515; 164imm32 r3, 0x46f67717; 165imm32 r4, 0x5678891b; 166imm32 r5, 0x678fab1d; 167imm32 r6, 0x7444f515; 168imm32 r7, 0x86667f77; 169R0.L = R6.L + R0.L (NS); 170R1.H = R6.L + R1.H (NS); 171R2.H = R6.H + R2.L (NS); 172R3.H = R6.H + R3.H (NS); 173R4.H = R6.L + R4.L (NS); 174R5.H = R6.L + R5.H (NS); 175R6.H = R6.H + R6.L (NS); 176R7.H = R6.H + R7.H (NS); 177CHECKREG r4, 0x7E30891B; 178CHECKREG r5, 0x5CA4AB1D; 179CHECKREG r6, 0x6959F515; 180CHECKREG r7, 0xEFBF7F77; 181CHECKREG r4, 0x7E30891B; 182CHECKREG r5, 0x5CA4AB1D; 183CHECKREG r6, 0x6959F515; 184CHECKREG r7, 0xEFBF7F77; 185 186imm32 r0, 0x15678911; 187imm32 r1, 0x2789ab1d; 188imm32 r2, 0x34445515; 189imm32 r3, 0x46667717; 190imm32 r4, 0x5678891b; 191imm32 r5, 0x6789ab1d; 192imm32 r6, 0x74445515; 193imm32 r7, 0x86667777; 194R0.H = R7.L + R0.L (NS); 195R1.H = R7.L + R1.H (NS); 196R2.H = R7.H + R2.L (NS); 197R3.H = R7.H + R3.H (NS); 198R4.H = R7.L + R4.L (NS); 199R5.H = R7.L + R5.H (NS); 200R6.H = R7.H + R6.L (NS); 201R7.H = R7.H + R7.H (NS); 202CHECKREG r4, 0x0092891B; 203CHECKREG r5, 0xDF00AB1D; 204CHECKREG r6, 0xDB7B5515; 205CHECKREG r7, 0x0CCC7777; 206CHECKREG r4, 0x0092891B; 207CHECKREG r5, 0xDF00AB1D; 208CHECKREG r6, 0xDB7B5515; 209CHECKREG r7, 0x0CCC7777; 210 211imm32 r0, 0x56678911; 212imm32 r1, 0x2789ab1d; 213imm32 r2, 0x34645515; 214imm32 r3, 0x466a7717; 215imm32 r4, 0x5678e91b; 216imm32 r5, 0x6789af1d; 217imm32 r6, 0x744455f5; 218imm32 r7, 0x866677b7; 219R6.H = R2.L + R3.L (S); 220R1.H = R4.L + R5.H (S); 221R5.H = R7.H + R2.L (S); 222R3.H = R0.H + R0.H (S); 223R0.H = R3.L + R4.L (S); 224R2.H = R5.L + R7.H (S); 225R7.H = R6.H + R7.L (S); 226R4.H = R1.H + R6.H (S); 227CHECKREG r4, 0x7FFFE91B; 228CHECKREG r5, 0xDB7BAF1D; 229CHECKREG r6, 0x7FFF55F5; 230CHECKREG r7, 0x7FFF77B7; 231CHECKREG r4, 0x7FFFE91B; 232CHECKREG r5, 0xDB7BAF1D; 233CHECKREG r6, 0x7FFF55F5; 234CHECKREG r7, 0x7FFF77B7; 235 236imm32 r0, 0x95678911; 237imm32 r1, 0x2989ab1d; 238imm32 r2, 0x34445515; 239imm32 r3, 0x46967717; 240imm32 r4, 0x5679891b; 241imm32 r5, 0x6789ab1d; 242imm32 r6, 0x74449515; 243imm32 r7, 0x86667977; 244R3.H = R4.L + R0.L (S); 245R1.H = R6.L + R3.H (S); 246R4.H = R3.H + R2.L (S); 247R6.H = R7.H + R1.H (S); 248R2.H = R5.L + R4.L (S); 249R7.H = R2.L + R7.H (S); 250R0.H = R1.H + R6.L (S); 251R5.H = R0.H + R5.H (S); 252CHECKREG r4, 0xD515891B; 253CHECKREG r5, 0xE789AB1D; 254CHECKREG r6, 0x80009515; 255CHECKREG r7, 0xDB7B7977; 256CHECKREG r4, 0xD515891B; 257CHECKREG r5, 0xE789AB1D; 258CHECKREG r6, 0x80009515; 259CHECKREG r7, 0xDB7B7977; 260 261 262 263pass 264