qemu/tests/cris/check_btst.s

97 lines
1.2 KiB
ArmAsm
Raw Normal View History

# mach: crisv0 crisv3 crisv8 crisv10 crisv32
# output: 1111\n
.include "testutils.inc"
start
clearf nzvc
moveq -1,r3
.if 1 ;..asm.arch.cris.v32
.else
setf vc
.endif
btstq 0,r3
test_cc 1 0 0 0
moveq 2,r3
btstq 1,r3
test_cc 1 0 0 0
moveq 4,r3
btstq 1,r3
test_cc 0 1 0 0
moveq -1,r3
btstq 31,r3
test_cc 1 0 0 0
move.d 0x5a67f19f,r3
btstq 12,r3
test_cc 1 0 0 0
move.d 0xda67f19f,r3
move.d 29,r4
btst r4,r3
test_cc 0 0 0 0
move.d 0xda67f19f,r3
move.d 32,r4
btst r4,r3
test_cc 1 0 0 0
move.d 0xda67f191,r3
move.d 33,r4
btst r4,r3
test_cc 0 0 0 0
moveq -1,r3
moveq 0,r4
btst r4,r3
test_cc 1 0 0 0
moveq 2,r3
moveq 1,r4
btst r4,r3
test_cc 1 0 0 0
moveq -1,r3
moveq 31,r4
btst r4,r3
test_cc 1 0 0 0
moveq 4,r3
btstq 1,r3
test_cc 0 1 0 0
moveq -1,r3
moveq 15,r4
btst r4,r3
test_cc 1 0 0 0
move.d 0x5a67f19f,r3
moveq 12,r4
btst r4,r3
test_cc 1 0 0 0
move.d 0x5a678000,r3
moveq 11,r4
btst r4,r3
test_cc 0 1 0 0
move.d 0x5a67f19f,r3
btst r3,r3
test_cc 0 0 0 0
move.d 0x1111,r3
checkr3 1111
; check that X gets cleared and that only the NZ flags are touched.
move.d 0xff, $r0
move $r0, $ccs
btst r3,r3
move $ccs, $r0
and.d 0xff, $r0
cmp.d 0xe3, $r0
test_cc 0 1 0 0
quit