mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
1368b914e9
Now that all port tests live under testsuite/sim/*/, and none live in testsuite/ directly, flatten the structure by moving all of the dirs under testsuite/sim/ to testsuite/ directly. We need to stop passing --tool to dejagnu so that it searches all dirs and not just ones that start with "sim". Since we have no other dirs in this tree, and no plans to add any, should be fine.
149 lines
2.2 KiB
ArmAsm
149 lines
2.2 KiB
ArmAsm
//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:
|