//Original:/proj/frio/dv/testcases/seq/se_kills2/se_kills2.dsp // Description: Test se_kill for all supported types of RTL1 instructions # mach: bfin # sim: --environment operating #include "test.h" .include "testutils.inc" start // // Constants and Defines // include(selfcheck.inc) include(std.inc) include(symtable.inc) #ifndef STACKSIZE #define STACKSIZE 0x10 #endif // // Reset/Bootstrap Code // (Here we should set the processor operating modes, initialize registers, // etc.) // BOOT: SP = 0 (Z); SP.L = KSTACK; // setup the stack pointer SP.H = KSTACK; FP = SP; // and frame pointer INIT_R_REGS(0); // initialize general purpose regs INIT_P_REGS(0); // initialize the pointers INIT_I_REGS(0); // initialize the dsp address regs INIT_M_REGS(0); INIT_L_REGS(0); INIT_B_REGS(0); ASTAT = r0; // reset sequencer registers // // The Main Program // START: // **** YOUR CODE GOES HERE **** // CHECK_INIT(p0, 0xFF7FFFFC); // original CHECK_INIT_DEF(p0); R0 = 0; R1 = 1; R2 = 2; R3 = 3; R4 = 4; R5 = 5; R6 = 6; R7 = 7; P1 = 11; // Assume CC is reset to 0. IF !CC JUMP NEXT1; // following instruction should be killed RAISE 13; NEXT1: IF !CC JUMP NEXT2; EXCPT 15; NEXT2: IF !CC JUMP NEXT3; ( R7:0, P5:0 ) = [ SP ++ ]; NEXT3: IF !CC JUMP NEXT4; [ -- SP ] = ( R7:0, P5:0 ); NEXT4: IF !CC JUMP NEXT5; EMUEXCPT; NEXT5: IF !CC JUMP NEXT6; .dd 0xFACEBABE NEXT6: IF !CC JUMP NEXT7; LINK 12; NEXT7: IF !CC JUMP NEXT8; UNLINK; NEXT8: IF !CC JUMP NEXT9; LSETUP (NEXT10, NEXT11) lc0 = p0; NEXT9: IF !CC JUMP NEXT10; NEXT10: IF !CC JUMP NEXT11; NEXT11: IF !CC JUMP NEXT12; NEXT12: IF !CC JUMP NEXT13; NEXT13: IF !CC JUMP NEXT14; NEXT14: IF !CC JUMP NEXT15; NEXT15: IF !CC JUMP NEXT16; NEXT16: END: CHECKREG(r0, 0); CHECKREG(r1, 1); CHECKREG(r2, 2); CHECKREG(r3, 3); CHECKREG(r4, 4); CHECKREG(r5, 5); CHECKREG(r6, 6); CHECKREG(r7, 7); dbg_pass; // Call Endtest Macro //********************************************************************* // // Data Segment // //.data 0xF0000000 .data DATA: .space (0x010); // Some data space // Stack Segments .space (STACKSIZE); KSTACK: