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