qemu/tests/tcg/cris/bare/check_mulx.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

247 lines
3.6 KiB
ArmAsm

# mach: crisv10 crisv32
# output: fffffffe\nffffffff\nfffffffe\n1\nfffffffe\nffffffff\nfffffffe\n1\nfffe0001\n0\nfffe0001\n0\n1\n0\n1\nfffffffe\n193eade2\n277e3a49\n193eade2\n277e3a49\nfffffffe\nffffffff\n1fffe\n0\nfffffffe\nffffffff\n1fffe\n0\n1\n0\nfffe0001\n0\nfdbdade2\nffffffff\n420fade2\n0\nfffffffe\nffffffff\n1fe\n0\nfffffffe\nffffffff\n1fe\n0\n1\n0\nfe01\n0\n1\n0\nfe01\n0\nffffd9e2\nffffffff\n2be2\n0\n0\n0\n0\n0\n
.include "testutils.inc"
start
moveq -1,r3
moveq 2,r4
muls.d r4,r3
test_cc 1 0 0 0
checkr3 fffffffe
move mof,r3
checkr3 ffffffff
moveq -1,r3
moveq 2,r4
mulu.d r4,r3
test_cc 0 0 1 0
checkr3 fffffffe
move mof,r3
checkr3 1
moveq 2,r3
moveq -1,r4
muls.d r4,r3
test_cc 1 0 0 0
checkr3 fffffffe
move mof,r3
checkr3 ffffffff
moveq 2,r3
moveq -1,r4
mulu.d r4,r3
test_cc 0 0 1 0
checkr3 fffffffe
move mof,r3
checkr3 1
move.d 0xffff,r4
move.d r4,r3
muls.d r4,r3
test_cc 0 0 1 0
checkr3 fffe0001
move mof,r3
checkr3 0
move.d 0xffff,r4
move.d r4,r3
mulu.d r4,r3
test_cc 0 0 0 0
checkr3 fffe0001
move mof,r3
checkr3 0
moveq -1,r4
move.d r4,r3
muls.d r4,r3
test_cc 0 0 0 0
checkr3 1
move mof,r3
checkr3 0
moveq -1,r4
move.d r4,r3
mulu.d r4,r3
test_cc 1 0 1 0
checkr3 1
move mof,r3
checkr3 fffffffe
move.d 0x5432f789,r4
move.d 0x78134452,r3
muls.d r4,r3
test_cc 0 0 1 0
checkr3 193eade2
move mof,r3
checkr3 277e3a49
move.d 0x5432f789,r4
move.d 0x78134452,r3
mulu.d r4,r3
test_cc 0 0 1 0
checkr3 193eade2
move mof,r3
checkr3 277e3a49
move.d 0xffff,r3
moveq 2,r4
muls.w r4,r3
test_cc 1 0 0 0
checkr3 fffffffe
move mof,r3
checkr3 ffffffff
moveq -1,r3
moveq 2,r4
mulu.w r4,r3
test_cc 0 0 0 0
checkr3 1fffe
move mof,r3
checkr3 0
moveq 2,r3
move.d 0xffff,r4
muls.w r4,r3
test_cc 1 0 0 0
checkr3 fffffffe
move mof,r3
checkr3 ffffffff
moveq 2,r3
moveq -1,r4
mulu.w r4,r3
test_cc 0 0 0 0
checkr3 1fffe
move mof,r3
checkr3 0
move.d 0xffff,r4
move.d r4,r3
muls.w r4,r3
test_cc 0 0 0 0
checkr3 1
move mof,r3
checkr3 0
moveq -1,r4
move.d r4,r3
mulu.w r4,r3
test_cc 0 0 0 0
checkr3 fffe0001
move mof,r3
checkr3 0
move.d 0x5432f789,r4
move.d 0x78134452,r3
muls.w r4,r3
test_cc 1 0 0 0
checkr3 fdbdade2
move mof,r3
checkr3 ffffffff
move.d 0x5432f789,r4
move.d 0x78134452,r3
mulu.w r4,r3
test_cc 0 0 0 0
checkr3 420fade2
move mof,r3
checkr3 0
move.d 0xff,r3
moveq 2,r4
muls.b r4,r3
test_cc 1 0 0 0
checkr3 fffffffe
move mof,r3
checkr3 ffffffff
moveq -1,r3
moveq 2,r4
mulu.b r4,r3
test_cc 0 0 0 0
checkr3 1fe
move mof,r3
checkr3 0
moveq 2,r3
moveq -1,r4
muls.b r4,r3
test_cc 1 0 0 0
checkr3 fffffffe
move mof,r3
checkr3 ffffffff
moveq 2,r3
moveq -1,r4
mulu.b r4,r3
test_cc 0 0 0 0
checkr3 1fe
move mof,r3
checkr3 0
move.d 0xff,r4
move.d r4,r3
muls.b r4,r3
test_cc 0 0 0 0
checkr3 1
move mof,r3
checkr3 0
moveq -1,r4
move.d r4,r3
mulu.b r4,r3
test_cc 0 0 0 0
checkr3 fe01
move mof,r3
checkr3 0
move.d 0xfeda49ff,r4
move.d r4,r3
muls.b r4,r3
test_cc 0 0 0 0
checkr3 1
move mof,r3
checkr3 0
move.d 0xfeda49ff,r4
move.d r4,r3
mulu.b r4,r3
test_cc 0 0 0 0
checkr3 fe01
move mof,r3
checkr3 0
move.d 0x5432f789,r4
move.d 0x78134452,r3
muls.b r4,r3
test_cc 1 0 0 0
checkr3 ffffd9e2
move mof,r3
checkr3 ffffffff
move.d 0x5432f789,r4
move.d 0x78134452,r3
mulu.b r4,r3
test_cc 0 0 0 0
checkr3 2be2
move mof,r3
checkr3 0
moveq 0,r3
move.d 0xf87f4aeb,r4
muls.d r4,r3
test_cc 0 1 0 0
checkr3 0
move mof,r3
checkr3 0
move.d 0xf87f4aeb,r3
moveq 0,r4
mulu.d r4,r3
test_cc 0 1 0 0
checkr3 0
move mof,r3
checkr3 0
quit