1//Original:/testcases/core/c_dsp32alu_rm/c_dsp32alu_rm.dsp 2// Spec Reference: dsp32alu 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 9 10 11imm32 r0, 0x35678911; 12imm32 r1, 0x2389ab1d; 13imm32 r2, 0x34345515; 14imm32 r3, 0x46637717; 15imm32 r4, 0x5567391b; 16imm32 r5, 0x6789a31d; 17imm32 r6, 0x744455a5; 18imm32 r7, 0x866677a7; 19R0 = R0 - R0 (NS); 20R1 = R0 - R1 (NS); 21R2 = R0 - R2 (NS); 22R3 = R0 - R3 (NS); 23R4 = R0 - R4 (NS); 24R5 = R0 - R5 (NS); 25R6 = R0 - R6 (NS); 26R7 = R0 - R7 (NS); 27CHECKREG r0, 0x00000000; 28CHECKREG r1, 0xDC7654E3; 29CHECKREG r2, 0xCBCBAAEB; 30CHECKREG r3, 0xB99C88E9; 31CHECKREG r4, 0xAA98C6E5; 32CHECKREG r5, 0x98765CE3; 33CHECKREG r6, 0x8BBBAA5B; 34CHECKREG r7, 0x79998859; 35 36imm32 r0, 0xa5678911; 37imm32 r1, 0x4a89ab1d; 38imm32 r2, 0x54a45515; 39imm32 r3, 0x466a7717; 40imm32 r4, 0x5567a91b; 41imm32 r5, 0x6789ab1d; 42imm32 r6, 0x74445a15; 43imm32 r7, 0x866677a7; 44R0 = R1 - R0 (NS); 45R1 = R1 - R1 (NS); 46R2 = R1 - R2 (NS); 47R3 = R1 - R3 (NS); 48R4 = R1 - R4 (NS); 49R5 = R1 - R5 (NS); 50R6 = R1 - R6 (NS); 51R7 = R1 - R7 (NS); 52CHECKREG r0, 0xA522220C; 53CHECKREG r1, 0x00000000; 54CHECKREG r2, 0xAB5BAAEB; 55CHECKREG r3, 0xB99588E9; 56CHECKREG r4, 0xAA9856E5; 57CHECKREG r5, 0x987654E3; 58CHECKREG r6, 0x8BBBA5EB; 59CHECKREG r7, 0x79998859; 60 61imm32 r0, 0xda678911; 62imm32 r1, 0x27c9ab1d; 63imm32 r2, 0x344c5515; 64imm32 r3, 0x4666c717; 65imm32 r4, 0x5567891b; 66imm32 r5, 0x6789ab1d; 67imm32 r6, 0x744455b5; 68imm32 r7, 0x8666777b; 69R0 = R2 - R0 (NS); 70R1 = R2 - R1 (NS); 71R2 = R2 - R2 (NS); 72R3 = R2 - R3 (NS); 73R4 = R2 - R4 (NS); 74R5 = R2 - R5 (NS); 75R6 = R2 - R6 (NS); 76R7 = R2 - R7 (NS); 77CHECKREG r0, 0x59E4CC04; 78CHECKREG r1, 0x0C82A9F8; 79CHECKREG r2, 0x00000000; 80CHECKREG r3, 0xB99938E9; 81CHECKREG r4, 0xAA9876E5; 82CHECKREG r5, 0x987654E3; 83CHECKREG r6, 0x8BBBAA4B; 84CHECKREG r7, 0x79998885; 85 86imm32 r0, 0x65678911; 87imm32 r1, 0x7289ab1d; 88imm32 r2, 0x84345515; 89imm32 r3, 0x96647717; 90imm32 r4, 0x5567591b; 91imm32 r5, 0x6789a61d; 92imm32 r6, 0x744d5515; 93imm32 r7, 0x8666b777; 94R0 = R3 - R0 (NS); 95R1 = R3 - R1 (NS); 96R2 = R3 - R2 (NS); 97R3 = R3 - R3 (NS); 98R4 = R3 - R4 (NS); 99R5 = R3 - R5 (NS); 100R6 = R3 - R6 (NS); 101R7 = R3 - R7 (NS); 102CHECKREG r0, 0x30FCEE06; 103CHECKREG r1, 0x23DACBFA; 104CHECKREG r2, 0x12302202; 105CHECKREG r3, 0x00000000; 106CHECKREG r4, 0xAA98A6E5; 107CHECKREG r5, 0x987659E3; 108CHECKREG r6, 0x8BB2AAEB; 109CHECKREG r7, 0x79994889; 110 111imm32 r0, 0x15678911; 112imm32 r1, 0x2789ab1d; 113imm32 r2, 0x34445515; 114imm32 r3, 0x46667717; 115imm32 r4, 0x5567891b; 116imm32 r5, 0x6789ab1d; 117imm32 r6, 0x74445515; 118imm32 r7, 0x86667777; 119R0 = R4 - R0 (NS); 120R1 = R4 - R1 (NS); 121R2 = R4 - R2 (NS); 122R3 = R4 - R3 (NS); 123R4 = R4 - R4 (NS); 124R5 = R4 - R5 (NS); 125R6 = R4 - R6 (NS); 126R7 = R4 - R7 (NS); 127CHECKREG r0, 0x4000000A; 128CHECKREG r1, 0x2DDDDDFE; 129CHECKREG r2, 0x21233406; 130CHECKREG r3, 0x0F011204; 131CHECKREG r4, 0x00000000; 132CHECKREG r5, 0x987654E3; 133CHECKREG r6, 0x8BBBAAEB; 134CHECKREG r7, 0x79998889; 135 136imm32 r0, 0x95678911; 137imm32 r1, 0x8789ab1d; 138imm32 r2, 0x74445515; 139imm32 r3, 0x36667717; 140imm32 r4, 0x3567891b; 141imm32 r5, 0x6e89ab1d; 142imm32 r6, 0x74e45515; 143imm32 r7, 0x866e7777; 144R0 = R5 - R0 (NS); 145R1 = R5 - R1 (NS); 146R2 = R5 - R2 (NS); 147R3 = R5 - R3 (NS); 148R4 = R5 - R4 (NS); 149R5 = R5 - R5 (NS); 150R6 = R5 - R6 (NS); 151R7 = R5 - R7 (NS); 152CHECKREG r0, 0xD922220C; 153CHECKREG r1, 0xE7000000; 154CHECKREG r2, 0xFA455608; 155CHECKREG r3, 0x38233406; 156CHECKREG r4, 0x39222202; 157CHECKREG r5, 0x00000000; 158CHECKREG r6, 0x8B1BAAEB; 159CHECKREG r7, 0x79918889; 160 161imm32 r0, 0x5a678911; 162imm32 r1, 0x67c9ab1d; 163imm32 r2, 0x744d5515; 164imm32 r3, 0x8666b717; 165imm32 r4, 0x9567891b; 166imm32 r5, 0x6789db1d; 167imm32 r6, 0x74445f15; 168imm32 r7, 0x866677f7; 169R0 = R6 - R0 (NS); 170R1 = R6 - R1 (NS); 171R2 = R6 - R2 (NS); 172R3 = R6 - R3 (NS); 173R4 = R6 - R4 (NS); 174R5 = R6 - R5 (NS); 175R6 = R6 - R6 (NS); 176R7 = R6 - R7 (NS); 177CHECKREG r0, 0x19DCD604; 178CHECKREG r1, 0x0C7AB3F8; 179CHECKREG r2, 0xFFF70A00; 180CHECKREG r3, 0xEDDDA7FE; 181CHECKREG r4, 0xDEDCD5FA; 182CHECKREG r5, 0x0CBA83F8; 183CHECKREG r6, 0x00000000; 184CHECKREG r7, 0x79998809; 185 186imm32 r0, 0x25678911; 187imm32 r1, 0x2389ab1d; 188imm32 r2, 0x3a455515; 189imm32 r3, 0x46d66717; 190imm32 r4, 0x556b891b; 191imm32 r5, 0x6789cb1d; 192imm32 r6, 0x74445515; 193imm32 r7, 0x86667777; 194R0 = R7 - R0 (NS); 195R1 = R7 - R1 (NS); 196R2 = R7 - R2 (NS); 197R3 = R7 - R3 (NS); 198R4 = R7 - R4 (NS); 199R5 = R7 - R5 (NS); 200R6 = R7 - R6 (NS); 201R7 = R7 - R7 (NS); 202CHECKREG r0, 0x60FEEE66; 203CHECKREG r1, 0x62DCCC5A; 204CHECKREG r2, 0x4C212262; 205CHECKREG r3, 0x3F901060; 206CHECKREG r4, 0x30FAEE5C; 207CHECKREG r5, 0x1EDCAC5A; 208CHECKREG r6, 0x12222262; 209CHECKREG r7, 0x00000000; 210 211imm32 r0, 0xd5678911; 212imm32 r1, 0x2e89ab1d; 213imm32 r2, 0x34f45515; 214imm32 r3, 0x466b7717; 215imm32 r4, 0x5567c91b; 216imm32 r5, 0x6789ab1d; 217imm32 r6, 0x74445115; 218imm32 r7, 0x866a7d77; 219R3 = R1 - R4 (S); 220R7 = R4 - R6 (S); 221R2 = R7 - R7 (S); 222R4 = R5 - R0 (S); 223R5 = R3 - R1 (S); 224R6 = R2 - R3 (S); 225R0 = R0 - R2 (S); 226R1 = R6 - R5 (S); 227CHECKREG r0, 0xD5678911; 228CHECKREG r1, 0x7C45E719; 229CHECKREG r2, 0x00000000; 230CHECKREG r3, 0xD921E202; 231CHECKREG r4, 0x7FFFFFFF; 232CHECKREG r5, 0xAA9836E5; 233CHECKREG r6, 0x26DE1DFE; 234CHECKREG r7, 0xE1237806; 235 236imm32 r0, 0x15678911; 237imm32 r1, 0x2789ab1d; 238imm32 r2, 0x34445515; 239imm32 r3, 0x46667717; 240imm32 r4, 0x5567891b; 241imm32 r5, 0x6789ab1d; 242imm32 r6, 0x74445515; 243imm32 r7, 0x86667777; 244R3 = R3 - R3 (S); 245R1 = R7 - R6 (S); 246R4 = R1 - R2 (S); 247R7 = R4 - R0 (S); 248R5 = R6 - R4 (S); 249R2 = R5 - R5 (S); 250R6 = R2 - R1 (S); 251R0 = R0 - R7 (S); 252CHECKREG r0, 0x7FFFFFFF; 253CHECKREG r1, 0x80000000; 254CHECKREG r2, 0x00000000; 255CHECKREG r3, 0x00000000; 256CHECKREG r4, 0x80000000; 257CHECKREG r5, 0x7FFFFFFF; 258CHECKREG r6, 0x7FFFFFFF; 259CHECKREG r7, 0x80000000; 260 261 262pass 263