1# mach: crisv3 crisv8 crisv10 crisv32
2# output: 31\n
3
4; Check that flag settings in the delay slot for a conditional branch do
5; not affect the branch.
6
7 .include "testutils.inc"
8
9 start
10 moveq 1,r3
11 moveq 0,r4
12
13; 8-bit branches.
14
15 move.d r4,r4
16 bne 0f
17 move.d r3,r3
18 bne 1f
19 move.d r4,r4
20 nop
210:
22 quit
23
241:
25 move.d r3,r3
26 beq 0b
27 move.d r4,r4
28 beq 4f
29 move.d r3,r3
30 nop
31 quit
324:
33 jump 2f
34 nop
35 .space 1000
36
37; 16-bit branches
38
392:
40 move.d r4,r4
41 bne 0b
42 move.d r3,r3
43 bne 3f
44 move.d r4,r4
45 nop
46 quit
47 .space 1000
48
493:
50 move.d r3,r3
51 beq 0b
52 move.d r4,r4
53 beq 4f
54 move.d r3,r3
55 nop
56 quit
57 .space 1000
58
594:
60 move.d 0x31,r3
61 dumpr3
62 quit
63