qemu/tests/tcg/cris/check_bcc.s

198 lines
1.7 KiB
ArmAsm

.global main
.type main, @function
main:
clearf nzvc
setf nzv
bcc 0f
addq 1, $r3
jump dofail
0:
clearf nzvc
setf nzv
bcs dofail
addq 1,$r3
clearf nzvc
setf ncv
bne 1f
addq 1, $r3
fail:
dofail:
jump _fail
1:
clearf nzvc
setf ncv
beq dofail
addq 1,$r3
clearf nzvc
setf ncz
bvc 2f
addq 1,$r3
jump dofail
2:
clearf nzvc
setf ncz
bvs dofail
addq 1,$r3
clearf nzvc
setf vcz
bpl 3f
addq 1,$r3
jump fail
3:
clearf nzvc
setf vcz
bmi dofail
addq 1,$r3
clearf nzvc
setf nv
bls dofail
addq 1,$r3
clearf nzvc
setf nv
bhi 4f
addq 1,$r3
jump dofail
4:
clearf nzvc
setf zc
bge 5f
addq 1,$r3
jump dofail
5:
clearf nzvc
setf zc
blt dofail
addq 1,$r3
clearf nzvc
setf c
bgt 6f
addq 1,$r3
jump fail
6:
clearf nzvc
setf c
ble dofail
addq 1,$r3
;;;;;;;;;;
setf nzvc
clearf nzv
bcc dofail
addq 1,$r3
setf nzvc
clearf nzv
bcs 0f
addq 1,$r3
jump fail
0:
setf nzvc
clearf ncv
bne dofail
addq 1,$r3
setf nzvc
clearf ncv
beq 1f
addq 1,$r3
jump fail
1:
setf nzvc
clearf ncz
bvc dofail
addq 1,$r3
setf nzvc
clearf ncz
bvs 2f
addq 1,$r3
jump fail
2:
setf nzvc
clearf vcz
bpl dofail
addq 1,$r3
setf nzvc
clearf vcz
bmi 3f
addq 1,$r3
jump fail
3:
setf nzvc
clearf nv
bls 4f
addq 1,$r3
jump fail
4:
setf nzvc
clearf nv
bhi dofail
addq 1,$r3
setf zvc
clearf nzc
bge dofail
addq 1,$r3
setf nzc
clearf vzc
blt 5f
addq 1,$r3
jump fail
5:
setf nzvc
clearf c
bgt dofail
addq 1,$r3
setf nzvc
clearf c
ble 6f
addq 1,$r3
jump fail
6:
; do a forward branch.
ba 2f
nop
.fill 100
1:
ba 3f
nop
.fill 800
2:
ba 1b
nop
.fill 1024
3:
moveq 31, $r0
1: bne 1b
subq 1, $r0
jsr pass
moveq 0, $r10
ret
nop