1//Original:testcases/core/c_ldst_st_p_d_mm_h/c_ldst_st_p_d_mm_h.dsp 2// Spec Reference: c_ldst st_p-- h half 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8// set all regs 9INIT_I_REGS -1; 10INIT_R_REGS 0; 11init_b_regs 0; 12init_l_regs 0; 13init_m_regs -1; 14I0 = P3; 15I2 = SP; 16 17 imm32 r0, 0x0a231507; 18 imm32 r1, 0x1b342618; 19 imm32 r2, 0x2c453729; 20 imm32 r3, 0x3d56483a; 21 imm32 r4, 0x4e67594b; 22 imm32 r5, 0x5f786a5c; 23 imm32 r6, 0x60897b6d; 24 imm32 r7, 0x719a8c7e; 25 26// reset values 27 I1 = P3; P3 = I0; I3 = SP; SP = I2; 28 loadsym p5, DATA_ADDR_1, 0x20; 29 loadsym p1, DATA_ADDR_2, 0x20; 30 loadsym p2, DATA_ADDR_3, 0x20; 31 loadsym i1, DATA_ADDR_4, 0x20; 32 loadsym p4, DATA_ADDR_5, 0x20; 33 loadsym fp, DATA_ADDR_6, 0x20; 34 loadsym i3, DATA_ADDR_7, 0x20; 35 P3 = I1; SP = I3; 36 37 W [ P5 -- ] = R0; 38 W [ P1 -- ] = R1; 39 W [ P2 -- ] = R2; 40 W [ P3 -- ] = R3; 41 W [ P4 -- ] = R4; 42 W [ FP -- ] = R5; 43 W [ SP -- ] = R6; 44 45 W [ P5 -- ] = R1; 46 W [ P1 -- ] = R2; 47 W [ P2 -- ] = R3; 48 W [ P3 -- ] = R4; 49 W [ P4 -- ] = R5; 50 W [ FP -- ] = R6; 51 W [ SP -- ] = R7; 52 53 W [ P5 -- ] = R2; 54 W [ P1 -- ] = R3; 55 W [ P2 -- ] = R4; 56 W [ P3 -- ] = R5; 57 W [ P4 -- ] = R6; 58 W [ FP -- ] = R7; 59 W [ SP -- ] = R0; 60 61 W [ P5 -- ] = R3; 62 W [ P1 -- ] = R4; 63 W [ P2 -- ] = R5; 64 W [ P3 -- ] = R6; 65 W [ P4 -- ] = R7; 66 W [ FP -- ] = R0; 67 W [ SP -- ] = R1; 68 69 W [ P5 -- ] = R4; 70 W [ P1 -- ] = R5; 71 W [ P2 -- ] = R6; 72 W [ P3 -- ] = R7; 73 W [ P4 -- ] = R0; 74 W [ FP -- ] = R1; 75 W [ SP -- ] = R2; 76 77 W [ P5 -- ] = R5; 78 W [ P1 -- ] = R6; 79 W [ P2 -- ] = R7; 80 W [ P3 -- ] = R0; 81 W [ P4 -- ] = R1; 82 W [ FP -- ] = R2; 83 W [ SP -- ] = R3; 84 85 W [ P5 -- ] = R6; 86 W [ P1 -- ] = R7; 87 W [ P2 -- ] = R0; 88 W [ P3 -- ] = R1; 89 W [ P4 -- ] = R2; 90 W [ FP -- ] = R3; 91 W [ SP -- ] = R4; 92 93 W [ P5 -- ] = R7; 94 W [ P1 -- ] = R0; 95 W [ P2 -- ] = R1; 96 W [ P3 -- ] = R2; 97 W [ P4 -- ] = R3; 98 W [ FP -- ] = R4; 99 W [ SP -- ] = R5; 100 101 I1 = P3; P3 = I0; I3 = SP; SP = I2; 102 loadsym p5, DATA_ADDR_1, 0x20; 103 loadsym p1, DATA_ADDR_2, 0x20; 104 loadsym p2, DATA_ADDR_3, 0x20; 105 loadsym i1, DATA_ADDR_4, 0x20; 106 loadsym p4, DATA_ADDR_5, 0x20; 107 loadsym fp, DATA_ADDR_6, 0x20; 108 loadsym i3, DATA_ADDR_7, 0x20; 109 P3 = I1; SP = I3; 110 111 R0 = [ P1 -- ]; 112 R1 = [ P2 -- ]; 113 R2 = [ P3 -- ]; 114 R3 = [ P4 -- ]; 115 R4 = [ P5 -- ]; 116 R5 = [ FP -- ]; 117 R6 = [ SP -- ]; 118 CHECKREG r1, 0x00003729; 119 CHECKREG r2, 0x0000483A; 120 CHECKREG r3, 0x0000594B; 121 CHECKREG r4, 0x00001507; 122 CHECKREG r5, 0x00006A5C; 123 CHECKREG r6, 0xE0E17B6D; 124 CHECKREG r7, 0x719A8C7E; 125 R1 = [ P1 -- ]; 126 R2 = [ P2 -- ]; 127 R3 = [ P3 -- ]; 128 R4 = [ P4 -- ]; 129 R5 = [ P5 -- ]; 130 R6 = [ FP -- ]; 131 R7 = [ SP -- ]; 132 CHECKREG r1, 0x3729483A; 133 CHECKREG r2, 0x483A594B; 134 CHECKREG r3, 0x594B6A5C; 135 CHECKREG r4, 0x6A5C7B6D; 136 CHECKREG r5, 0x26183729; 137 CHECKREG r6, 0x7B6D8C7E; 138 CHECKREG r7, 0x8C7E1507; 139 R3 = [ P1 -- ]; 140 R4 = [ P2 -- ]; 141 R5 = [ P3 -- ]; 142 R6 = [ P4 -- ]; 143 R7 = [ P5 -- ]; 144 R0 = [ FP -- ]; 145 R1 = [ SP -- ]; 146 CHECKREG r1, 0x26183729; 147 CHECKREG r2, 0x483A594B; 148 CHECKREG r3, 0x594B6A5C; 149 CHECKREG r4, 0x6A5C7B6D; 150 CHECKREG r5, 0x7B6D8C7E; 151 CHECKREG r6, 0x8C7E1507; 152 CHECKREG r7, 0x483A594B; 153 R3 = [ P1 -- ]; 154 R4 = [ P2 -- ]; 155 R5 = [ P3 -- ]; 156 R6 = [ P4 -- ]; 157 R7 = [ P5 -- ]; 158 R0 = [ FP -- ]; 159 R1 = [ SP -- ]; 160 CHECKREG r1, 0x483A594B; 161 CHECKREG r2, 0x483A594B; 162 CHECKREG r3, 0x7B6D8C7E; 163 CHECKREG r4, 0x8C7E1507; 164 CHECKREG r5, 0x15072618; 165 CHECKREG r6, 0x26183729; 166 CHECKREG r7, 0x6A5C7B6D; 167 R4 = [ P1 -- ]; 168 R5 = [ P2 -- ]; 169 R6 = [ P3 -- ]; 170 R7 = [ P4 -- ]; 171 R0 = [ P5 -- ]; 172 R1 = [ FP -- ]; 173 R2 = [ SP -- ]; 174 CHECKREG r1, 0x594BB2B3; 175 CHECKREG r2, 0x6A5CD2D3; 176 CHECKREG r3, 0x7B6D8C7E; 177 CHECKREG r4, 0x15073233; 178 CHECKREG r5, 0x26185253; 179 CHECKREG r6, 0x37297273; 180 CHECKREG r7, 0x483A9293; 181 R5 = [ P1 -- ]; 182 R6 = [ P2 -- ]; 183 R7 = [ P3 -- ]; 184 R0 = [ P4 -- ]; 185 R1 = [ P5 -- ]; 186 R2 = [ FP -- ]; 187 R3 = [ SP -- ]; 188 CHECKREG r1, 0x0C0D0E0F; 189 CHECKREG r2, 0xACADAEAF; 190 CHECKREG r3, 0xCCCDCECF; 191 CHECKREG r4, 0x15073233; 192 CHECKREG r5, 0x2C2D2E2F; 193 CHECKREG r6, 0x4C4D4E4F; 194 CHECKREG r7, 0x6C6D6E6F; 195 R6 = [ P1 -- ]; 196 R7 = [ P2 -- ]; 197 R0 = [ P3 -- ]; 198 R1 = [ P4 -- ]; 199 R2 = [ P5 -- ]; 200 R3 = [ FP -- ]; 201 R0 = [ SP -- ]; 202 CHECKREG r1, 0x88898A8B; 203 CHECKREG r2, 0x08090A0B; 204 CHECKREG r3, 0xA8A9AAAB; 205 CHECKREG r4, 0x15073233; 206 CHECKREG r5, 0x2C2D2E2F; 207 CHECKREG r6, 0x28292A2B; 208 CHECKREG r7, 0x48494A4B; 209 210 P3 = I0; SP = I2; 211 pass 212 213// Pre-load memory with known data 214// More data is defined than will actually be used 215 216 .data 217DATA_ADDR_1: 218 .dd 0x00010203 219 .dd 0x04050607 220 .dd 0x08090A0B 221 .dd 0x0C0D0E0F 222 .dd 0x10111213 223 .dd 0x14151617 224 .dd 0x18191A1B 225 .dd 0x1C1D1E1F 226 .dd 0x00000000 227 .dd 0x00000000 228 .dd 0x00000000 229 .dd 0x00000000 230 .dd 0x00000000 231 .dd 0x00000000 232 .dd 0x00000000 233 .dd 0x00000000 234 .dd 0x00000000 235 .dd 0x00000000 236 .dd 0x00000000 237 .dd 0x00000000 238 .dd 0x00000000 239 .dd 0x00000000 240 .dd 0x00000000 241 .dd 0x00000000 242 .dd 0x00000000 243 .dd 0x00000000 244 .dd 0x00000000 245 .dd 0x00000000 246 .dd 0x00000000 247 .dd 0x00000000 248 .dd 0x00000000 249 .dd 0x00000000 250 .dd 0x00000000 251 .dd 0x00000000 252 .dd 0x00000000 253 .dd 0x00000000 254 .dd 0x00000000 255 .dd 0x00000000 256 .dd 0x00000000 257 258DATA_ADDR_2: 259 .dd 0x20212223 260 .dd 0x24252627 261 .dd 0x28292A2B 262 .dd 0x2C2D2E2F 263 .dd 0x30313233 264 .dd 0x34353637 265 .dd 0x38393A3B 266 .dd 0x3C3D3E3F 267 .dd 0x00000000 268 .dd 0x00000000 269 .dd 0x00000000 270 .dd 0x00000000 271 .dd 0x00000000 272 .dd 0x00000000 273 .dd 0x00000000 274 .dd 0x00000000 275 .dd 0x00000000 276 .dd 0x00000000 277 .dd 0x00000000 278 .dd 0x00000000 279 .dd 0x00000000 280 .dd 0x00000000 281 .dd 0x00000000 282 .dd 0x00000000 283 .dd 0x00000000 284 .dd 0x00000000 285 .dd 0x00000000 286 .dd 0x00000000 287 .dd 0x00000000 288 .dd 0x00000000 289 .dd 0x00000000 290 .dd 0x00000000 291 .dd 0x00000000 292 .dd 0x00000000 293 .dd 0x00000000 294 .dd 0x00000000 295 .dd 0x00000000 296 .dd 0x00000000 297 298DATA_ADDR_3: 299 .dd 0x40414243 300 .dd 0x44454647 301 .dd 0x48494A4B 302 .dd 0x4C4D4E4F 303 .dd 0x50515253 304 .dd 0x54555657 305 .dd 0x58595A5B 306 .dd 0x5C5D5E5F 307 .dd 0x00000000 308 .dd 0x00000000 309 .dd 0x00000000 310 .dd 0x00000000 311 .dd 0x00000000 312 .dd 0x00000000 313 .dd 0x00000000 314 .dd 0x00000000 315 .dd 0x00000000 316 .dd 0x00000000 317 .dd 0x00000000 318 .dd 0x00000000 319 .dd 0x00000000 320 .dd 0x00000000 321 .dd 0x00000000 322 .dd 0x00000000 323 .dd 0x00000000 324 .dd 0x00000000 325 .dd 0x00000000 326 .dd 0x00000000 327 .dd 0x00000000 328 .dd 0x00000000 329 .dd 0x00000000 330 .dd 0x00000000 331 .dd 0x00000000 332 .dd 0x00000000 333 .dd 0x00000000 334 .dd 0x00000000 335 .dd 0x00000000 336 .dd 0x00000000 337 .dd 0x00000000 338 .dd 0x00000000 339 .dd 0x00000000 340 .dd 0x00000000 341 .dd 0x00000000 342 .dd 0x00000000 343 .dd 0x00000000 344 .dd 0x00000000 345 .dd 0x00000000 346 .dd 0x00000000 347 348DATA_ADDR_4: 349 .dd 0x60616263 350 .dd 0x64656667 351 .dd 0x68696A6B 352 .dd 0x6C6D6E6F 353 .dd 0x70717273 354 .dd 0x74757677 355 .dd 0x78797A7B 356 .dd 0x7C7D7E7F 357 .dd 0x00000000 358 .dd 0x00000000 359 .dd 0x00000000 360 .dd 0x00000000 361 .dd 0x00000000 362 .dd 0x00000000 363 .dd 0x00000000 364 .dd 0x00000000 365 .dd 0x00000000 366 .dd 0x00000000 367 .dd 0x00000000 368 .dd 0x00000000 369 .dd 0x00000000 370 .dd 0x00000000 371 .dd 0x00000000 372 .dd 0x00000000 373 .dd 0x00000000 374 .dd 0x00000000 375 .dd 0x00000000 376 .dd 0x00000000 377 .dd 0x00000000 378 .dd 0x00000000 379 .dd 0x00000000 380 .dd 0x00000000 381 .dd 0x00000000 382 .dd 0x00000000 383 .dd 0x00000000 384 .dd 0x00000000 385 .dd 0x00000000 386 .dd 0x00000000 387 .dd 0x00000000 388 .dd 0x00000000 389 .dd 0x00000000 390 .dd 0x00000000 391 .dd 0x00000000 392 .dd 0x00000000 393 .dd 0x00000000 394 .dd 0x00000000 395 .dd 0x00000000 396 .dd 0x00000000 397 398DATA_ADDR_5: 399 .dd 0x80818283 400 .dd 0x84858687 401 .dd 0x88898A8B 402 .dd 0x8C8D8E8F 403 .dd 0x90919293 404 .dd 0x94959697 405 .dd 0x98999A9B 406 .dd 0x9C9D9E9F 407 .dd 0x00000000 408 .dd 0x00000000 409 .dd 0x00000000 410 .dd 0x00000000 411 .dd 0x00000000 412 .dd 0x00000000 413 .dd 0x00000000 414 .dd 0x00000000 415 .dd 0x00000000 416 .dd 0x00000000 417 .dd 0x00000000 418 .dd 0x00000000 419 .dd 0x00000000 420 .dd 0x00000000 421 .dd 0x00000000 422 .dd 0x00000000 423 .dd 0x00000000 424 .dd 0x00000000 425 .dd 0x00000000 426 .dd 0x00000000 427 .dd 0x00000000 428 .dd 0x00000000 429 .dd 0x00000000 430 .dd 0x00000000 431 .dd 0x00000000 432 .dd 0x00000000 433 .dd 0x00000000 434 .dd 0x00000000 435 .dd 0x00000000 436 .dd 0x00000000 437 .dd 0x00000000 438 .dd 0x00000000 439 .dd 0x00000000 440 .dd 0x00000000 441 .dd 0x00000000 442 .dd 0x00000000 443 .dd 0x00000000 444 .dd 0x00000000 445 .dd 0x00000000 446 .dd 0x00000000 447 448DATA_ADDR_6: 449 .dd 0xA0A1A2A3 450 .dd 0xA4A5A6A7 451 .dd 0xA8A9AAAB 452 .dd 0xACADAEAF 453 .dd 0xB0B1B2B3 454 .dd 0xB4B5B6B7 455 .dd 0xB8B9BABB 456 .dd 0xBCBDBEBF 457 .dd 0x00000000 458 .dd 0x00000000 459 .dd 0x00000000 460 .dd 0x00000000 461 .dd 0x00000000 462 .dd 0x00000000 463 .dd 0x00000000 464 .dd 0x00000000 465 .dd 0x00000000 466 .dd 0x00000000 467 .dd 0x00000000 468 .dd 0x00000000 469 .dd 0x00000000 470 .dd 0x00000000 471 .dd 0x00000000 472 .dd 0x00000000 473 .dd 0x00000000 474 .dd 0x00000000 475 .dd 0x00000000 476 .dd 0x00000000 477 .dd 0x00000000 478 .dd 0x00000000 479 .dd 0x00000000 480 .dd 0x00000000 481 .dd 0x00000000 482 .dd 0x00000000 483 .dd 0x00000000 484 .dd 0x00000000 485 .dd 0x00000000 486 .dd 0x00000000 487 .dd 0x00000000 488 .dd 0x00000000 489 .dd 0x00000000 490 .dd 0x00000000 491 .dd 0x00000000 492 .dd 0x00000000 493 .dd 0x00000000 494 .dd 0x00000000 495 .dd 0x00000000 496 .dd 0x00000000 497 498DATA_ADDR_7: 499 .dd 0xC0C1C2C3 500 .dd 0xC4C5C6C7 501 .dd 0xC8C9CACB 502 .dd 0xCCCDCECF 503 .dd 0xD0D1D2D3 504 .dd 0xD4D5D6D7 505 .dd 0xD8D9DADB 506 .dd 0xDCDDDEDF 507 .dd 0xE0E1E2E3 508 .dd 0xE4E5E6E7 509 .dd 0xE8E9EAEB 510 .dd 0xECEDEEEF 511 .dd 0xF0F1F2F3 512 .dd 0xF4F5F6F7 513 .dd 0xF8F9FAFB 514 .dd 0xFCFDFEFF 515 .dd 0x00000000 516 .dd 0x00000000 517 .dd 0x00000000 518 .dd 0x00000000 519 .dd 0x00000000 520 .dd 0x00000000 521 .dd 0x00000000 522 .dd 0x00000000 523 .dd 0x00000000 524 .dd 0x00000000 525 .dd 0x00000000 526 .dd 0x00000000 527 .dd 0x00000000 528 .dd 0x00000000 529 .dd 0x00000000 530 .dd 0x00000000 531 .dd 0x00000000 532 .dd 0x00000000 533 .dd 0x00000000 534 .dd 0x00000000 535 .dd 0x00000000 536 .dd 0x00000000 537 .dd 0x00000000 538 .dd 0x00000000 539 .dd 0x00000000 540 .dd 0x00000000 541 .dd 0x00000000 542 .dd 0x00000000 543 .dd 0x00000000 544 .dd 0x00000000 545 .dd 0x00000000 546 .dd 0x00000000 547 .dd 0x00000000 548 .dd 0x00000000 549 .dd 0x00000000 550 .dd 0x00000000 551 .dd 0x00000000 552 .dd 0x00000000 553 .dd 0x00000000 554 .dd 0x00000000 555