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