diff options
Diffstat (limited to 'sim/testsuite/bfin/c_ldstidxl_st_dr_h.s')
-rw-r--r-- | sim/testsuite/bfin/c_ldstidxl_st_dr_h.s | 609 |
1 files changed, 609 insertions, 0 deletions
diff --git a/sim/testsuite/bfin/c_ldstidxl_st_dr_h.s b/sim/testsuite/bfin/c_ldstidxl_st_dr_h.s new file mode 100644 index 00000000000..114d192423d --- /dev/null +++ b/sim/testsuite/bfin/c_ldstidxl_st_dr_h.s @@ -0,0 +1,609 @@ +//Original:testcases/core/c_ldstidxl_st_dr_h/c_ldstidxl_st_dr_h.dsp +// Spec Reference: c_ldstidxl store dreg +# 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; + I1 = P3; P3 = I0; I3 = SP; SP = I2; + loadsym p1, DATA_ADDR_1, 0x00; + loadsym p2, DATA_ADDR_2, 0xc8; + loadsym i1, DATA_ADDR_1, 0x10; + loadsym p4, DATA_ADDR_2, 0xc8; + loadsym p5, DATA_ADDR_1, 0x00; + loadsym fp, DATA_ADDR_2, 0xc8; + loadsym i3, DATA_ADDR_1, 0x00; + P3 = I1; SP = I3; + + W [ P1 + 0x1002 ] = R0; + W [ P1 + 0x1004 ] = R1; + W [ P1 + 0x1006 ] = R2; + W [ P1 + 0x1008 ] = R3; + W [ P2 + -0x1010 ] = R4; + W [ P2 + -0x1022 ] = R5; + W [ P2 + -0x1034 ] = R6; + W [ P2 + -0x1046 ] = R7; + R6 = W [ P1 + 0x1002 ] (Z); + R5 = W [ P1 + 0x1004 ] (Z); + R4 = W [ P1 + 0x1006 ] (Z); + R3 = W [ P1 + 0x1008 ] (Z); + R2 = W [ P2 + -0x1010 ] (Z); + R7 = W [ P2 + -0x1022 ] (Z); + R0 = W [ P2 + -0x1034 ] (Z); + R1 = W [ P2 + -0x1046 ] (Z); + CHECKREG r0, 0x0000B0A6; + CHECKREG r1, 0x0000C0A7; + CHECKREG r2, 0x000090A4; + CHECKREG r3, 0x000080A3; + CHECKREG r4, 0x000070A2; + CHECKREG r5, 0x000060A1; + CHECKREG r6, 0x000050A0; + CHECKREG r7, 0x0000A0A5; + + imm32 r0, 0x10bf50b0; + imm32 r1, 0x20be60b1; + imm32 r2, 0x30bd70b2; + imm32 r3, 0x40bc80b3; + imm32 r4, 0x55bb90b4; + imm32 r5, 0x60baa0b5; + imm32 r6, 0x70b9b0b6; + imm32 r7, 0x80b8c0b7; + W [ P3 + 0x1018 ] = R0; + W [ P3 + 0x1020 ] = R1; + W [ P3 + 0x1022 ] = R2; + W [ P3 + 0x1024 ] = R3; + W [ P4 + -0x1026 ] = R4; + W [ P4 + -0x1028 ] = R5; + W [ P4 + -0x1030 ] = R6; + W [ P4 + -0x1052 ] = R7; + R3 = W [ P3 + 0x1018 ] (Z); + R4 = W [ P3 + 0x1020 ] (Z); + R0 = W [ P3 + 0x1022 ] (Z); + R1 = W [ P3 + 0x1024 ] (Z); + R2 = W [ P4 + -0x1026 ] (Z); + R5 = W [ P4 + -0x1028 ] (Z); + R6 = W [ P4 + -0x1030 ] (Z); + R7 = W [ P4 + -0x1052 ] (Z); + CHECKREG r0, 0x000070B2; + CHECKREG r1, 0x000080B3; + CHECKREG r2, 0x000090B4; + CHECKREG r3, 0x000050B0; + CHECKREG r4, 0x000060B1; + CHECKREG r5, 0x0000A0B5; + CHECKREG r6, 0x0000B0B6; + CHECKREG r7, 0x0000C0B7; + +// 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; + W [ P5 + 0x1034 ] = R0; + W [ P5 + 0x1036 ] = R1; + W [ P5 + 0x1038 ] = R2; + W [ P5 + 0x1040 ] = R3; + W [ SP + -0x1042 ] = R4; + W [ SP + -0x1054 ] = R5; + W [ SP + -0x1066 ] = R6; + W [ SP + -0x1078 ] = R7; + R6 = W [ P5 + 0x1034 ] (Z); + R5 = W [ P5 + 0x1036 ] (Z); + R4 = W [ P5 + 0x1038 ] (Z); + R3 = W [ P5 + 0x1040 ] (Z); + R2 = W [ SP + -0x1042 ] (Z); + R0 = W [ SP + -0x1054 ] (Z); + R7 = W [ SP + -0x1066 ] (Z); + R1 = W [ SP + -0x1078 ] (Z); + CHECKREG r0, 0x0000A0C5; + CHECKREG r1, 0x0000C0C7; + CHECKREG r2, 0x000090C4; + CHECKREG r3, 0x000080C3; + CHECKREG r4, 0x000070C2; + CHECKREG r5, 0x000060C1; + CHECKREG r6, 0x000050C0; + +// 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; + W [ FP + 0x1050 ] = R0; + W [ FP + 0x1052 ] = R1; + W [ FP + 0x1054 ] = R2; + W [ FP + 0x1056 ] = R3; + W [ FP + 0x1058 ] = R4; + W [ FP + 0x1060 ] = R5; + W [ FP + 0x1062 ] = R6; + W [ FP + 0x1064 ] = R7; + R3 = W [ FP + 0x1050 ] (Z); + R4 = W [ FP + 0x1052 ] (Z); + R0 = W [ FP + 0x1054 ] (Z); + R1 = W [ FP + 0x1056 ] (Z); + R2 = W [ FP + 0x1058 ] (Z); + R5 = W [ FP + 0x1060 ] (Z); + R6 = W [ FP + 0x1062 ] (Z); + R7 = W [ FP + 0x1064 ] (Z); + CHECKREG r0, 0x000070D2; + CHECKREG r1, 0x000080D3; + CHECKREG r2, 0x000090D4; + CHECKREG r3, 0x000050D0; + CHECKREG r4, 0x000060D1; + CHECKREG r5, 0x0000A0D5; + CHECKREG r6, 0x0000B0D6; + CHECKREG r7, 0x0000C0D7; + + P3 = I0; SP = I2; + pass + +// Pre-load memory with known data +// More data is defined than will actually be used + + .data + .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 + +DATA_ADDR_2: + .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 + +DATA_ADDR_3: + .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_4: + .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 + +DATA_ADDR_5: + .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 + +DATA_ADDR_6: + .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 0x5C5D5E5F + .dd 0x60616263 + .dd 0x64656667 + .dd 0x68696A6B + .dd 0x6C6D6E6F + .dd 0x70717273 + .dd 0x74757677 + .dd 0x78797A7B + .dd 0x7C7D7E7F + +DATA_ADDR_7: + .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); |