forked from mirror/qemu
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
258 lines
3.6 KiB
ArmAsm
258 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
|
|
|
|
.align 4
|
|
moveq -1,r3
|
|
moveq 2,r4
|
|
muls.d r4,r3
|
|
test_cc 1 0 0 0
|
|
checkr3 fffffffe
|
|
move mof,r3
|
|
checkr3 ffffffff
|
|
|
|
.align 4
|
|
moveq -1,r3
|
|
moveq 2,r4
|
|
mulu.d r4,r3
|
|
test_cc 0 0 1 0
|
|
checkr3 fffffffe
|
|
move mof,r3
|
|
checkr3 1
|
|
|
|
.align 4
|
|
moveq 2,r3
|
|
moveq -1,r4
|
|
muls.d r4,r3
|
|
test_cc 1 0 0 0
|
|
checkr3 fffffffe
|
|
move mof,r3
|
|
checkr3 ffffffff
|
|
|
|
.align 4
|
|
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
|
|
nop
|
|
|
|
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
|
|
nop
|
|
|
|
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
|
|
nop
|
|
|
|
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
|
|
nop
|
|
|
|
moveq -1,r4
|
|
move.d r4,r3
|
|
mulu.b r4,r3
|
|
test_cc 0 0 0 0
|
|
checkr3 fe01
|
|
move mof,r3
|
|
checkr3 0
|
|
nop
|
|
|
|
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
|
|
nop
|
|
|
|
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
|