1//Original:/testcases/core/c_dsp32alu_rrpm/c_dsp32alu_rrpm.dsp 2// Spec Reference: dsp32alu (dreg, dreg) 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 9 10 11imm32 r0, 0x75678911; 12imm32 r1, 0x2789ab1d; 13imm32 r2, 0x34745515; 14imm32 r3, 0x46677717; 15imm32 r0, 0x5567a91b; 16imm32 r1, 0x6789aa1d; 17imm32 r2, 0x744455a5; 18imm32 r3, 0x8666777a; 19R0 = R0 + R0, R7 = R0 - R0 (NS); 20R1 = R0 + R1, R6 = R0 - R1 (NS); 21R2 = R0 + R2, R5 = R0 - R2 (NS); 22R3 = R0 + R3, R4 = R0 - R3 (NS); 23R4 = R0 + R4, R3 = R0 - R4 (NS); 24R5 = R0 + R5, R2 = R0 - R5 (NS); 25R6 = R0 + R6, R1 = R0 - R6 (NS); 26R7 = R0 + R7, R0 = R0 - R7 (NS); 27CHECKREG r0, 0xAACF5236; 28CHECKREG r1, 0x6789AA1D; 29CHECKREG r2, 0x744455A5; 30CHECKREG r3, 0x8666777A; 31CHECKREG r4, 0xCF382CF2; 32CHECKREG r5, 0xE15A4EC7; 33CHECKREG r6, 0xEE14FA4F; 34CHECKREG r7, 0xAACF5236; 35 36imm32 r0, 0x4567892b; 37imm32 r1, 0x4489ab2d; 38imm32 r2, 0x54445525; 39imm32 r3, 0x66645727; 40imm32 r4, 0x78889629; 41imm32 r5, 0x8aaabb6b; 42imm32 r6, 0x9cccdd2d; 43imm32 r7, 0x0eee3fff; 44R0 = R1 + R0, R7 = R1 - R0 (NS); 45R1 = R1 + R1, R6 = R1 - R1 (NS); 46R2 = R1 + R2, R5 = R1 - R2 (NS); 47R3 = R1 + R3, R4 = R1 - R3 (NS); 48R4 = R1 + R4, R3 = R1 - R4 (NS); 49R5 = R1 + R5, R2 = R1 - R5 (NS); 50R6 = R1 + R6, R1 = R1 - R6 (NS); 51R7 = R1 + R7, R0 = R1 - R7 (NS); 52CHECKREG r0, 0x89F13458; 53CHECKREG r1, 0x8913565A; 54CHECKREG r2, 0x54445525; 55CHECKREG r3, 0x66645727; 56CHECKREG r4, 0xABC2558D; 57CHECKREG r5, 0xBDE2578F; 58CHECKREG r6, 0x8913565A; 59CHECKREG r7, 0x8835785C; 60 61 62imm32 r0, 0x496789ab; 63imm32 r1, 0x6489abcd; 64imm32 r2, 0x4b445555; 65imm32 r3, 0x6c647777; 66imm32 r4, 0x8d889999; 67imm32 r5, 0x1eaa4bbb; 68imm32 r6, 0x2fccd44d; 69imm32 r7, 0x31eefff4; 70R0 = R2 + R0, R7 = R2 - R0 (NS); 71R1 = R2 + R1, R6 = R2 - R1 (NS); 72R2 = R2 + R2, R5 = R2 - R2 (NS); 73R3 = R2 + R3, R4 = R2 - R3 (NS); 74R4 = R2 + R4, R3 = R2 - R4 (NS); 75R5 = R2 + R5, R2 = R2 - R5 (NS); 76R6 = R2 + R6, R1 = R2 - R6 (NS); 77R7 = R2 + R7, R0 = R2 - R7 (NS); 78CHECKREG r0, 0x94ABDF00; 79CHECKREG r1, 0xAFCE0122; 80CHECKREG r2, 0x9688AAAA; 81CHECKREG r3, 0x6C647777; 82CHECKREG r4, 0xC0ACDDDD; 83CHECKREG r5, 0x9688AAAA; 84CHECKREG r6, 0x7D435432; 85CHECKREG r7, 0x98657654; 86 87imm32 r0, 0xa537891b; 88imm32 r1, 0x6a59ab2d; 89imm32 r2, 0x44a55535; 90imm32 r3, 0x166a5747; 91imm32 r4, 0x6878a565; 92imm32 r5, 0x7a8aba5b; 93imm32 r6, 0x8c9cdd85; 94imm32 r7, 0x9eaeffaf; 95R0 = R3 + R0, R7 = R3 - R0 (NS); 96R1 = R3 + R1, R6 = R3 - R1 (NS); 97R2 = R3 + R2, R5 = R3 - R2 (NS); 98R3 = R3 + R3, R4 = R3 - R3 (NS); 99R4 = R3 + R4, R3 = R3 - R4 (NS); 100R5 = R3 + R5, R2 = R3 - R5 (NS); 101R6 = R3 + R6, R1 = R3 - R6 (NS); 102R7 = R3 + R7, R0 = R3 - R7 (NS); 103CHECKREG r0, 0xBBA1E062; 104CHECKREG r1, 0x80C40274; 105CHECKREG r2, 0x5B0FAC7C; 106CHECKREG r3, 0x2CD4AE8E; 107CHECKREG r4, 0x2CD4AE8E; 108CHECKREG r5, 0xFE99B0A0; 109CHECKREG r6, 0xD8E55AA8; 110CHECKREG r7, 0x9E077CBA; 111 112imm32 r0, 0x15678911; 113imm32 r1, 0x9789ab1d; 114imm32 r2, 0x94445515; 115imm32 r3, 0x96667717; 116imm32 r0, 0x5267891b; 117imm32 r1, 0x67a9ab1d; 118imm32 r2, 0x744c5515; 119imm32 r3, 0x8666d777; 120R0 = R4 + R0, R7 = R4 - R0 (NS); 121R1 = R4 + R1, R6 = R4 - R1 (NS); 122R2 = R4 + R2, R5 = R4 - R2 (NS); 123R3 = R4 + R3, R4 = R4 - R3 (NS); 124R4 = R4 + R4, R3 = R4 - R4 (NS); 125R5 = R4 + R5, R2 = R4 - R5 (NS); 126R6 = R4 + R6, R1 = R4 - R6 (NS); 127R7 = R4 + R7, R0 = R4 - R7 (NS); 128CHECKREG r0, 0x726E88BB; 129CHECKREG r1, 0x87B0AABD; 130CHECKREG r2, 0x945354B5; 131CHECKREG r3, 0x00000000; 132CHECKREG r4, 0x4CDBAE2E; 133CHECKREG r5, 0x056407A7; 134CHECKREG r6, 0x1206B19F; 135CHECKREG r7, 0x2748D3A1; 136 137imm32 r0, 0xa567892b; 138imm32 r1, 0x4a89ab2d; 139imm32 r2, 0x54a45525; 140imm32 r3, 0x666d7727; 141imm32 r4, 0x7888d929; 142imm32 r5, 0x8aaabe2b; 143imm32 r6, 0x9cccdd2d; 144imm32 r7, 0x0eeeffef; 145R0 = R5 + R0, R7 = R5 - R0 (NS); 146R1 = R5 + R1, R6 = R5 - R1 (NS); 147R2 = R5 + R2, R5 = R5 - R2 (NS); 148R3 = R5 + R3, R4 = R5 - R3 (NS); 149R4 = R5 + R4, R3 = R5 - R4 (NS); 150R5 = R5 + R5, R2 = R5 - R5 (NS); 151R6 = R5 + R6, R1 = R5 - R6 (NS); 152R7 = R5 + R7, R0 = R5 - R7 (NS); 153CHECKREG r0, 0x86C99D0C; 154CHECKREG r1, 0x2BEBBF0E; 155CHECKREG r2, 0x00000000; 156CHECKREG r3, 0x666D7727; 157CHECKREG r4, 0x059F5AE5; 158CHECKREG r5, 0x6C0CD20C; 159CHECKREG r6, 0xAC2DE50A; 160CHECKREG r7, 0x5150070C; 161 162 163imm32 r0, 0x496789ab; 164imm32 r1, 0x6489abcd; 165imm32 r2, 0x4b445555; 166imm32 r3, 0x6c647777; 167imm32 r4, 0x8d889999; 168imm32 r5, 0x1eaa4bbb; 169imm32 r6, 0x2fccd44d; 170imm32 r7, 0x31eefff4; 171R0 = R6 + R0, R7 = R6 - R0 (NS); 172R1 = R6 + R1, R6 = R6 - R1 (NS); 173R2 = R6 + R2, R5 = R6 - R2 (NS); 174R3 = R6 + R3, R4 = R6 - R3 (NS); 175R4 = R6 + R4, R3 = R6 - R4 (NS); 176R5 = R6 + R5, R2 = R6 - R5 (NS); 177R6 = R6 + R6, R1 = R6 - R6 (NS); 178R7 = R6 + R7, R0 = R6 - R7 (NS); 179CHECKREG r0, 0xB021065E; 180CHECKREG r1, 0x00000000; 181CHECKREG r2, 0x4B445555; 182CHECKREG r3, 0x6C647777; 183CHECKREG r4, 0x2A21D989; 184CHECKREG r5, 0x4B41FBAB; 185CHECKREG r6, 0x96865100; 186CHECKREG r7, 0x7CEB9BA2; 187 188imm32 r0, 0xe537891b; 189imm32 r1, 0xe759ab2d; 190imm32 r2, 0x4e555535; 191imm32 r3, 0x16e65747; 192imm32 r4, 0x687e9565; 193imm32 r5, 0x7a8aeb5b; 194imm32 r6, 0x8c9cdd85; 195imm32 r7, 0x9eaefe9f; 196R0 = R7 + R0, R7 = R7 - R0 (NS); 197R1 = R7 + R1, R6 = R7 - R1 (NS); 198R2 = R7 + R2, R5 = R7 - R2 (NS); 199R3 = R7 + R3, R4 = R7 - R3 (NS); 200R4 = R7 + R4, R3 = R7 - R4 (NS); 201R5 = R7 + R5, R2 = R7 - R5 (NS); 202R6 = R7 + R6, R1 = R7 - R6 (NS); 203R7 = R7 + R7, R0 = R7 - R7 (NS); 204CHECKREG r0, 0x00000000; 205CHECKREG r1, 0xE759AB2D; 206CHECKREG r2, 0x4E555535; 207CHECKREG r3, 0x16E65747; 208CHECKREG r4, 0x5C0893C1; 209CHECKREG r5, 0x249995D3; 210CHECKREG r6, 0x8B953FDB; 211CHECKREG r7, 0x72EEEB08; 212 213imm32 r0, 0x496789ab; 214imm32 r1, 0x6489abcd; 215imm32 r2, 0x4b445555; 216imm32 r3, 0x6c647777; 217imm32 r4, 0x8d889999; 218imm32 r5, 0x1eaa4bbb; 219imm32 r6, 0x2fccd44d; 220imm32 r7, 0x31eefff4; 221R2 = R4 + R0, R7 = R4 - R0 (S); 222R3 = R7 + R1, R6 = R7 - R1 (NS); 223R4 = R0 + R2, R5 = R0 - R2 (S); 224R5 = R4 + R3, R4 = R4 - R3 (NS); 225R6 = R2 + R4, R3 = R2 - R4 (S); 226R7 = R3 + R5, R2 = R3 - R5 (NS); 227R0 = R1 + R6, R1 = R1 - R6 (S); 228R1 = R5 + R7, R0 = R5 - R7 (S); 229CHECKREG r0, 0x64DDDDDE; 230CHECKREG r1, 0xA4E4D39A; 231CHECKREG r2, 0x9640C966; 232CHECKREG r3, 0x9B222222; 233CHECKREG r4, 0x3BCE0122; 234CHECKREG r5, 0x04E158BC; 235CHECKREG r6, 0x12BE2466; 236CHECKREG r7, 0xA0037ADE; 237 238imm32 r0, 0xa537891b; 239imm32 r1, 0x6d59ab2d; 240imm32 r2, 0x4f555535; 241imm32 r3, 0x16c65747; 242imm32 r4, 0x687c9565; 243imm32 r5, 0x7a8acb5b; 244imm32 r6, 0x8c9cdc85; 245imm32 r7, 0x9eaefb9f; 246R4 = R3 + R0, R1 = R3 - R0 (S); 247R5 = R6 + R1, R2 = R6 - R1 (S); 248R6 = R7 + R2, R3 = R7 - R2 (S); 249R7 = R0 + R3, R4 = R0 - R3 (NS); 250R0 = R2 + R4, R5 = R2 - R4 (S); 251R1 = R1 + R5, R6 = R1 - R5 (S); 252R2 = R5 + R6, R7 = R5 - R6 (NS); 253R3 = R4 + R7, R0 = R4 - R7 (S); 254CHECKREG r0, 0x052876A0; 255CHECKREG r1, 0x6B0640B0; 256CHECKREG r2, 0x718ECE2C; 257CHECKREG r3, 0x80000000; 258CHECKREG r4, 0x86888D7C; 259CHECKREG r5, 0xF9777284; 260CHECKREG r6, 0x78175BA8; 261CHECKREG r7, 0x816016DC; 262 263 264 265pass 266