1//Original:/proj/frio/dv/testcases/core/c_cactrl_iflush_pr/c_cactrl_iflush_pr.dsp 2// Spec Reference: c_cactrl iflush_pr 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8// initial values 9//p1=0x448; 10//imm32 p1, CODE_ADDR_1; 11 loadsym p1, SUBR1; 12// set all regs 13 14 imm32 r0, 0x13545abd; 15 imm32 r1, 0xadbcfec7; 16 imm32 r2, 0xa1245679; 17 imm32 r3, 0x00060007; 18 imm32 r4, 0xefbc4569; 19 imm32 r5, 0x1235000b; 20 imm32 r6, 0x000c000d; 21 imm32 r7, 0x678e000f; 22// The result accumulated in A0 and A1, and stored to a reg half 23 R2.H = ( A1 = R1.L * R0.H ), A0 = R1.H * R0.L; 24 R3.H = A1 , A0 = R7.H * R6.L (T); 25// begin of iflush 26 IFLUSH [ P1 ]; // p1 = 0xf00 27 R7 = 0; 28 ASTAT = R7; 29 IF !CC JUMP SUBR1; 30JBACK: 31 R6 = 0; 32 33//r4 = (a1 = l*h) M, a0 = h*l (r3,r2); 34//r5 a1 = l*h, = (a0 = h*l) (r1,r0) IS; 35 CHECKREG r2, 0xFFD15679; 36 CHECKREG r3, 0xFFD00007; 37 CHECKREG r4, 0x00074569; 38 CHECKREG r5, 0x12358000; 39 40 pass 41 42//.code 0x448 43//.code CODE_ADDR_1 44SUBR1: 45 R4.H = ( A1 = R3.L * R2.H ) (M), A0 = R3.H * R2.L; 46 A1 = R1.L * R0.H, R5.L = ( A0 = R1.H * R0.L ) (ISS2); 47 IF !CC JUMP JBACK; 48 NOP; NOP; NOP; NOP; NOP; 49 50// Pre-load memory with known data 51// More data is defined than will actually be used 52 53 .data 54DATA_ADDR_1: 55 .dd 0x00010203 56 .dd 0x04050607 57 .dd 0x08090A0B 58 .dd 0x0C0D0E0F 59 .dd 0x10111213 60 .dd 0x14151617 61 .dd 0x18191A1B 62 .dd 0x1C1D1E1F 63 64DATA_ADDR_2: 65 .dd 0x20212223 66 .dd 0x24252627 67 .dd 0x28292A2B 68 .dd 0x2C2D2E2F 69 .dd 0x30313233 70 .dd 0x34353637 71 .dd 0x38393A3B 72 .dd 0x3C3D3E3F 73 74DATA_ADDR_3: 75 .dd 0x40414243 76 .dd 0x44454647 77 .dd 0x48494A4B 78 .dd 0x4C4D4E4F 79 .dd 0x50515253 80 .dd 0x54555657 81 .dd 0x58595A5B 82 .dd 0x5C5D5E5F 83 84DATA_ADDR_4: 85 .dd 0x60616263 86 .dd 0x64656667 87 .dd 0x68696A6B 88 .dd 0x6C6D6E6F 89 .dd 0x70717273 90 .dd 0x74757677 91 .dd 0x78797A7B 92 .dd 0x7C7D7E7F 93 94DATA_ADDR_5: 95 .dd 0x80818283 96 .dd 0x84858687 97 .dd 0x88898A8B 98 .dd 0x8C8D8E8F 99 .dd 0x90919293 100 .dd 0x94959697 101 .dd 0x98999A9B 102 .dd 0x9C9D9E9F 103