1//Original:testcases/core/c_ldst_ld_d_p_pp_xb/c_ldst_ld_d_p_pp_xb.dsp 2// Spec Reference: c_ldst ld d [p++] xb 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// initial values 18 I1 = P3; P3 = I0; I3 = SP; SP = I2; 19 loadsym p5, DATA_ADDR_1, 0x04; 20 loadsym p1, DATA_ADDR_2, 0x04; 21 loadsym p2, DATA_ADDR_3, 0x04; 22 loadsym i1, DATA_ADDR_4, 0x04; 23 loadsym p4, DATA_ADDR_5, 0x04; 24 loadsym fp, DATA_ADDR_6, 0x04; 25 loadsym i3, DATA_ADDR_7, 0x04; 26 P3 = I1; SP = I3; 27 28 R4 = B [ P5 ++ ] (X); 29 R5 = B [ P1 ++ ] (X); 30 R6 = B [ P2 ++ ] (X); 31 R7 = B [ P3 ++ ] (X); 32 R0 = B [ P4 ++ ] (X); 33 R1 = B [ FP ++ ] (X); 34 R2 = B [ SP ++ ] (X); 35 CHECKREG r0, 0xFFFFFF87; 36 CHECKREG r1, 0x00000007; 37 CHECKREG r2, 0xFFFFFF87; 38 CHECKREG r3, 0x00000000; 39 CHECKREG r4, 0x00000007; 40 CHECKREG r5, 0x00000027; 41 CHECKREG r6, 0x00000047; 42 CHECKREG r7, 0x00000067; 43 44 R5 = B [ P5 ++ ] (X); 45 R6 = B [ P1 ++ ] (X); 46 R7 = B [ P2 ++ ] (X); 47 R0 = B [ P3 ++ ] (X); 48 R1 = B [ P4 ++ ] (X); 49 R2 = B [ FP ++ ] (X); 50 R3 = B [ SP ++ ] (X); 51 CHECKREG r0, 0x00000066; 52 CHECKREG r1, 0xFFFFFF86; 53 CHECKREG r2, 0x00000006; 54 CHECKREG r3, 0xFFFFFF86; 55 CHECKREG r4, 0x00000007; 56 CHECKREG r5, 0x00000006; 57 CHECKREG r6, 0x00000026; 58 CHECKREG r7, 0x00000046; 59 60 R6 = B [ P5 ++ ] (X); 61 R7 = B [ P1 ++ ] (X); 62 R0 = B [ P2 ++ ] (X); 63 R1 = B [ P3 ++ ] (X); 64 R2 = B [ P4 ++ ] (X); 65 R3 = B [ FP ++ ] (X); 66 R4 = B [ SP ++ ] (X); 67 CHECKREG r0, 0x00000045; 68 CHECKREG r1, 0x00000065; 69 CHECKREG r2, 0xFFFFFF85; 70 CHECKREG r3, 0x00000005; 71 CHECKREG r4, 0xFFFFFF85; 72 CHECKREG r5, 0x00000006; 73 CHECKREG r6, 0x00000005; 74 CHECKREG r7, 0x00000025; 75 76 R7 = B [ P5 ++ ] (X); 77 R0 = B [ P1 ++ ] (X); 78 R1 = B [ P2 ++ ] (X); 79 R2 = B [ P3 ++ ] (X); 80 R3 = B [ P4 ++ ] (X); 81 R4 = B [ FP ++ ] (X); 82 R5 = B [ SP ++ ] (X); 83 CHECKREG r0, 0x00000024; 84 CHECKREG r1, 0x00000044; 85 CHECKREG r2, 0x00000064; 86 CHECKREG r3, 0xFFFFFF84; 87 CHECKREG r4, 0x00000004; 88 CHECKREG r5, 0xFFFFFF84; 89 CHECKREG r6, 0x00000005; 90 CHECKREG r7, 0x00000004; 91 92 P3 = I0; SP = I2; 93 pass 94 95// Pre-load memory with known data 96// More data is defined than will actually be used 97 98 .data 99DATA_ADDR_1: 100 .dd 0x00010203 101 .dd 0x04050607 102 .dd 0x08090A0B 103 .dd 0x0C0D0E0F 104 .dd 0x10111213 105 .dd 0x14151617 106 .dd 0x18191A1B 107 .dd 0x1C1D1E1F 108 .dd 0x11223344 109 .dd 0x55667788 110 .dd 0x99717273 111 .dd 0x74757677 112 .dd 0x82838485 113 .dd 0x86878889 114 .dd 0x80818283 115 .dd 0x84858687 116 .dd 0x01020304 117 .dd 0x05060708 118 .dd 0x09101112 119 .dd 0x14151617 120 .dd 0x18192021 121 .dd 0x22232425 122 .dd 0x26272829 123 .dd 0x30313233 124 .dd 0x34353637 125 .dd 0x38394041 126 .dd 0x42434445 127 .dd 0x46474849 128 .dd 0x50515253 129 .dd 0x54555657 130 .dd 0x58596061 131 .dd 0x62636465 132 .dd 0x66676869 133 .dd 0x74555657 134 .dd 0x78596067 135 .dd 0x72636467 136 .dd 0x76676867 137 138DATA_ADDR_2: 139 .dd 0x20212223 140 .dd 0x24252627 141 .dd 0x28292A2B 142 .dd 0x2C2D2E2F 143 .dd 0x30313233 144 .dd 0x34353637 145 .dd 0x38393A3B 146 .dd 0x3C3D3E3F 147 .dd 0x91929394 148 .dd 0x95969798 149 .dd 0x99A1A2A3 150 .dd 0xA5A6A7A8 151 .dd 0xA9B0B1B2 152 .dd 0xB3B4B5B6 153 .dd 0xB7B8B9C0 154 .dd 0x70717273 155 .dd 0x74757677 156 .dd 0x78798081 157 .dd 0x82838485 158 .dd 0x86C283C4 159 .dd 0x81C283C4 160 .dd 0x82C283C4 161 .dd 0x83C283C4 162 .dd 0x84C283C4 163 .dd 0x85C283C4 164 .dd 0x86C283C4 165 .dd 0x87C288C4 166 .dd 0x88C283C4 167 .dd 0x89C283C4 168 .dd 0x80C283C4 169 .dd 0x81C283C4 170 .dd 0x82C288C4 171 .dd 0x94555659 172 .dd 0x98596069 173 .dd 0x92636469 174 .dd 0x96676869 175 176DATA_ADDR_3: 177 .dd 0x40414243 178 .dd 0x44454647 179 .dd 0x48494A4B 180 .dd 0x4C4D4E4F 181 .dd 0x50515253 182 .dd 0x54555657 183 .dd 0x58595A5B 184 .dd 0xC5C6C7C8 185 .dd 0xC9CACBCD 186 .dd 0xCFD0D1D2 187 .dd 0xD3D4D5D6 188 .dd 0xD7D8D9DA 189 .dd 0xDBDCDDDE 190 .dd 0xDFE0E1E2 191 .dd 0xE3E4E5E6 192 .dd 0x91E899EA 193 .dd 0x92E899EA 194 .dd 0x93E899EA 195 .dd 0x94E899EA 196 .dd 0x95E899EA 197 .dd 0x96E899EA 198 .dd 0x97E899EA 199 .dd 0x98E899EA 200 .dd 0x99E899EA 201 .dd 0x91E899EA 202 .dd 0x92E899EA 203 .dd 0x93E899EA 204 .dd 0x94E899EA 205 .dd 0x95E899EA 206 .dd 0x96E899EA 207 .dd 0x977899EA 208 .dd 0xa455565a 209 .dd 0xa859606a 210 .dd 0xa263646a 211 .dd 0xa667686a 212 213DATA_ADDR_4: 214 .dd 0x60616263 215 .dd 0x64656667 216 .dd 0x68696A6B 217 .dd 0x6C6D6E6F 218 .dd 0x70717273 219 .dd 0x74757677 220 .dd 0x78797A7B 221 .dd 0x7C7D7E7F 222 .dd 0xEBECEDEE 223 .dd 0xF3F4F5F6 224 .dd 0xF7F8F9FA 225 .dd 0xFBFCFDFE 226 .dd 0xFF000102 227 .dd 0x03040506 228 .dd 0x0708090A 229 .dd 0x0B0CAD0E 230 .dd 0xAB0CAD01 231 .dd 0xAB0CAD02 232 .dd 0xAB0CAD03 233 .dd 0xAB0CAD04 234 .dd 0xAB0CAD05 235 .dd 0xAB0CAD06 236 .dd 0xAB0CAA07 237 .dd 0xAB0CAD08 238 .dd 0xAB0CAD09 239 .dd 0xAB0CAD0E 240 .dd 0xAB0CAD0E 241 .dd 0xAB0CAD0E 242 .dd 0xAB0CAD0E 243 .dd 0xAB0CAD0E 244 .dd 0xAB0CAD0E 245 .dd 0xAB0CAD0E 246 .dd 0xB455565B 247 .dd 0xB859606B 248 .dd 0xB263646B 249 .dd 0xB667686B 250 251DATA_ADDR_5: 252 .dd 0x80818283 253 .dd 0x84858687 254 .dd 0x88898A8B 255 .dd 0x8C8D8E8F 256 .dd 0x90919293 257 .dd 0x94959697 258 .dd 0x98999A9B 259 .dd 0x9C9D9E9F 260 .dd 0x0F101213 261 .dd 0x14151617 262 .dd 0x18191A1B 263 .dd 0x1C1D1E1F 264 .dd 0x20212223 265 .dd 0x24252627 266 .dd 0x28292A2B 267 .dd 0x2C2D2E2F 268 .dd 0xBC0DBE21 269 .dd 0xBC1DBE22 270 .dd 0xBC2DBE23 271 .dd 0xBC3DBE24 272 .dd 0xBC4DBE65 273 .dd 0xBC5DBE27 274 .dd 0xBC6DBE28 275 .dd 0xBC7DBE29 276 .dd 0xBC8DBE2F 277 .dd 0xBC9DBE20 278 .dd 0xBCADBE21 279 .dd 0xBCBDBE2F 280 .dd 0xBCCDBE23 281 .dd 0xBCDDBE24 282 .dd 0xBCFDBE25 283 .dd 0xC455565C 284 .dd 0xC859606C 285 .dd 0xC263646C 286 .dd 0xC667686C 287 .dd 0xCC0DBE2C 288 289DATA_ADDR_6: 290 .dd 0x00010203 291 .dd 0x04050607 292 .dd 0x08090A0B 293 .dd 0x0C0D0E0F 294 .dd 0x10111213 295 .dd 0x14151617 296 .dd 0x18191A1B 297 .dd 0x1C1D1E1F 298 .dd 0x20212223 299 .dd 0x24252627 300 .dd 0x28292A2B 301 .dd 0x2C2D2E2F 302 .dd 0x30313233 303 .dd 0x34353637 304 .dd 0x38393A3B 305 .dd 0x3C3D3E3F 306 .dd 0x40414243 307 .dd 0x44454647 308 .dd 0x48494A4B 309 .dd 0x4C4D4E4F 310 .dd 0x50515253 311 .dd 0x54555657 312 .dd 0x58595A5B 313 .dd 0x5C5D5E5F 314 .dd 0x60616263 315 .dd 0x64656667 316 .dd 0x68696A6B 317 .dd 0x6C6D6E6F 318 .dd 0x70717273 319 .dd 0x74757677 320 .dd 0x78797A7B 321 .dd 0x7C7D7E7F 322 323DATA_ADDR_7: 324 .dd 0x80818283 325 .dd 0x84858687 326 .dd 0x88898A8B 327 .dd 0x8C8D8E8F 328 .dd 0x90919293 329 .dd 0x94959697 330 .dd 0x98999A9B 331 .dd 0x9C9D9E9F 332 .dd 0xA0A1A2A3 333 .dd 0xA4A5A6A7 334 .dd 0xA8A9AAAB 335 .dd 0xACADAEAF 336 .dd 0xB0B1B2B3 337 .dd 0xB4B5B6B7 338 .dd 0xB8B9BABB 339 .dd 0xBCBDBEBF 340 .dd 0xC0C1C2C3 341 .dd 0xC4C5C6C7 342 .dd 0xC8C9CACB 343 .dd 0xCCCDCECF 344 .dd 0xD0D1D2D3 345 .dd 0xD4D5D6D7 346 .dd 0xD8D9DADB 347 .dd 0xDCDDDEDF 348 .dd 0xE0E1E2E3 349 .dd 0xE4E5E6E7 350 .dd 0xE8E9EAEB 351 .dd 0xECEDEEEF 352 .dd 0xF0F1F2F3 353 .dd 0xF4F5F6F7 354 .dd 0xF8F9FAFB 355 .dd 0xFCFDFEFF 356