//Original:testcases/core/c_ldstidxl_st_preg/c_ldstidxl_st_preg.dsp // Spec Reference: c_ldstidxl store preg # mach: bfin .include "testutils.inc" start // set all regs init_i_regs 0; init_b_regs 0; init_l_regs 0; init_m_regs 0; I0 = P3; I2 = SP; // initial values imm32 r0, 0x105f50a0; imm32 r1, 0x204e60a1; imm32 r2, 0x300370a2; imm32 r3, 0x402c80a3; imm32 r4, 0x501b90a4; imm32 r5, 0x600aa0a5; imm32 r6, 0x7019b0a6; imm32 r7, 0xd028c0a7; P3 = 0x0123 (X); P4 = 0x4567 (X); P5 = 0x79ab (X); FP = 0x6def (X); SP = 0x1ace (X); I1 = P3; P3 = I0; I3 = SP; SP = I2; loadsym p1, DATA_ADDR_1, 0x0000; loadsym p2, DATA_ADDR_2, 0x00c8; P3 = I1; SP = I3; [ P1 + 0x1004 ] = P5; [ P1 + 0x1008 ] = P3; [ P1 + 0x1014 ] = P4; [ P1 + 0x1018 ] = P3; [ P2 + -0x1020 ] = P4; [ P2 + -0x1024 ] = P5; [ P2 + -0x1028 ] = SP; [ P2 + -0x1034 ] = FP; R6 = [ P1 + 0x1004 ]; R5 = [ P1 + 0x1008 ]; R4 = [ P1 + 0x1014 ]; R3 = [ P1 + 0x1018 ]; R2 = [ P2 + -0x1020 ]; R7 = [ P2 + -0x1024 ]; R0 = [ P2 + -0x1028 ]; R1 = [ P2 + -0x1034 ]; CHECKREG r0, 0x00001ACE; CHECKREG r1, 0x00006DEF; CHECKREG r2, 0x00004567; CHECKREG r3, 0x00000123; CHECKREG r4, 0x00004567; CHECKREG r5, 0x00000123; CHECKREG r6, 0x000079AB; CHECKREG r7, 0x000079AB; imm32 r0, 0x10bf50b0; imm32 r1, 0x20be60b1; imm32 r2, 0x30bd70b2; imm32 r3, 0x40bc80b3; imm32 r4, 0x55bb90b4; imm32 r5, 0x60baa0b5; imm32 r6, 0x70b9b0b6; imm32 r7, 0x80b8c0b7; P1 = 0x3456 (X); P2 = 0x1234 (X); P5 = 0x5e23 (X); FP = 0x2ac5 (X); SP = 0x6378 (X); I1 = P3; P3 = I0; I3 = SP; SP = I2; loadsym i1, DATA_ADDR_1, 0x0000; loadsym p4, DATA_ADDR_2, 0x00c8; P3 = I1; SP = I3; [ P3 + 0x1034 ] = P2; [ P3 + 0x1040 ] = P1; [ P3 + 0x1044 ] = P2; [ P3 + 0x1048 ] = P1; [ P4 + -0x1054 ] = P2; [ P4 + -0x1058 ] = P5; [ P4 + -0x1060 ] = SP; [ P4 + -0x1064 ] = FP; R3 = [ P3 + 0x1034 ]; R4 = [ P3 + 0x1040 ]; R0 = [ P3 + 0x1044 ]; R1 = [ P3 + 0x1048 ]; R2 = [ P4 + -0x1054 ]; R5 = [ P4 + -0x1058 ]; R6 = [ P4 + -0x1060 ]; R7 = [ P4 + -0x1064 ]; CHECKREG r0, 0x00001234; CHECKREG r1, 0x00003456; CHECKREG r2, 0x00001234; CHECKREG r3, 0x00001234; CHECKREG r4, 0x00003456; CHECKREG r5, 0x00005E23; CHECKREG r6, 0x00006378; CHECKREG r7, 0x00002AC5; // initial values imm32 r0, 0x10cf50c0; imm32 r1, 0x20ce60c1; imm32 r2, 0x30c370c2; imm32 r3, 0x40cc80c3; imm32 r4, 0x50cb90c4; imm32 r5, 0x60caa0c5; imm32 r6, 0x70c9b0c6; imm32 r7, 0xd0c8c0c7; P1 = 0x2125 (X); P2 = 0x7345 (X); P3 = 0x3230 (X); P4 = 0x5789 (X); FP = 0x5bcd (X); I1 = P3; P3 = I0; I3 = SP; SP = I2; loadsym p5, DATA_ADDR_1, 0x0000; loadsym i3, DATA_ADDR_2, 0x00c8; P3 = I1; SP = I3; [ P5 + 0x1004 ] = P2; [ P5 + 0x1008 ] = P1; [ P5 + 0x1014 ] = P2; [ P5 + 0x1018 ] = P3; [ SP + -0x1020 ] = P4; [ SP + -0x1024 ] = P2; [ SP + -0x1028 ] = P3; [ SP + -0x1034 ] = FP; R6 = [ P5 + 0x1004 ]; R5 = [ P5 + 0x1008 ]; R4 = [ P5 + 0x1014 ]; R3 = [ P5 + 0x1018 ]; R2 = [ SP + -0x1020 ]; R0 = [ SP + -0x1024 ]; R7 = [ SP + -0x1028 ]; R1 = [ SP + -0x1034 ]; CHECKREG r0, 0x00007345; CHECKREG r1, 0x00005BCD; CHECKREG r2, 0x00005789; CHECKREG r3, 0x00003230; CHECKREG r4, 0x00007345; CHECKREG r5, 0x00002125; CHECKREG r6, 0x00007345; CHECKREG r7, 0x00003230; // initial values imm32 r0, 0x60df50d0; imm32 r1, 0x70de60d1; imm32 r2, 0x80dd70d2; imm32 r3, 0x90dc80d3; imm32 r4, 0xa0db90d4; imm32 r5, 0xb0daa0d5; imm32 r6, 0xc0d9b0d6; imm32 r7, 0xd0d8c0d7; P1 = 0x5bcd (X); P2 = 0x1122 (X); P3 = 0x3455 (X); P4 = 0x6677 (X); P5 = 0x58ab (X); SP = 0x1ace (X); I1 = P3; P3 = I0; I3 = SP; SP = I2; loadsym fp, DATA_ADDR_1, 0x0010; P3 = I1; SP = I3; [ FP + 0x1034 ] = P1; [ FP + 0x2040 ] = P1; [ FP + 0x1144 ] = P2; [ FP + 0x2048 ] = P3; [ FP + 0x1050 ] = P4; [ FP + 0x2058 ] = P5; [ FP + 0x1160 ] = P2; [ FP + 0x2064 ] = SP; R3 = [ FP + 0x1034 ]; R4 = [ FP + 0x2040 ]; R0 = [ FP + 0x1144 ]; R1 = [ FP + 0x2048 ]; R2 = [ FP + 0x1050 ]; R5 = [ FP + 0x2058 ]; R6 = [ FP + 0x1160 ]; R7 = [ FP + 0x2064 ]; CHECKREG r0, 0x00001122; CHECKREG r1, 0x00003455; CHECKREG r2, 0x00006677; CHECKREG r3, 0x00005BCD; CHECKREG r4, 0x00005BCD; CHECKREG r5, 0x000058AB; CHECKREG r6, 0x00001122; CHECKREG r7, 0x00001ace; pass // Pre-load memory with known data // More data is defined than will actually be used .data // Make sure there is space between the text and data sections .space (0x2000); DATA_ADDR_1: .dd 0x00010203 .dd 0x04050607 .dd 0x08090A0B .dd 0x0C0D0E0F .dd 0x10111213 .dd 0x14151617 .dd 0x18191A1B .dd 0x1C1D1E1F .dd 0x11223344 .dd 0x55667788 .dd 0x99717273 .dd 0x74757677 .dd 0x82838485 .dd 0x86878889 .dd 0x80818283 .dd 0x84858687 .dd 0x01020304 .dd 0x05060708 .dd 0x09101112 .dd 0x14151617 .dd 0x18192021 .dd 0x22232425 .dd 0x26272829 .dd 0x30313233 .dd 0x34353637 .dd 0x38394041 .dd 0x42434445 .dd 0x46474849 .dd 0x50515253 .dd 0x54555657 .dd 0x58596061 .dd 0x62636465 .dd 0x66676869 .dd 0x74555657 .dd 0x78596067 .dd 0x72636467 .dd 0x76676867 .dd 0x00010203 .dd 0x04050607 .dd 0x08090A0B .dd 0x0C0D0E0F .dd 0x10111213 .dd 0x14151617 .dd 0x18191A1B .dd 0x1C1D1E1F .dd 0x11223344 .dd 0x55667788 .dd 0x99717273 .dd 0x74757677 .dd 0x82838485 .dd 0x86878889 .dd 0x80818283 .dd 0x84858687 .dd 0x01020304 .dd 0x05060708 .dd 0x09101112 .dd 0x14151617 .dd 0x18192021 .dd 0x22232425 .dd 0x26272829 .dd 0x30313233 .dd 0x34353637 .dd 0x38394041 .dd 0x42434445 .dd 0x46474849 .dd 0x50515253 .dd 0x54555657 .dd 0x58596061 .dd 0x62636465 .dd 0x66676869 .dd 0x74555657 .dd 0x78596067 .dd 0x72636467 .dd 0x76676867 .dd 0x20212223 .dd 0x24252627 .dd 0x28292A2B .dd 0x2C2D2E2F .dd 0x30313233 .dd 0x34353637 .dd 0x38393A3B .dd 0x3C3D3E3F .dd 0x91929394 .dd 0x95969798 .dd 0x99A1A2A3 .dd 0xA5A6A7A8 .dd 0xA9B0B1B2 .dd 0xB3B4B5B6 .dd 0xB7B8B9C0 .dd 0x70717273 .dd 0x74757677 .dd 0x78798081 .dd 0x82838485 .dd 0x86C283C4 .dd 0x81C283C4 .dd 0x82C283C4 .dd 0x83C283C4 .dd 0x84C283C4 .dd 0x85C283C4 .dd 0x86C283C4 .dd 0x87C288C4 .dd 0x88C283C4 .dd 0x89C283C4 .dd 0x80C283C4 .dd 0x81C283C4 .dd 0x82C288C4 .dd 0x94555659 .dd 0x98596069 .dd 0x92636469 .dd 0x96676869 .dd 0x00010203 .dd 0x04050607 .dd 0x08090A0B .dd 0x0C0D0E0F .dd 0x10111213 .dd 0x14151617 .dd 0x18191A1B .dd 0x1C1D1E1F .dd 0x11223344 .dd 0x55667788 .dd 0x99717273 .dd 0x74757677 .dd 0x82838485 .dd 0x86878889 .dd 0x80818283 .dd 0x84858687 .dd 0x01020304 .dd 0x05060708 .dd 0x09101112 .dd 0x14151617 .dd 0x18192021 .dd 0x22232425 .dd 0x26272829 .dd 0x30313233 .dd 0x34353637 .dd 0x38394041 .dd 0x42434445 .dd 0x46474849 .dd 0x50515253 .dd 0x54555657 .dd 0x58596061 .dd 0x62636465 .dd 0x66676869 .dd 0x74555657 .dd 0x78596067 .dd 0x72636467 .dd 0x76676867 .dd 0x00010203 .dd 0x04050607 .dd 0x08090A0B .dd 0x0C0D0E0F .dd 0x10111213 .dd 0x14151617 .dd 0x18191A1B .dd 0x1C1D1E1F .dd 0x11223344 .dd 0x55667788 .dd 0x99717273 .dd 0x74757677 .dd 0x82838485 .dd 0x86878889 .dd 0x80818283 .dd 0x84858687 .dd 0x01020304 .dd 0x05060708 .dd 0x09101112 .dd 0x14151617 .dd 0x18192021 .dd 0x22232425 .dd 0x26272829 .dd 0x30313233 .dd 0x34353637 .dd 0x38394041 .dd 0x42434445 .dd 0x46474849 .dd 0x50515253 .dd 0x54555657 .dd 0x58596061 .dd 0x62636465 .dd 0x66676869 .dd 0x74555657 .dd 0x78596067 .dd 0x72636467 .dd 0x76676867 .dd 0x20212223 .dd 0x24252627 .dd 0x28292A2B .dd 0x2C2D2E2F .dd 0x30313233 .dd 0x34353637 .dd 0x38393A3B .dd 0x3C3D3E3F .dd 0x91929394 .dd 0x95969798 .dd 0x99A1A2A3 .dd 0xA5A6A7A8 .dd 0xA9B0B1B2 .dd 0xB3B4B5B6 .dd 0xB7B8B9C0 .dd 0x70717273 .dd 0x74757677 .dd 0x78798081 .dd 0x82838485 .dd 0x86C283C4 .dd 0x81C283C4 .dd 0x82C283C4 .dd 0x83C283C4 .dd 0x84C283C4 .dd 0x85C283C4 .dd 0x86C283C4 .dd 0x87C288C4 .dd 0x88C283C4 .dd 0x89C283C4 .dd 0x80C283C4 .dd 0x81C283C4 .dd 0x82C288C4 .dd 0x94555659 .dd 0x98596069 .dd 0x92636469 .dd 0x96676869 .dd 0x40414243 .dd 0x44454647 .dd 0x48494A4B .dd 0x4C4D4E4F .dd 0x50515253 .dd 0x54555657 .dd 0x58595A5B .dd 0xC5C6C7C8 .dd 0xC9CACBCD .dd 0xCFD0D1D2 .dd 0xD3D4D5D6 .dd 0xD7D8D9DA .dd 0xDBDCDDDE .dd 0xDFE0E1E2 .dd 0xE3E4E5E6 .dd 0x91E899EA .dd 0x92E899EA .dd 0x93E899EA .dd 0x94E899EA .dd 0x95E899EA .dd 0x96E899EA .dd 0x97E899EA .dd 0x98E899EA .dd 0x99E899EA .dd 0x91E899EA .dd 0x92E899EA .dd 0x93E899EA .dd 0x94E899EA .dd 0x95E899EA .dd 0x96E899EA .dd 0x977899EA .dd 0xa455565a .dd 0xa859606a .dd 0xa263646a .dd 0xa667686a .dd 0x40414243 .dd 0x44454647 .dd 0x48494A4B .dd 0x4C4D4E4F .dd 0x50515253 .dd 0x54555657 .dd 0x58595A5B .dd 0xC5C6C7C8 .dd 0xC9CACBCD .dd 0xCFD0D1D2 .dd 0xD3D4D5D6 .dd 0xD7D8D9DA .dd 0xDBDCDDDE .dd 0xDFE0E1E2 .dd 0xE3E4E5E6 .dd 0x91E899EA .dd 0x92E899EA .dd 0x93E899EA .dd 0x94E899EA .dd 0x95E899EA .dd 0x96E899EA .dd 0x97E899EA .dd 0x98E899EA .dd 0x99E899EA .dd 0x91E899EA .dd 0x92E899EA .dd 0x93E899EA .dd 0x94E899EA .dd 0x95E899EA .dd 0x96E899EA .dd 0x977899EA .dd 0xa455565a .dd 0xa859606a .dd 0xa263646a .dd 0xa667686a DATA_ADDR_2: .dd 0x60616263 .dd 0x64656667 .dd 0x68696A6B .dd 0x6C6D6E6F .dd 0x70717273 .dd 0x74757677 .dd 0x78797A7B .dd 0x7C7D7E7F .dd 0xEBECEDEE .dd 0xF3F4F5F6 .dd 0xF7F8F9FA .dd 0xFBFCFDFE .dd 0xFF000102 .dd 0x03040506 .dd 0x0708090A .dd 0x0B0CAD0E .dd 0xAB0CAD01 .dd 0xAB0CAD02 .dd 0xAB0CAD03 .dd 0xAB0CAD04 .dd 0xAB0CAD05 .dd 0xAB0CAD06 .dd 0xAB0CAA07 .dd 0xAB0CAD08 .dd 0xAB0CAD09 .dd 0xA00CAD1E .dd 0xA10CAD2E .dd 0xA20CAD3E .dd 0xA30CAD4E .dd 0xA40CAD5E .dd 0xA50CAD6E .dd 0xA60CAD7E .dd 0xB455565B .dd 0xB859606B .dd 0xB263646B .dd 0xB667686B .dd 0x60616263 .dd 0x64656667 .dd 0x68696A6B .dd 0x6C6D6E6F .dd 0x70717273 .dd 0x74757677 .dd 0x78797A7B .dd 0x7C7D7E7F .dd 0xEBECEDEE .dd 0xF3F4F5F6 .dd 0xF7F8F9FA .dd 0xFBFCFDFE .dd 0xFF000102 .dd 0x03040506 .dd 0x0708090A .dd 0x0B0CAD0E .dd 0xAB0CAD01 .dd 0xAB0CAD02 .dd 0xAB0CAD03 .dd 0xAB0CAD04 .dd 0xAB0CAD05 .dd 0xAB0CAD06 .dd 0xAB0CAA07 .dd 0xAB0CAD08 .dd 0xAB0CAD09 .dd 0xA00CAD1E .dd 0xA10CAD2E .dd 0xA20CAD3E .dd 0xA30CAD4E .dd 0xA40CAD5E .dd 0xA50CAD6E .dd 0xA60CAD7E .dd 0xB455565B .dd 0xB859606B .dd 0xB263646B .dd 0xB667686B .dd 0x80818283 .dd 0x84858687 .dd 0x88898A8B .dd 0x8C8D8E8F .dd 0x90919293 .dd 0x94959697 .dd 0x98999A9B .dd 0x9C9D9E9F .dd 0x0F101213 .dd 0x14151617 .dd 0x18191A1B .dd 0x1C1D1E1F .dd 0x20212223 .dd 0x24252627 .dd 0x28292A2B .dd 0x2C2D2E2F .dd 0xBC0DBE21 .dd 0xBC1DBE22 .dd 0xBC2DBE23 .dd 0xBC3DBE24 .dd 0xBC4DBE65 .dd 0xBC5DBE27 .dd 0xBC6DBE28 .dd 0xBC7DBE29 .dd 0xBC8DBE2F .dd 0xBC9DBE20 .dd 0xBCADBE21 .dd 0xBCBDBE2F .dd 0xBCCDBE23 .dd 0xBCDDBE24 .dd 0xBCFDBE25 .dd 0xC455565C .dd 0xC859606C .dd 0xC263646C .dd 0xC667686C .dd 0xCC0DBE2C .dd 0x00010203 .dd 0x04050607 .dd 0x08090A0B .dd 0x0C0D0E0F .dd 0x10111213 .dd 0x14151617 .dd 0x18191A1B .dd 0x1C1D1E1F .dd 0x20212223 .dd 0x24252627 .dd 0x28292A2B .dd 0x2C2D2E2F .dd 0x30313233 .dd 0x34353637 .dd 0x38393A3B .dd 0x3C3D3E3F .dd 0x40414243 .dd 0x44454647 .dd 0x48494A4B .dd 0x4C4D4E4F .dd 0x50515253 .dd 0x54555657 .dd 0x58595A5B .dd 0x4C4D4E4F .dd 0x50515253 .dd 0x54555657 .dd 0x58595A5B .dd 0xC5C6C7C8 .dd 0xC9CACBCD .dd 0xCFD0D1D2 .dd 0xD3D4D5D6 .dd 0xD7D8D9DA .dd 0xDBDCDDDE .dd 0xDFE0E1E2 .dd 0xE3E4E5E6 .dd 0x91E899EA .dd 0x92E899EA .dd 0x93E899EA .dd 0x94E899EA .dd 0x95E899EA .dd 0x96E899EA .dd 0x97E899EA .dd 0x98E899EA .dd 0x99E899EA .dd 0x91E899EA .dd 0x92E899EA .dd 0x93E899EA .dd 0x94E899EA .dd 0x95E899EA .dd 0x96E899EA .dd 0x977899EA .dd 0xa455565a .dd 0xa859606a .dd 0xa263646a .dd 0xa667686a .dd 0x40414243 .dd 0x44454647 .dd 0x48494A4B .dd 0x4C4D4E4F .dd 0x50515253 .dd 0x54555657 .dd 0x58595A5B .dd 0xC5C6C7C8 .dd 0x5C5D5E5F .dd 0x60616263 .dd 0x64656667 .dd 0x68696A6B .dd 0x6C6D6E6F .dd 0x70717273 .dd 0x74757677 .dd 0x78797A7B .dd 0x7C7D7E7F .dd 0x80818283 .dd 0x84858687 .dd 0x88898A8B .dd 0x8C8D8E8F .dd 0x90919293 .dd 0x94959697 .dd 0x98999A9B .dd 0x9C9D9E9F .dd 0xA0A1A2A3 .dd 0xA4A5A6A7 .dd 0xA8A9AAAB .dd 0xACADAEAF .dd 0xB0B1B2B3 .dd 0xB4B5B6B7 .dd 0xB8B9BABB .dd 0xBCBDBEBF .dd 0xC0C1C2C3 .dd 0xC4C5C6C7 .dd 0xC8C9CACB .dd 0xCCCDCECF .dd 0xD0D1D2D3 .dd 0xD4D5D6D7 .dd 0xD8D9DADB .dd 0xDCDDDEDF .dd 0xE0E1E2E3 .dd 0xE4E5E6E7 .dd 0xE8E9EAEB .dd 0xECEDEEEF .dd 0xF0F1F2F3 .dd 0xF4F5F6F7 .dd 0xF8F9FAFB .dd 0xFCFDFEFF // Make sure there is space for us to scribble .space (0x2000);