1//Original:testcases/core/c_ldstii_ld_dr_h/c_ldstii_ld_dr_h.dsp 2// Spec Reference: c_ldstii load dreg h 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8// set all regs 9 10init_i_regs 0; 11init_b_regs 0; 12init_l_regs 0; 13init_m_regs 0; 14INIT_R_REGS 0; 15I0 = P3; 16I2 = SP; 17 18// initial values 19 I1 = P3; P3 = I0; I3 = SP; SP = I2; 20 loadsym p1, DATA_ADDR_1, 0x00; 21 loadsym p2, DATA_ADDR_2, 0x04; 22 loadsym i1, DATA_ADDR_3, 0x04; 23 loadsym p4, DATA_ADDR_1, 0x00; 24 loadsym p5, DATA_ADDR_2, 0x00; 25 loadsym fp, DATA_ADDR_3, 0x00; 26 loadsym i3, DATA_ADDR_4, 0x00; 27 P3 = I1; SP = I3; 28 29 R0 = W [ P1 + 0 ] (Z); 30 R1 = W [ P1 + 4 ] (Z); 31 R2 = W [ P1 + 8 ] (Z); 32 R3 = W [ P1 + 12 ] (Z); 33 R4 = W [ P1 + 16 ] (Z); 34 R5 = W [ P1 + 20 ] (Z); 35 R6 = W [ P1 + 24 ] (Z); 36 CHECKREG r0, 0x00000203; 37 CHECKREG r1, 0x00000607; 38 CHECKREG r2, 0x00000A0B; 39 CHECKREG r3, 0x00000E0F; 40 CHECKREG r4, 0x00001213; 41 CHECKREG r5, 0x00001617; 42 CHECKREG r6, 0x00001A1B; 43 44 R0 = W [ P2 + 28 ] (Z); 45 R1 = W [ P2 + 32 ] (Z); 46 R2 = W [ P2 + 36 ] (Z); 47 R3 = W [ P2 + 40 ] (Z); 48 R4 = W [ P2 + 44 ] (Z); 49 R5 = W [ P2 + 48 ] (Z); 50 R6 = W [ P2 + 52 ] (Z); 51 CHECKREG r0, 0x00009394; 52 CHECKREG r1, 0x00009798; 53 CHECKREG r2, 0x0000A2A3; 54 CHECKREG r3, 0x0000A7A8; 55 CHECKREG r4, 0x0000B1B2; 56 CHECKREG r5, 0x0000B5B6; 57 CHECKREG r6, 0x0000B9C0; 58 59 R0 = W [ P3 + 56 ] (Z); 60 R1 = W [ P3 + 60 ] (Z); 61 R2 = W [ P3 + 64 ] (Z); 62 R3 = W [ P3 + 60 ] (Z); 63 R4 = W [ P3 + 56 ] (Z); 64 R5 = W [ P3 + 52 ] (Z); 65 R6 = W [ P3 + 48 ] (Z); 66 CHECKREG r0, 0x000099EA; 67 CHECKREG r1, 0x000099EA; 68 CHECKREG r2, 0x000099EA; 69 CHECKREG r3, 0x000099EA; 70 CHECKREG r4, 0x000099EA; 71 CHECKREG r5, 0x0000E5E6; 72 CHECKREG r6, 0x0000E1E2; 73 74 R0 = W [ P4 + 44 ] (Z); 75 R1 = W [ P4 + 40 ] (Z); 76 R2 = W [ P4 + 36 ] (Z); 77 R3 = W [ P4 + 32 ] (Z); 78 R4 = W [ P4 + 28 ] (Z); 79 R5 = W [ P4 + 24 ] (Z); 80 R6 = W [ P4 + 20 ] (Z); 81 CHECKREG r0, 0x00007677; 82 CHECKREG r1, 0x00007273; 83 CHECKREG r2, 0x00007788; 84 CHECKREG r3, 0x00003344; 85 CHECKREG r4, 0x00001E1F; 86 CHECKREG r5, 0x00001A1B; 87 CHECKREG r6, 0x00001617; 88 89 R0 = W [ P5 + 16 ] (Z); 90 R1 = W [ P5 + 12 ] (Z); 91 R2 = W [ P5 + 8 ] (Z); 92 R3 = W [ P5 + 4 ] (Z); 93 R4 = W [ P5 + 0 ] (Z); 94 R5 = W [ P5 + 4 ] (Z); 95 R6 = W [ P5 + 8 ] (Z); 96 CHECKREG r0, 0x00003233; 97 CHECKREG r1, 0x00002E2F; 98 CHECKREG r2, 0x00002A2B; 99 CHECKREG r3, 0x00002627; 100 CHECKREG r4, 0x00002223; 101 CHECKREG r5, 0x00002627; 102 CHECKREG r6, 0x00002A2B; 103 104 R0 = W [ FP + 12 ] (Z); 105 R1 = W [ FP + 16 ] (Z); 106 R2 = W [ FP + 20 ] (Z); 107 R3 = W [ FP + 24 ] (Z); 108 R4 = W [ FP + 28 ] (Z); 109 R5 = W [ FP + 32 ] (Z); 110 R6 = W [ FP + 36 ] (Z); 111 CHECKREG r0, 0x00004E4F; 112 CHECKREG r1, 0x00005253; 113 CHECKREG r2, 0x00005657; 114 CHECKREG r3, 0x00005A5B; 115 CHECKREG r4, 0x0000C7C8; 116 CHECKREG r5, 0x0000CBCD; 117 CHECKREG r6, 0x0000D1D2; 118 119 R0 = W [ SP + 40 ] (Z); 120 R1 = W [ SP + 44 ] (Z); 121 R2 = W [ SP + 48 ] (Z); 122 R3 = W [ SP + 52 ] (Z); 123 R4 = W [ SP + 56 ] (Z); 124 R5 = W [ SP + 60 ] (Z); 125 R6 = W [ SP + 64 ] (Z); 126 CHECKREG r0, 0x0000F9FA; 127 CHECKREG r1, 0x0000FDFE; 128 CHECKREG r2, 0x00000102; 129 CHECKREG r3, 0x00000506; 130 CHECKREG r4, 0x0000090A; 131 CHECKREG r5, 0x0000AD0E; 132 CHECKREG r6, 0x0000AD01; 133 134 P3 = I0; SP = I2; 135 pass 136 137// Pre-load memory with known data 138// More data is defined than will actually be used 139 140 .data 141DATA_ADDR_1: 142 .dd 0x00010203 143 .dd 0x04050607 144 .dd 0x08090A0B 145 .dd 0x0C0D0E0F 146 .dd 0x10111213 147 .dd 0x14151617 148 .dd 0x18191A1B 149 .dd 0x1C1D1E1F 150 .dd 0x11223344 151 .dd 0x55667788 152 .dd 0x99717273 153 .dd 0x74757677 154 .dd 0x82838485 155 .dd 0x86878889 156 .dd 0x80818283 157 .dd 0x84858687 158 .dd 0x01020304 159 .dd 0x05060708 160 .dd 0x09101112 161 .dd 0x14151617 162 .dd 0x18192021 163 .dd 0x22232425 164 .dd 0x26272829 165 .dd 0x30313233 166 .dd 0x34353637 167 .dd 0x38394041 168 .dd 0x42434445 169 .dd 0x46474849 170 .dd 0x50515253 171 .dd 0x54555657 172 .dd 0x58596061 173 .dd 0x62636465 174 .dd 0x66676869 175 .dd 0x74555657 176 .dd 0x78596067 177 .dd 0x72636467 178 .dd 0x76676867 179 .dd 0x00010203 180 .dd 0x04050607 181 .dd 0x08090A0B 182 .dd 0x0C0D0E0F 183 .dd 0x10111213 184 .dd 0x14151617 185 .dd 0x18191A1B 186 .dd 0x1C1D1E1F 187 .dd 0x11223344 188 .dd 0x55667788 189 .dd 0x99717273 190 .dd 0x74757677 191 .dd 0x82838485 192 .dd 0x86878889 193 .dd 0x80818283 194 .dd 0x84858687 195 .dd 0x01020304 196 .dd 0x05060708 197 .dd 0x09101112 198 .dd 0x14151617 199 .dd 0x18192021 200 .dd 0x22232425 201 .dd 0x26272829 202 .dd 0x30313233 203 .dd 0x34353637 204 .dd 0x38394041 205 .dd 0x42434445 206 .dd 0x46474849 207 .dd 0x50515253 208 .dd 0x54555657 209 .dd 0x58596061 210 .dd 0x62636465 211 .dd 0x66676869 212 .dd 0x74555657 213 .dd 0x78596067 214 .dd 0x72636467 215 .dd 0x76676867 216 217DATA_ADDR_2: 218 .dd 0x20212223 219 .dd 0x24252627 220 .dd 0x28292A2B 221 .dd 0x2C2D2E2F 222 .dd 0x30313233 223 .dd 0x34353637 224 .dd 0x38393A3B 225 .dd 0x3C3D3E3F 226 .dd 0x91929394 227 .dd 0x95969798 228 .dd 0x99A1A2A3 229 .dd 0xA5A6A7A8 230 .dd 0xA9B0B1B2 231 .dd 0xB3B4B5B6 232 .dd 0xB7B8B9C0 233 .dd 0x70717273 234 .dd 0x74757677 235 .dd 0x78798081 236 .dd 0x82838485 237 .dd 0x86C283C4 238 .dd 0x81C283C4 239 .dd 0x82C283C4 240 .dd 0x83C283C4 241 .dd 0x84C283C4 242 .dd 0x85C283C4 243 .dd 0x86C283C4 244 .dd 0x87C288C4 245 .dd 0x88C283C4 246 .dd 0x89C283C4 247 .dd 0x80C283C4 248 .dd 0x81C283C4 249 .dd 0x82C288C4 250 .dd 0x94555659 251 .dd 0x98596069 252 .dd 0x92636469 253 .dd 0x96676869 254 .dd 0x20212223 255 .dd 0x24252627 256 .dd 0x28292A2B 257 .dd 0x2C2D2E2F 258 .dd 0x30313233 259 .dd 0x34353637 260 .dd 0x38393A3B 261 .dd 0x3C3D3E3F 262 .dd 0x91929394 263 .dd 0x95969798 264 .dd 0x99A1A2A3 265 .dd 0xA5A6A7A8 266 .dd 0xA9B0B1B2 267 .dd 0xB3B4B5B6 268 .dd 0xB7B8B9C0 269 .dd 0x70717273 270 .dd 0x74757677 271 .dd 0x78798081 272 .dd 0x82838485 273 .dd 0x86C283C4 274 .dd 0x81C283C4 275 .dd 0x82C283C4 276 .dd 0x83C283C4 277 .dd 0x84C283C4 278 .dd 0x85C283C4 279 .dd 0x86C283C4 280 .dd 0x87C288C4 281 .dd 0x88C283C4 282 .dd 0x89C283C4 283 .dd 0x80C283C4 284 .dd 0x81C283C4 285 .dd 0x82C288C4 286 .dd 0x94555659 287 .dd 0x98596069 288 .dd 0x92636469 289 .dd 0x96676869 290 291DATA_ADDR_3: 292 .dd 0x40414243 293 .dd 0x44454647 294 .dd 0x48494A4B 295 .dd 0x4C4D4E4F 296 .dd 0x50515253 297 .dd 0x54555657 298 .dd 0x58595A5B 299 .dd 0xC5C6C7C8 300 .dd 0xC9CACBCD 301 .dd 0xCFD0D1D2 302 .dd 0xD3D4D5D6 303 .dd 0xD7D8D9DA 304 .dd 0xDBDCDDDE 305 .dd 0xDFE0E1E2 306 .dd 0xE3E4E5E6 307 .dd 0x91E899EA 308 .dd 0x92E899EA 309 .dd 0x93E899EA 310 .dd 0x94E899EA 311 .dd 0x95E899EA 312 .dd 0x96E899EA 313 .dd 0x97E899EA 314 .dd 0x98E899EA 315 .dd 0x99E899EA 316 .dd 0x91E899EA 317 .dd 0x92E899EA 318 .dd 0x93E899EA 319 .dd 0x94E899EA 320 .dd 0x95E899EA 321 .dd 0x96E899EA 322 .dd 0x977899EA 323 .dd 0xa455565a 324 .dd 0xa859606a 325 .dd 0xa263646a 326 .dd 0xa667686a 327 .dd 0x40414243 328 .dd 0x44454647 329 .dd 0x48494A4B 330 .dd 0x4C4D4E4F 331 .dd 0x50515253 332 .dd 0x54555657 333 .dd 0x58595A5B 334 .dd 0xC5C6C7C8 335 .dd 0xC9CACBCD 336 .dd 0xCFD0D1D2 337 .dd 0xD3D4D5D6 338 .dd 0xD7D8D9DA 339 .dd 0xDBDCDDDE 340 .dd 0xDFE0E1E2 341 .dd 0xE3E4E5E6 342 .dd 0x91E899EA 343 .dd 0x92E899EA 344 .dd 0x93E899EA 345 .dd 0x94E899EA 346 .dd 0x95E899EA 347 .dd 0x96E899EA 348 .dd 0x97E899EA 349 .dd 0x98E899EA 350 .dd 0x99E899EA 351 .dd 0x91E899EA 352 .dd 0x92E899EA 353 .dd 0x93E899EA 354 .dd 0x94E899EA 355 .dd 0x95E899EA 356 .dd 0x96E899EA 357 .dd 0x977899EA 358 .dd 0xa455565a 359 .dd 0xa859606a 360 .dd 0xa263646a 361 .dd 0xa667686a 362 363DATA_ADDR_4: 364 .dd 0x60616263 365 .dd 0x64656667 366 .dd 0x68696A6B 367 .dd 0x6C6D6E6F 368 .dd 0x70717273 369 .dd 0x74757677 370 .dd 0x78797A7B 371 .dd 0x7C7D7E7F 372 .dd 0xEBECEDEE 373 .dd 0xF3F4F5F6 374 .dd 0xF7F8F9FA 375 .dd 0xFBFCFDFE 376 .dd 0xFF000102 377 .dd 0x03040506 378 .dd 0x0708090A 379 .dd 0x0B0CAD0E 380 .dd 0xAB0CAD01 381 .dd 0xAB0CAD02 382 .dd 0xAB0CAD03 383 .dd 0xAB0CAD04 384 .dd 0xAB0CAD05 385 .dd 0xAB0CAD06 386 .dd 0xAB0CAA07 387 .dd 0xAB0CAD08 388 .dd 0xAB0CAD09 389 .dd 0xA00CAD1E 390 .dd 0xA10CAD2E 391 .dd 0xA20CAD3E 392 .dd 0xA30CAD4E 393 .dd 0xA40CAD5E 394 .dd 0xA50CAD6E 395 .dd 0xA60CAD7E 396 .dd 0xB455565B 397 .dd 0xB859606B 398 .dd 0xB263646B 399 .dd 0xB667686B 400 .dd 0x60616263 401 .dd 0x64656667 402 .dd 0x68696A6B 403 .dd 0x6C6D6E6F 404 .dd 0x70717273 405 .dd 0x74757677 406 .dd 0x78797A7B 407 .dd 0x7C7D7E7F 408 .dd 0xEBECEDEE 409 .dd 0xF3F4F5F6 410 .dd 0xF7F8F9FA 411 .dd 0xFBFCFDFE 412 .dd 0xFF000102 413 .dd 0x03040506 414 .dd 0x0708090A 415 .dd 0x0B0CAD0E 416 .dd 0xAB0CAD01 417 .dd 0xAB0CAD02 418 .dd 0xAB0CAD03 419 .dd 0xAB0CAD04 420 .dd 0xAB0CAD05 421 .dd 0xAB0CAD06 422 .dd 0xAB0CAA07 423 .dd 0xAB0CAD08 424 .dd 0xAB0CAD09 425 .dd 0xA00CAD1E 426 .dd 0xA10CAD2E 427 .dd 0xA20CAD3E 428 .dd 0xA30CAD4E 429 .dd 0xA40CAD5E 430 .dd 0xA50CAD6E 431 .dd 0xA60CAD7E 432 .dd 0xB455565B 433 .dd 0xB859606B 434 .dd 0xB263646B 435 .dd 0xB667686B 436 437DATA_ADDR_5: 438 .dd 0x80818283 439 .dd 0x84858687 440 .dd 0x88898A8B 441 .dd 0x8C8D8E8F 442 .dd 0x90919293 443 .dd 0x94959697 444 .dd 0x98999A9B 445 .dd 0x9C9D9E9F 446 .dd 0x0F101213 447 .dd 0x14151617 448 .dd 0x18191A1B 449 .dd 0x1C1D1E1F 450 .dd 0x20212223 451 .dd 0x24252627 452 .dd 0x28292A2B 453 .dd 0x2C2D2E2F 454 .dd 0xBC0DBE21 455 .dd 0xBC1DBE22 456 .dd 0xBC2DBE23 457 .dd 0xBC3DBE24 458 .dd 0xBC4DBE65 459 .dd 0xBC5DBE27 460 .dd 0xBC6DBE28 461 .dd 0xBC7DBE29 462 .dd 0xBC8DBE2F 463 .dd 0xBC9DBE20 464 .dd 0xBCADBE21 465 .dd 0xBCBDBE2F 466 .dd 0xBCCDBE23 467 .dd 0xBCDDBE24 468 .dd 0xBCFDBE25 469 .dd 0xC455565C 470 .dd 0xC859606C 471 .dd 0xC263646C 472 .dd 0xC667686C 473 .dd 0xCC0DBE2C 474 475DATA_ADDR_6: 476 .dd 0x00010203 477 .dd 0x04050607 478 .dd 0x08090A0B 479 .dd 0x0C0D0E0F 480 .dd 0x10111213 481 .dd 0x14151617 482 .dd 0x18191A1B 483 .dd 0x1C1D1E1F 484 .dd 0x20212223 485 .dd 0x24252627 486 .dd 0x28292A2B 487 .dd 0x2C2D2E2F 488 .dd 0x30313233 489 .dd 0x34353637 490 .dd 0x38393A3B 491 .dd 0x3C3D3E3F 492 .dd 0x40414243 493 .dd 0x44454647 494 .dd 0x48494A4B 495 .dd 0x4C4D4E4F 496 .dd 0x50515253 497 .dd 0x54555657 498 .dd 0x58595A5B 499 .dd 0x5C5D5E5F 500 .dd 0x60616263 501 .dd 0x64656667 502 .dd 0x68696A6B 503 .dd 0x6C6D6E6F 504 .dd 0x70717273 505 .dd 0x74757677 506 .dd 0x78797A7B 507 .dd 0x7C7D7E7F 508 509DATA_ADDR_7: 510 .dd 0x80818283 511 .dd 0x84858687 512 .dd 0x88898A8B 513 .dd 0x8C8D8E8F 514 .dd 0x90919293 515 .dd 0x94959697 516 .dd 0x98999A9B 517 .dd 0x9C9D9E9F 518 .dd 0xA0A1A2A3 519 .dd 0xA4A5A6A7 520 .dd 0xA8A9AAAB 521 .dd 0xACADAEAF 522 .dd 0xB0B1B2B3 523 .dd 0xB4B5B6B7 524 .dd 0xB8B9BABB 525 .dd 0xBCBDBEBF 526 .dd 0xC0C1C2C3 527 .dd 0xC4C5C6C7 528 .dd 0xC8C9CACB 529 .dd 0xCCCDCECF 530 .dd 0xD0D1D2D3 531 .dd 0xD4D5D6D7 532 .dd 0xD8D9DADB 533 .dd 0xDCDDDEDF 534 .dd 0xE0E1E2E3 535 .dd 0xE4E5E6E7 536 .dd 0xE8E9EAEB 537 .dd 0xECEDEEEF 538 .dd 0xF0F1F2F3 539 .dd 0xF4F5F6F7 540 .dd 0xF8F9FAFB 541 .dd 0xFCFDFEFF 542