1# mach(): m32r m32rx
2# sim: --environment virtual
3# output(): pass\n
4
5	.include "testutils.inc"
6
7	start
8
9; construct bra trap2_handler in trap 2 slot
10	ld24 r0,#bra_insn
11	ld r0,@r0
12	ld24 r1,#trap2_handler
13	addi r1,#-0x48 ; pc relative address from trap 2 slot to handler
14	srai r1,#2
15	or r0,r1
16	ld24 r2,#0x48 ; address of trap 2 slot
17	st r0,@r2
18
19; perform trap
20	ldi r4,#0
21	trap #2
22	test_h_gr r4,42
23
24	pass
25
26; trap 2 handler
27trap2_handler:
28	ldi r4,#42
29	rte
30
31bra_insn:
32	bra.l 0
33