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