mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
44 lines
620 B
ArmAsm
44 lines
620 B
ArmAsm
|
# Blackfin testcase for MMR exceptions in a lower EVT
|
||
|
# mach: bfin
|
||
|
# sim: --environment operating
|
||
|
|
||
|
.include "testutils.inc"
|
||
|
|
||
|
start
|
||
|
|
||
|
imm32 P0, 0xFFE02000
|
||
|
loadsym R1, _evx
|
||
|
[P0 + (4 * 3)] = R1;
|
||
|
loadsym R1, _ivg9
|
||
|
[P0 + (4 * 9)] = R1;
|
||
|
CSYNC;
|
||
|
|
||
|
RETI = R1;
|
||
|
RAISE 9;
|
||
|
R0 = -1;
|
||
|
STI R0;
|
||
|
RTI;
|
||
|
dbg_fail
|
||
|
|
||
|
_ivg9:
|
||
|
# Invalid MMR
|
||
|
imm32 P0, 0xFFEE0000
|
||
|
1: [P0] = R0;
|
||
|
9: dbg_fail
|
||
|
|
||
|
_evx:
|
||
|
# Make sure SEQSTAT is set to correct value
|
||
|
R0 = SEQSTAT;
|
||
|
R0 = R0.B;
|
||
|
R1 = 0x2e (x);
|
||
|
CC = R0 == R1;
|
||
|
IF !CC JUMP 9b;
|
||
|
|
||
|
# Make sure RETX is set to correct address
|
||
|
loadsym R0, 1b;
|
||
|
R1 = RETX;
|
||
|
CC = R0 == R1;
|
||
|
IF !CC JUMP 9b;
|
||
|
|
||
|
dbg_pass
|