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