1 //Original:/testcases/core/c_comp3op_dr_plus_dr/c_comp3op_dr_plus_dr.dsp 2 // Spec Reference: comp3op dregs + dregs 3 # mach: bfin 4 5 .include "testutils.inc" 6 start 7 8 9 10 11 imm32 r0, 0x01234567; 12 imm32 r1, 0x89abcdef; 13 imm32 r2, 0x56789abc; 14 imm32 r3, 0xdef01234; 15 imm32 r4, 0x23456899; 16 imm32 r5, 0x78912345; 17 imm32 r6, 0x98765432; 18 imm32 r7, 0x12345678; 19 R0 = R0 + R0; 20 R1 = R0 + R1; 21 R2 = R0 + R2; 22 R3 = R0 + R3; 23 R4 = R0 + R4; 24 R5 = R0 + R5; 25 R6 = R0 + R6; 26 R7 = R0 + R7; 27 CHECKREG r0, 0x02468ACE; 28 CHECKREG r1, 0x8BF258BD; 29 CHECKREG r2, 0x58BF258A; 30 CHECKREG r3, 0xE1369D02; 31 CHECKREG r4, 0x258BF367; 32 CHECKREG r5, 0x7AD7AE13; 33 CHECKREG r6, 0x9ABCDF00; 34 CHECKREG r7, 0x147AE146; 35 36 imm32 r0, 0x01231567; 37 imm32 r1, 0x89ab1def; 38 imm32 r2, 0x56781abc; 39 imm32 r3, 0xdef01234; 40 imm32 r4, 0x23451899; 41 imm32 r5, 0x78911345; 42 imm32 r6, 0x98761432; 43 imm32 r7, 0x12341678; 44 R0 = R1 + R0; 45 R1 = R1 + R1; 46 R2 = R1 + R2; 47 R3 = R1 + R3; 48 R4 = R1 + R4; 49 R5 = R1 + R5; 50 R6 = R1 + R6; 51 R7 = R1 + R7; 52 CHECKREG r0, 0x8ACE3356; 53 CHECKREG r1, 0x13563BDE; 54 CHECKREG r2, 0x69CE569A; 55 CHECKREG r3, 0xF2464E12; 56 CHECKREG r4, 0x369B5477; 57 CHECKREG r5, 0x8BE74F23; 58 CHECKREG r6, 0xABCC5010; 59 CHECKREG r7, 0x258A5256; 60 61 imm32 r0, 0x01234527; 62 imm32 r1, 0x89abcd2f; 63 imm32 r2, 0x56789a2c; 64 imm32 r3, 0xdef01224; 65 imm32 r4, 0x23456829; 66 imm32 r5, 0x78912325; 67 imm32 r6, 0x98765422; 68 imm32 r7, 0x12345628; 69 R0 = R2 + R0; 70 R1 = R2 + R1; 71 R2 = R2 + R2; 72 R3 = R2 + R3; 73 R4 = R2 + R4; 74 R5 = R2 + R5; 75 R6 = R2 + R6; 76 R7 = R2 + R7; 77 CHECKREG r0, 0x579BDF53; 78 CHECKREG r1, 0xE024675B; 79 CHECKREG r2, 0xACF13458; 80 CHECKREG r3, 0x8BE1467C; 81 CHECKREG r4, 0xD0369C81; 82 CHECKREG r5, 0x2582577D; 83 CHECKREG r6, 0x4567887A; 84 CHECKREG r7, 0xBF258A80; 85 86 imm32 r0, 0x01234563; 87 imm32 r1, 0x89abcde3; 88 imm32 r2, 0x56789ab3; 89 imm32 r3, 0xdef01233; 90 imm32 r4, 0x23456893; 91 imm32 r5, 0x78912343; 92 imm32 r6, 0x98765433; 93 imm32 r7, 0x12345673; 94 R0 = R3 + R0; 95 R1 = R3 + R1; 96 R2 = R3 + R2; 97 R3 = R3 + R3; 98 R4 = R3 + R4; 99 R5 = R3 + R5; 100 R6 = R3 + R6; 101 R7 = R3 + R7; 102 CHECKREG r0, 0xE0135796; 103 CHECKREG r1, 0x689BE016; 104 CHECKREG r2, 0x3568ACE6; 105 CHECKREG r3, 0xBDE02466; 106 CHECKREG r4, 0xE1258CF9; 107 CHECKREG r5, 0x367147A9; 108 CHECKREG r6, 0x56567899; 109 CHECKREG r7, 0xD0147AD9; 110 111 imm32 r0, 0x41234567; 112 imm32 r1, 0x49abcdef; 113 imm32 r2, 0x46789abc; 114 imm32 r3, 0x4ef01234; 115 imm32 r4, 0x43456899; 116 imm32 r5, 0x48912345; 117 imm32 r6, 0x48765432; 118 imm32 r7, 0x42345678; 119 R0 = R4 + R0; 120 R1 = R4 + R1; 121 R2 = R4 + R2; 122 R3 = R4 + R3; 123 R4 = R4 + R4; 124 R5 = R4 + R5; 125 R6 = R4 + R6; 126 R7 = R4 + R7; 127 CHECKREG r0, 0x8468AE00; 128 CHECKREG r1, 0x8CF13688; 129 CHECKREG r2, 0x89BE0355; 130 CHECKREG r3, 0x92357ACD; 131 CHECKREG r4, 0x868AD132; 132 CHECKREG r5, 0xCF1BF477; 133 CHECKREG r6, 0xCF012564; 134 CHECKREG r7, 0xC8BF27AA; 135 136 imm32 r0, 0x05234567; 137 imm32 r1, 0x85abcdef; 138 imm32 r2, 0x55789abc; 139 imm32 r3, 0xd5f01234; 140 imm32 r4, 0x25456899; 141 imm32 r5, 0x75912345; 142 imm32 r6, 0x95765432; 143 imm32 r7, 0x15345678; 144 R0 = R5 + R0; 145 R1 = R5 + R1; 146 R2 = R5 + R2; 147 R3 = R5 + R3; 148 R4 = R5 + R4; 149 R5 = R5 + R5; 150 R6 = R5 + R6; 151 R7 = R5 + R7; 152 CHECKREG r0, 0x7AB468AC; 153 CHECKREG r1, 0xFB3CF134; 154 CHECKREG r2, 0xCB09BE01; 155 CHECKREG r3, 0x4B813579; 156 CHECKREG r4, 0x9AD68BDE; 157 CHECKREG r5, 0xEB22468A; 158 CHECKREG r6, 0x80989ABC; 159 CHECKREG r7, 0x00569D02; 160 161 imm32 r0, 0x01264567; 162 imm32 r1, 0x89a6cdef; 163 imm32 r2, 0x56769abc; 164 imm32 r3, 0xdef61234; 165 imm32 r4, 0x23466899; 166 imm32 r5, 0x78962345; 167 imm32 r6, 0x98765432; 168 imm32 r7, 0x12365678; 169 R0 = R6 + R0; 170 R1 = R6 + R1; 171 R2 = R6 + R2; 172 R3 = R6 + R3; 173 R4 = R6 + R4; 174 R5 = R6 + R5; 175 R6 = R6 + R6; 176 R7 = R6 + R7; 177 CHECKREG r0, 0x999C9999; 178 CHECKREG r1, 0x221D2221; 179 CHECKREG r2, 0xEEECEEEE; 180 CHECKREG r3, 0x776C6666; 181 CHECKREG r4, 0xBBBCBCCB; 182 CHECKREG r5, 0x110C7777; 183 CHECKREG r6, 0x30ECA864; 184 CHECKREG r7, 0x4322FEDC; 185 186 imm32 r0, 0x01237567; 187 imm32 r1, 0x89ab7def; 188 imm32 r2, 0x56787abc; 189 imm32 r3, 0xdef07234; 190 imm32 r4, 0x23457899; 191 imm32 r5, 0x78917345; 192 imm32 r6, 0x98767432; 193 imm32 r7, 0x12345678; 194 R0 = R7 + R0; 195 R1 = R7 + R1; 196 R2 = R7 + R2; 197 R3 = R7 + R3; 198 R4 = R7 + R4; 199 R5 = R7 + R5; 200 R6 = R7 + R6; 201 R7 = R7 + R7; 202 CHECKREG r0, 0x1357CBDF; 203 CHECKREG r1, 0x9BDFD467; 204 CHECKREG r2, 0x68ACD134; 205 CHECKREG r3, 0xF124C8AC; 206 CHECKREG r4, 0x3579CF11; 207 CHECKREG r5, 0x8AC5C9BD; 208 CHECKREG r6, 0xAAAACAAA; 209 CHECKREG r7, 0x2468ACF0; 210 211 imm32 r0, 0x11234567; 212 imm32 r1, 0x81abcdef; 213 imm32 r2, 0x56189abc; 214 imm32 r3, 0xdef11234; 215 imm32 r4, 0x23451899; 216 imm32 r5, 0x78912145; 217 imm32 r6, 0x98765412; 218 imm32 r7, 0x12345671; 219 R0 = R1 + R0; 220 R1 = R2 + R0; 221 R2 = R3 + R0; 222 R3 = R4 + R0; 223 R4 = R5 + R0; 224 R5 = R6 + R0; 225 R6 = R7 + R0; 226 R7 = R0 + R0; 227 CHECKREG r0, 0x92CF1356; 228 CHECKREG r1, 0xE8E7AE12; 229 CHECKREG r2, 0x71C0258A; 230 CHECKREG r3, 0xB6142BEF; 231 CHECKREG r4, 0x0B60349B; 232 CHECKREG r5, 0x2B456768; 233 CHECKREG r6, 0xA50369C7; 234 CHECKREG r7, 0x259E26AC; 235 236 imm32 r0, 0x01231567; 237 imm32 r1, 0x29ab1def; 238 imm32 r2, 0x52781abc; 239 imm32 r3, 0xde201234; 240 imm32 r4, 0x23421899; 241 imm32 r5, 0x78912345; 242 imm32 r6, 0x98761232; 243 imm32 r7, 0x12341628; 244 R0 = R2 + R1; 245 R1 = R3 + R1; 246 R2 = R4 + R1; 247 R3 = R5 + R1; 248 R4 = R6 + R1; 249 R5 = R7 + R1; 250 R6 = R0 + R1; 251 R7 = R1 + R1; 252 CHECKREG r0, 0x7C2338AB; 253 CHECKREG r1, 0x07CB3023; 254 CHECKREG r2, 0x2B0D48BC; 255 CHECKREG r3, 0x805C5368; 256 CHECKREG r4, 0xA0414255; 257 CHECKREG r5, 0x19FF464B; 258 CHECKREG r6, 0x83EE68CE; 259 CHECKREG r7, 0x0F966046; 260 261 imm32 r0, 0x03234527; 262 imm32 r1, 0x893bcd2f; 263 imm32 r2, 0x56739a2c; 264 imm32 r3, 0x3ef03224; 265 imm32 r4, 0x23456329; 266 imm32 r5, 0x78312335; 267 imm32 r6, 0x98735423; 268 imm32 r7, 0x12343628; 269 R0 = R3 + R2; 270 R1 = R4 + R2; 271 R2 = R5 + R2; 272 R3 = R6 + R2; 273 R4 = R7 + R2; 274 R5 = R0 + R2; 275 R6 = R1 + R2; 276 R7 = R2 + R2; 277 CHECKREG r0, 0x9563CC50; 278 CHECKREG r1, 0x79B8FD55; 279 CHECKREG r2, 0xCEA4BD61; 280 CHECKREG r3, 0x67181184; 281 CHECKREG r4, 0xE0D8F389; 282 CHECKREG r5, 0x640889B1; 283 CHECKREG r6, 0x485DBAB6; 284 CHECKREG r7, 0x9D497AC2; 285 286 imm32 r0, 0x04234563; 287 imm32 r1, 0x894bcde3; 288 imm32 r2, 0x56749ab3; 289 imm32 r3, 0x4ef04233; 290 imm32 r4, 0x24456493; 291 imm32 r5, 0x78412344; 292 imm32 r6, 0x98745434; 293 imm32 r7, 0x12344673; 294 R0 = R4 + R3; 295 R1 = R5 + R3; 296 R2 = R6 + R3; 297 R3 = R7 + R3; 298 R4 = R0 + R3; 299 R5 = R1 + R3; 300 R6 = R2 + R3; 301 R7 = R3 + R3; 302 CHECKREG r0, 0x7335A6C6; 303 CHECKREG r1, 0xC7316577; 304 CHECKREG r2, 0xE7649667; 305 CHECKREG r3, 0x612488A6; 306 CHECKREG r4, 0xD45A2F6C; 307 CHECKREG r5, 0x2855EE1D; 308 CHECKREG r6, 0x48891F0D; 309 CHECKREG r7, 0xC249114C; 310 311 imm32 r0, 0x41235567; 312 imm32 r1, 0x49abc5ef; 313 imm32 r2, 0x46789a5c; 314 imm32 r3, 0x4ef01235; 315 imm32 r4, 0x53456899; 316 imm32 r5, 0x45912345; 317 imm32 r6, 0x48565432; 318 imm32 r7, 0x42355678; 319 R0 = R5 + R4; 320 R1 = R6 + R4; 321 R2 = R7 + R4; 322 R3 = R0 + R4; 323 R4 = R1 + R4; 324 R5 = R2 + R4; 325 R6 = R3 + R4; 326 R7 = R4 + R4; 327 CHECKREG r0, 0x98D68BDE; 328 CHECKREG r1, 0x9B9BBCCB; 329 CHECKREG r2, 0x957ABF11; 330 CHECKREG r3, 0xEC1BF477; 331 CHECKREG r4, 0xEEE12564; 332 CHECKREG r5, 0x845BE475; 333 CHECKREG r6, 0xDAFD19DB; 334 CHECKREG r7, 0xDDC24AC8; 335 336 imm32 r0, 0x05264567; 337 imm32 r1, 0x85ab6def; 338 imm32 r2, 0x657896bc; 339 imm32 r3, 0xd6f01264; 340 imm32 r4, 0x25656896; 341 imm32 r5, 0x75962345; 342 imm32 r6, 0x95766432; 343 imm32 r7, 0x15345678; 344 R0 = R6 + R5; 345 R1 = R7 + R5; 346 R2 = R0 + R5; 347 R3 = R1 + R5; 348 R4 = R2 + R5; 349 R5 = R3 + R5; 350 R6 = R4 + R5; 351 R7 = R5 + R5; 352 CHECKREG r0, 0x0B0C8777; 353 CHECKREG r1, 0x8ACA79BD; 354 CHECKREG r2, 0x80A2AABC; 355 CHECKREG r3, 0x00609D02; 356 CHECKREG r4, 0xF638CE01; 357 CHECKREG r5, 0x75F6C047; 358 CHECKREG r6, 0x6C2F8E48; 359 CHECKREG r7, 0xEBED808E; 360 361 imm32 r0, 0x01764567; 362 imm32 r1, 0x89a7cdef; 363 imm32 r2, 0x56767abc; 364 imm32 r3, 0xdef61734; 365 imm32 r4, 0x73466879; 366 imm32 r5, 0x77962347; 367 imm32 r6, 0x98765432; 368 imm32 r7, 0x12375678; 369 R0 = R7 + R6; 370 R1 = R0 + R6; 371 R2 = R1 + R6; 372 R3 = R2 + R6; 373 R4 = R3 + R6; 374 R5 = R4 + R6; 375 R6 = R5 + R6; 376 R7 = R6 + R6; 377 CHECKREG r0, 0xAAADAAAA; 378 CHECKREG r1, 0x4323FEDC; 379 CHECKREG r2, 0xDB9A530E; 380 CHECKREG r3, 0x7410A740; 381 CHECKREG r4, 0x0C86FB72; 382 CHECKREG r5, 0xA4FD4FA4; 383 CHECKREG r6, 0x3D73A3D6; 384 CHECKREG r7, 0x7AE747AC; 385 386 imm32 r0, 0x81238567; 387 imm32 r1, 0x88ab78ef; 388 imm32 r2, 0x56887a8c; 389 imm32 r3, 0x8ef87238; 390 imm32 r4, 0x28458899; 391 imm32 r5, 0x78817845; 392 imm32 r6, 0x98787482; 393 imm32 r7, 0x12348678; 394 R0 = R1 + R7; 395 R1 = R2 + R7; 396 R2 = R3 + R7; 397 R3 = R4 + R7; 398 R4 = R5 + R7; 399 R5 = R6 + R7; 400 R6 = R7 + R7; 401 R7 = R0 + R7; 402 CHECKREG r0, 0x9ADFFF67; 403 CHECKREG r1, 0x68BD0104; 404 CHECKREG r2, 0xA12CF8B0; 405 CHECKREG r3, 0x3A7A0F11; 406 CHECKREG r4, 0x8AB5FEBD; 407 CHECKREG r5, 0xAAACFAFA; 408 CHECKREG r6, 0x24690CF0; 409 CHECKREG r7, 0xAD1485DF; 410 411 412 pass 413