# 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 |