historical/m0-applesillicon.git/xnu-qemu-arm64-5.1.0/tests/tcg/cris/bare/check_btst.s
2024-01-16 11:20:27 -06:00

96 lines
1.2 KiB
ArmAsm

# 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