qemu/tests/tcg/cris/bare/check_addcv17.s
Alex Bennée d4f6e58fcb tests/tcg: split cris tests into bare and libc directories
Bare tests are standalone assembly tests that don't require linking to
any libc and hence can be built with kernel only compilers. The libc
tests need a compiler capable of building properly linked userspace
binaries. As we don't have such a cross compiler at the moment we
won't be building those tests.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-03-12 17:05:21 +00:00

66 lines
810 B
ArmAsm

# mach: crisv17
.include "testutils.inc"
.macro addc Rs Rd inc=0
# Create the instruction manually since there is no assembler support yet
.word (\Rd << 12) | \Rs | (\inc << 10) | 0x09a0
.endm
start
.data
mem1:
.dword 0x0
mem2:
.dword 0x12345678
.text
move.d mem1,r4
clearf nzvc
addc 4 3
test_cc 0 1 0 0
checkr3 0
move.d mem1,r4
clearf nzvc
ax
addc 4 3
test_cc 0 0 0 0
checkr3 0
move.d mem1,r4
clearf nzvc
setf c
addc 4 3
test_cc 0 0 0 0
checkr3 1
move.d mem2,r4
moveq 2, r3
clearf nzvc
setf c
addc 4 3
test_cc 0 0 0 0
checkr3 1234567b
move.d mem2,r5
clearf nzvc
cmp.d r4,r5
test_cc 0 1 0 0
move.d mem2,r4
moveq 2, r3
clearf nzvc
addc 4 3 inc=1
test_cc 0 0 0 0
checkr3 1234567a
move.d mem2,r5
clearf nzvc
addq 4,r5
cmp.d r4,r5
test_cc 0 1 0 0
quit