1//Original:/testcases/core/c_dsp32alu_rrppmm/c_dsp32alu_rrppmm.dsp 2// Spec Reference: dsp32alu (dreg, dreg) = +/+, -/- (dreg, dreg) amod0 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 9 10 11imm32 r0, 0x95679911; 12imm32 r1, 0x2789ab1d; 13imm32 r2, 0x34945515; 14imm32 r3, 0x46967717; 15imm32 r4, 0x5597891b; 16imm32 r5, 0x6989ab1d; 17imm32 r6, 0x94445515; 18imm32 r7, 0x96667777; 19R0 = R0 +|+ R0, R7 = R0 -|- R0; 20R1 = R0 +|+ R1, R6 = R0 -|- R1; 21R2 = R0 +|+ R2, R5 = R0 -|- R2; 22R3 = R0 +|+ R3, R4 = R0 -|- R3; 23R4 = R0 +|+ R4, R3 = R0 -|- R4; 24R5 = R0 +|+ R5, R2 = R0 -|- R5; 25R6 = R0 +|+ R6, R1 = R0 -|- R6; 26R7 = R0 +|+ R7, R0 = R0 -|- R7; 27CHECKREG r0, 0x2ACE3222; 28CHECKREG r1, 0x2789AB1D; 29CHECKREG r2, 0x34945515; 30CHECKREG r3, 0x46967717; 31CHECKREG r4, 0x0F06ED2D; 32CHECKREG r5, 0x21080F2F; 33CHECKREG r6, 0x2E13B927; 34CHECKREG r7, 0x2ACE3222; 35 36imm32 r0, 0x11678911; 37imm32 r1, 0xa719ab1d; 38imm32 r2, 0x3a415515; 39imm32 r3, 0x46a67717; 40imm32 r4, 0x556a891b; 41imm32 r5, 0x6789ab1d; 42imm32 r6, 0x74445a15; 43imm32 r7, 0x866677a7; 44R0 = R1 +|+ R0, R7 = R1 -|- R0; 45R1 = R1 +|+ R1, R6 = R1 -|- R1; 46R2 = R1 +|+ R2, R5 = R1 -|- R2; 47R3 = R1 +|+ R3, R4 = R1 -|- R3; 48R4 = R1 +|+ R4, R3 = R1 -|- R4; 49R5 = R1 +|+ R5, R2 = R1 -|- R5; 50R6 = R1 +|+ R6, R1 = R1 -|- R6; 51R7 = R1 +|+ R7, R0 = R1 -|- R7; 52CHECKREG r0, 0xB880342E; 53CHECKREG r1, 0x4E32563A; 54CHECKREG r2, 0x3A415515; 55CHECKREG r3, 0x46A67717; 56CHECKREG r4, 0x55BE355D; 57CHECKREG r5, 0x6223575F; 58CHECKREG r6, 0x4E32563A; 59CHECKREG r7, 0xE3E47846; 60 61imm32 r0, 0xb567891b; 62imm32 r1, 0x2b89abbd; 63imm32 r2, 0x34b45b15; 64imm32 r3, 0x466bb717; 65imm32 r4, 0x556bb91b; 66imm32 r5, 0x67b9ab1d; 67imm32 r6, 0x7b4455b5; 68imm32 r7, 0xb666777b; 69R0 = R2 +|+ R0, R7 = R2 -|- R0; 70R1 = R2 +|+ R1, R6 = R2 -|- R1; 71R2 = R2 +|+ R2, R5 = R2 -|- R2; 72R3 = R2 +|+ R3, R4 = R2 -|- R3; 73R4 = R2 +|+ R4, R3 = R2 -|- R4; 74R5 = R2 +|+ R5, R2 = R2 -|- R5; 75R6 = R2 +|+ R6, R1 = R2 -|- R6; 76R7 = R2 +|+ R7, R0 = R2 -|- R7; 77CHECKREG r0, 0xEA1BE430; 78CHECKREG r1, 0x603D06D2; 79CHECKREG r2, 0x6968B62A; 80CHECKREG r3, 0x466BB717; 81CHECKREG r4, 0x8C65B53D; 82CHECKREG r5, 0x6968B62A; 83CHECKREG r6, 0x72936582; 84CHECKREG r7, 0xE8B58824; 85 86imm32 r0, 0xbc678c11; 87imm32 r1, 0x27c9cb1d; 88imm32 r2, 0x344c5515; 89imm32 r3, 0x46c6c717; 90imm32 r4, 0x55678c1b; 91imm32 r5, 0x6c89abcd; 92imm32 r6, 0x7444551c; 93imm32 r7, 0x8c667777; 94R0 = R3 +|+ R0, R7 = R3 -|- R0; 95R1 = R3 +|+ R1, R6 = R3 -|- R1; 96R2 = R3 +|+ R2, R5 = R3 -|- R2; 97R3 = R3 +|+ R3, R4 = R3 -|- R3; 98R4 = R3 +|+ R4, R3 = R3 -|- R4; 99R5 = R3 +|+ R5, R2 = R3 -|- R5; 100R6 = R3 +|+ R6, R1 = R3 -|- R6; 101R7 = R3 +|+ R7, R0 = R3 -|- R7; 102CHECKREG r0, 0x032D5328; 103CHECKREG r1, 0x6E8F9234; 104CHECKREG r2, 0x7B121C2C; 105CHECKREG r3, 0x8D8C8E2E; 106CHECKREG r4, 0x8D8C8E2E; 107CHECKREG r5, 0xA0060030; 108CHECKREG r6, 0xAC898A28; 109CHECKREG r7, 0x17EBC934; 110 111imm32 r0, 0xd56789d1; 112imm32 r1, 0x2d89abdd; 113imm32 r2, 0x34d455d5; 114imm32 r3, 0x4d667717; 115imm32 r4, 0x5dd7891b; 116imm32 r5, 0x6789ab1d; 117imm32 r6, 0xd44d5515; 118imm32 r7, 0xd666d777; 119R0 = R4 +|+ R0, R7 = R4 -|- R0; 120R1 = R4 +|+ R1, R6 = R4 -|- R1; 121R2 = R4 +|+ R2, R5 = R4 -|- R2; 122R3 = R4 +|+ R3, R4 = R4 -|- R3; 123R4 = R4 +|+ R4, R3 = R4 -|- R4; 124R5 = R4 +|+ R5, R2 = R4 -|- R5; 125R6 = R4 +|+ R6, R1 = R4 -|- R6; 126R7 = R4 +|+ R7, R0 = R4 -|- R7; 127CHECKREG r0, 0x987224BE; 128CHECKREG r1, 0xF09446CA; 129CHECKREG r2, 0xF7DFF0C2; 130CHECKREG r3, 0x00000000; 131CHECKREG r4, 0x20E22408; 132CHECKREG r5, 0x49E5574E; 133CHECKREG r6, 0x51300146; 134CHECKREG r7, 0xA9522352; 135 136imm32 r0, 0xc567a911; 137imm32 r1, 0x278aab1d; 138imm32 r2, 0x3c445515; 139imm32 r3, 0x46a67717; 140imm32 r4, 0x55c7891b; 141imm32 r5, 0x6a8cab1d; 142imm32 r6, 0x7444c515; 143imm32 r7, 0xa6667c77; 144R0 = R5 +|+ R0, R7 = R5 -|- R0; 145R1 = R5 +|+ R1, R6 = R5 -|- R1; 146R2 = R5 +|+ R2, R5 = R5 -|- R2; 147R3 = R5 +|+ R3, R4 = R5 -|- R3; 148R4 = R5 +|+ R4, R3 = R5 -|- R4; 149R5 = R5 +|+ R5, R2 = R5 -|- R5; 150R6 = R5 +|+ R6, R1 = R5 -|- R6; 151R7 = R5 +|+ R7, R0 = R5 -|- R7; 152CHECKREG r0, 0xB76BAA04; 153CHECKREG r1, 0x198EAC10; 154CHECKREG r2, 0x00000000; 155CHECKREG r3, 0x46A67717; 156CHECKREG r4, 0x15EA34F9; 157CHECKREG r5, 0x5C90AC10; 158CHECKREG r6, 0x9F92AC10; 159CHECKREG r7, 0x01B5AE1C; 160 161imm32 r0, 0xd5678911; 162imm32 r1, 0x2ddddd1d; 163imm32 r2, 0x34ddd515; 164imm32 r3, 0x46d67717; 165imm32 r4, 0x5d6d891b; 166imm32 r5, 0x6789db1d; 167imm32 r6, 0x74445d15; 168imm32 r7, 0xd66677d7; 169R0 = R6 +|+ R0, R7 = R6 -|- R0; 170R1 = R6 +|+ R1, R6 = R6 -|- R1; 171R2 = R6 +|+ R2, R5 = R6 -|- R2; 172R3 = R6 +|+ R3, R4 = R6 -|- R3; 173R4 = R6 +|+ R4, R3 = R6 -|- R4; 174R5 = R6 +|+ R5, R2 = R6 -|- R5; 175R6 = R6 +|+ R6, R1 = R6 -|- R6; 176R7 = R6 +|+ R7, R0 = R6 -|- R7; 177CHECKREG r0, 0xEDF12BEC; 178CHECKREG r1, 0x00000000; 179CHECKREG r2, 0x34DDD515; 180CHECKREG r3, 0x46D67717; 181CHECKREG r4, 0x45F888D9; 182CHECKREG r5, 0x57F12ADB; 183CHECKREG r6, 0x8CCEFFF0; 184CHECKREG r7, 0x2BABD3F4; 185 186imm32 r0, 0xf567a911; 187imm32 r1, 0x2f8aab1d; 188imm32 r2, 0x34a45515; 189imm32 r3, 0x4a6f7717; 190imm32 r4, 0x5567f91b; 191imm32 r5, 0xa789af1d; 192imm32 r6, 0x74445515; 193imm32 r7, 0x866677f7; 194R0 = R7 +|+ R0, R7 = R7 -|- R0; 195R1 = R7 +|+ R1, R6 = R7 -|- R1; 196R2 = R7 +|+ R2, R5 = R7 -|- R2; 197R3 = R7 +|+ R3, R4 = R7 -|- R3; 198R4 = R7 +|+ R4, R3 = R7 -|- R4; 199R5 = R7 +|+ R5, R2 = R7 -|- R5; 200R6 = R7 +|+ R6, R1 = R7 -|- R6; 201R7 = R7 +|+ R7, R0 = R7 -|- R7; 202CHECKREG r0, 0x00000000; 203CHECKREG r1, 0x2F8AAB1D; 204CHECKREG r2, 0x34A45515; 205CHECKREG r3, 0x4A6F7717; 206CHECKREG r4, 0xD78F26B5; 207CHECKREG r5, 0xED5A48B7; 208CHECKREG r6, 0xF274F2AF; 209CHECKREG r7, 0x21FE9DCC; 210 211imm32 r0, 0xe5678911; 212imm32 r1, 0x2e89ab1d; 213imm32 r2, 0x34e45515; 214imm32 r3, 0x46667717; 215imm32 r4, 0x556e891b; 216imm32 r5, 0x6789ab1d; 217imm32 r6, 0x7444e515; 218imm32 r7, 0x86667e77; 219R4 = R2 +|+ R5, R3 = R2 -|- R5 (S); 220R0 = R5 +|+ R3, R5 = R5 -|- R3 (CO); 221R2 = R6 +|+ R2, R0 = R6 -|- R2 (SCO); 222R3 = R4 +|+ R0, R2 = R4 -|- R0 (S); 223R7 = R7 +|+ R6, R6 = R7 -|- R6 (CO); 224R6 = R1 +|+ R7, R1 = R1 -|- R7 (SCO); 225R5 = R0 +|+ R4, R7 = R0 -|- R4 (S); 226R1 = R3 +|+ R1, R4 = R3 -|- R1 (CO); 227CHECKREG r0, 0x90003F60; 228CHECKREG r1, 0x8FFF7371; 229CHECKREG r2, 0x7FFFC0D2; 230CHECKREG r3, 0x0FFF3F92; 231CHECKREG r4, 0x0BB38FFF; 232CHECKREG r5, 0x0FFF3F92; 233CHECKREG r6, 0x29330EA9; 234CHECKREG r7, 0x80003F2E; 235 236imm32 r0, 0xd5678911; 237imm32 r1, 0xff89ab1d; 238imm32 r2, 0x34f45515; 239imm32 r3, 0x46667717; 240imm32 r4, 0x556f891b; 241imm32 r5, 0x6789fb1d; 242imm32 r6, 0x74445f15; 243imm32 r7, 0x866677f7; 244R4 = R3 +|+ R3, R5 = R3 -|- R3 (SCO); 245R1 = R6 +|+ R1, R6 = R6 -|- R1 (SCO); 246R6 = R1 +|+ R4, R4 = R1 -|- R4 (S); 247R7 = R4 +|+ R2, R0 = R4 -|- R2 (S); 248R2 = R2 +|+ R6, R1 = R2 -|- R6 (CO); 249R3 = R5 +|+ R5, R7 = R5 -|- R5 (CO); 250R5 = R7 +|+ R7, R3 = R7 -|- R7 (SCO); 251R0 = R0 +|+ R0, R2 = R0 -|- R0 (SCO); 252CHECKREG r0, 0x80008000; 253CHECKREG r1, 0xD516B4F5; 254CHECKREG r2, 0x00000000; 255CHECKREG r3, 0x00000000; 256CHECKREG r4, 0xF3CE8A33; 257CHECKREG r5, 0x00000000; 258CHECKREG r6, 0x7FFF7FFF; 259CHECKREG r7, 0x00000000; 260 261 262 263pass 264