qemu/tests/tcg/cris/bare/check_mulx.s
Alex Bennée f17365f518 tests/tcg/cris: align mul operations
To avoid:

  Error: dangerous MULS/MULU location; give it higher alignment

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

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