1//Original:/testcases/core/c_dsp32alu_rpp/c_dsp32alu_rpp.dsp 2// Spec Reference: dsp32alu dreg = +/+ ( dreg, dreg) 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8 9 10 11// ALU operations include parallel addition, subtraction 12// and 32-bit data. If an operation use a single ALU only, it uses ALU0. 13 14imm32 r0, 0x15678911; 15imm32 r1, 0x2789ab1d; 16imm32 r2, 0x34445515; 17imm32 r3, 0x46667717; 18imm32 r4, 0x5567891b; 19imm32 r5, 0x6789ab1d; 20imm32 r6, 0x74445515; 21imm32 r7, 0x86667777; 22R0 = R0 +|+ R0; 23R1 = R0 +|+ R1; 24R2 = R0 +|+ R2; 25R3 = R0 +|+ R3; 26R4 = R0 +|+ R4; 27R5 = R0 +|+ R5; 28R6 = R0 +|+ R6; 29R7 = R0 +|+ R7; 30CHECKREG r0, 0x2ACE1222; 31CHECKREG r1, 0x5257BD3F; 32CHECKREG r2, 0x5F126737; 33CHECKREG r3, 0x71348939; 34CHECKREG r4, 0x80359B3D; 35CHECKREG r5, 0x9257BD3F; 36CHECKREG r6, 0x9F126737; 37CHECKREG r7, 0xB1348999; 38 39imm32 r0, 0x9567892b; 40imm32 r1, 0xa789ab2d; 41imm32 r2, 0xb4445525; 42imm32 r3, 0xc6667727; 43imm32 r4, 0xd8889929; 44imm32 r5, 0xeaaabb2b; 45imm32 r6, 0xfcccdd2d; 46imm32 r7, 0x0eeeffff; 47R0 = R1 +|+ R0; 48R1 = R1 +|+ R1; 49R2 = R1 +|+ R2; 50R3 = R1 +|+ R3; 51R4 = R1 +|+ R4; 52R5 = R1 +|+ R5; 53R6 = R1 +|+ R6; 54R7 = R1 +|+ R7; 55CHECKREG r0, 0x3CF03458; 56CHECKREG r1, 0x4F12565A; 57CHECKREG r2, 0x0356AB7F; 58CHECKREG r3, 0x1578CD81; 59CHECKREG r4, 0x279AEF83; 60CHECKREG r5, 0x39BC1185; 61CHECKREG r6, 0x4BDE3387; 62CHECKREG r7, 0x5E005659; 63 64imm32 r0, 0x416789ab; 65imm32 r1, 0x6289abcd; 66imm32 r2, 0x43445555; 67imm32 r3, 0x64667777; 68imm32 r4, 0x456789ab; 69imm32 r5, 0x6689abcd; 70imm32 r6, 0x47445555; 71imm32 r7, 0x68667777; 72R0 = R2 +|+ R0; 73R1 = R2 +|+ R1; 74R2 = R2 +|+ R2; 75R3 = R2 +|+ R3; 76R4 = R2 +|+ R4; 77R5 = R2 +|+ R5; 78R6 = R2 +|+ R6; 79R7 = R2 +|+ R7; 80CHECKREG r0, 0x84ABDF00; 81CHECKREG r1, 0xA5CD0122; 82CHECKREG r2, 0x8688AAAA; 83CHECKREG r3, 0xEAEE2221; 84CHECKREG r4, 0xCBEF3455; 85CHECKREG r5, 0xED115677; 86CHECKREG r6, 0xCDCCFFFF; 87CHECKREG r7, 0xEEEE2221; 88 89imm32 r0, 0xd567892b; 90imm32 r1, 0xad89ab2d; 91imm32 r2, 0xb4d45525; 92imm32 r3, 0xc66d7727; 93imm32 r0, 0x9567d92b; 94imm32 r1, 0xa789ad2d; 95imm32 r2, 0xb44455d5; 96imm32 r3, 0xc666772d; 97R0 = R3 +|+ R0; 98R1 = R3 +|+ R1; 99R2 = R3 +|+ R2; 100R3 = R3 +|+ R3; 101R4 = R3 +|+ R4; 102R5 = R3 +|+ R5; 103R6 = R3 +|+ R6; 104R7 = R3 +|+ R7; 105CHECKREG r0, 0x5BCD5058; 106CHECKREG r1, 0x6DEF245A; 107CHECKREG r2, 0x7AAACD02; 108CHECKREG r3, 0x8CCCEE5A; 109CHECKREG r4, 0x58BB22AF; 110CHECKREG r5, 0x79DD44D1; 111CHECKREG r6, 0x5A98EE59; 112CHECKREG r7, 0x7BBA107B; 113 114imm32 r0, 0x4577891b; 115imm32 r1, 0x6779ab2d; 116imm32 r2, 0x44755535; 117imm32 r3, 0x66765747; 118imm32 r4, 0x88779565; 119imm32 r5, 0xaa7abb5b; 120imm32 r6, 0xcc97dd85; 121imm32 r7, 0xeeae7f9f; 122R0 = R4 +|+ R0; 123R1 = R4 +|+ R1; 124R2 = R4 +|+ R2; 125R3 = R4 +|+ R3; 126R4 = R4 +|+ R4; 127R5 = R4 +|+ R5; 128R6 = R4 +|+ R6; 129R7 = R4 +|+ R7; 130CHECKREG r0, 0xCDEE1E80; 131CHECKREG r1, 0xEFF04092; 132CHECKREG r2, 0xCCECEA9A; 133CHECKREG r3, 0xEEEDECAC; 134CHECKREG r4, 0x10EE2ACA; 135CHECKREG r5, 0xBB68E625; 136CHECKREG r6, 0xDD85084F; 137CHECKREG r7, 0xFF9CAA69; 138 139imm32 r0, 0x456b89ab; 140imm32 r1, 0x69764bcd; 141imm32 r2, 0x49736564; 142imm32 r3, 0x61278394; 143imm32 r4, 0x98876439; 144imm32 r5, 0xaaaa0bbb; 145imm32 r6, 0xcccc1ddd; 146imm32 r7, 0x12346fff; 147R0 = R5 +|+ R0; 148R1 = R5 +|+ R1; 149R2 = R5 +|+ R2; 150R3 = R5 +|+ R3; 151R4 = R5 +|+ R4; 152R5 = R5 +|+ R5; 153R6 = R5 +|+ R6; 154R7 = R5 +|+ R7; 155CHECKREG r0, 0xF0159566; 156CHECKREG r1, 0x14205788; 157CHECKREG r2, 0xF41D711F; 158CHECKREG r3, 0x0BD18F4F; 159CHECKREG r4, 0x43316FF4; 160CHECKREG r5, 0x55541776; 161CHECKREG r6, 0x22203553; 162CHECKREG r7, 0x67888775; 163 164imm32 r0, 0xaa6739ab; 165imm32 r1, 0x67dd4bcd; 166imm32 r2, 0x03456755; 167imm32 r3, 0x6b66bb77; 168imm32 r4, 0x12345699; 169imm32 r5, 0x45b78b6b; 170imm32 r6, 0x043b90d6; 171imm32 r7, 0x12b4bb7f; 172R0 = R6 +|+ R0; 173R1 = R6 +|+ R1; 174R2 = R6 +|+ R2; 175R3 = R6 +|+ R3; 176R4 = R6 +|+ R4; 177R5 = R6 +|+ R5; 178R6 = R6 +|+ R6; 179R7 = R6 +|+ R7; 180CHECKREG r0, 0xAEA2CA81; 181CHECKREG r1, 0x6C18DCA3; 182CHECKREG r2, 0x0780F82B; 183CHECKREG r3, 0x6FA14C4D; 184CHECKREG r4, 0x166FE76F; 185CHECKREG r5, 0x49F21C41; 186CHECKREG r6, 0x087621AC; 187CHECKREG r7, 0x1B2ADD2B; 188 189imm32 r0, 0x976789ab; 190imm32 r1, 0x6979abcd; 191imm32 r2, 0x23956755; 192imm32 r3, 0x56799007; 193imm32 r4, 0x789a9799; 194imm32 r5, 0xaaaa09bb; 195imm32 r6, 0x89ab1d9d; 196imm32 r7, 0xabcd2ff9; 197R0 = R7 +|+ R0; 198R1 = R7 +|+ R1; 199R2 = R7 +|+ R2; 200R3 = R7 +|+ R3; 201R4 = R7 +|+ R4; 202R5 = R7 +|+ R5; 203R6 = R7 +|+ R6; 204R7 = R7 +|+ R7; 205CHECKREG r0, 0x4334B9A4; 206CHECKREG r1, 0x1546DBC6; 207CHECKREG r2, 0xCF62974E; 208CHECKREG r3, 0x0246C000; 209CHECKREG r4, 0x2467C792; 210CHECKREG r5, 0x567739B4; 211CHECKREG r6, 0x35784D96; 212CHECKREG r7, 0x579A5FF2; 213 214imm32 r0, 0x856739ab; 215imm32 r1, 0x87694bcd; 216imm32 r2, 0x08856755; 217imm32 r3, 0x66686777; 218imm32 r4, 0x12385699; 219imm32 r5, 0x4567886b; 220imm32 r6, 0x04329086; 221imm32 r7, 0x12345678; 222R4 = R4 +|+ R7 (S); 223R5 = R5 +|+ R5 (CO); 224R2 = R6 +|+ R3 (SCO); 225R6 = R0 +|+ R4 (S); 226R0 = R1 +|+ R6 (S); 227R2 = R2 +|+ R1 (CO); 228R1 = R3 +|+ R0 (CO); 229R7 = R7 +|+ R4 (SCO); 230CHECKREG r0, 0x80007FFF; 231CHECKREG r1, 0xE776E668; 232CHECKREG r2, 0xB6677F66; 233CHECKREG r3, 0x66686777; 234CHECKREG r4, 0x246C7FFF; 235CHECKREG r5, 0x10D68ACE; 236CHECKREG r6, 0xA9D37FFF; 237CHECKREG r7, 0x7FFF36A0; 238 239imm32 r0, 0x476789ab; 240imm32 r1, 0x6779abcd; 241imm32 r2, 0x23456755; 242imm32 r3, 0x56789007; 243imm32 r4, 0x789ab799; 244imm32 r5, 0xaaaa0bbb; 245imm32 r6, 0x89ab1d7d; 246imm32 r7, 0xabcd2ff7; 247R3 = R4 +|+ R0 (S); 248R5 = R5 +|+ R1 (SCO); 249R2 = R2 +|+ R2 (S); 250R7 = R7 +|+ R3 (CO); 251R4 = R3 +|+ R4 (CO); 252R0 = R1 +|+ R5 (S); 253R1 = R0 +|+ R6 (SCO); 254R6 = R6 +|+ R7 (SCO); 255CHECKREG r0, 0x1F01BDF0; 256CHECKREG r1, 0xDB6DA8AC; 257CHECKREG r2, 0x468A7FFF; 258CHECKREG r3, 0x7FFF8000; 259CHECKREG r4, 0x3799F899; 260CHECKREG r5, 0xB7881223; 261CHECKREG r6, 0x49498000; 262CHECKREG r7, 0xAFF72BCC; 263 264 265 266pass 267