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.
88 lines
1.6 KiB
ArmAsm
88 lines
1.6 KiB
ArmAsm
#include "macros.inc"
|
|
|
|
test_suite mul16
|
|
|
|
#if XCHAL_HAVE_MUL16
|
|
|
|
test mul16u_pp
|
|
movi a2, 0x137f5a5a
|
|
mov a3, a2
|
|
movi a4, 0xa5a5137f
|
|
movi a6, 0x06e180a6
|
|
mul16u a5, a2, a4
|
|
assert eq, a5, a6
|
|
mul16u a2, a2, a4
|
|
assert eq, a2, a6
|
|
mul16u a3, a4, a3
|
|
assert eq, a3, a6
|
|
test_end
|
|
|
|
test mul16u_np
|
|
movi a2, 0x137fa5a5
|
|
mov a3, a2
|
|
movi a4, 0xa5a5137f
|
|
movi a6, 0x0c9d6bdb
|
|
mul16u a5, a2, a4
|
|
assert eq, a5, a6
|
|
mul16u a2, a2, a4
|
|
assert eq, a2, a6
|
|
mul16u a3, a4, a3
|
|
assert eq, a3, a6
|
|
test_end
|
|
|
|
test mul16u_nn
|
|
movi a2, 0x137fa5a5
|
|
mov a3, a2
|
|
movi a4, 0xa5a5f731
|
|
movi a6, 0x9ff1e795
|
|
mul16u a5, a2, a4
|
|
assert eq, a5, a6
|
|
mul16u a2, a2, a4
|
|
assert eq, a2, a6
|
|
mul16u a3, a4, a3
|
|
assert eq, a3, a6
|
|
test_end
|
|
|
|
test mul16s_pp
|
|
movi a2, 0x137f5a5a
|
|
mov a3, a2
|
|
movi a4, 0xa5a5137f
|
|
movi a6, 0x06e180a6
|
|
mul16s a5, a2, a4
|
|
assert eq, a5, a6
|
|
mul16s a2, a2, a4
|
|
assert eq, a2, a6
|
|
mul16s a3, a4, a3
|
|
assert eq, a3, a6
|
|
test_end
|
|
|
|
test mul16s_np
|
|
movi a2, 0x137fa5a5
|
|
mov a3, a2
|
|
movi a4, 0xa5a5137f
|
|
movi a6, 0xf91e6bdb
|
|
mul16s a5, a2, a4
|
|
assert eq, a5, a6
|
|
mul16s a2, a2, a4
|
|
assert eq, a2, a6
|
|
mul16s a3, a4, a3
|
|
assert eq, a3, a6
|
|
test_end
|
|
|
|
test mul16s_nn
|
|
movi a2, 0x137fa5a5
|
|
mov a3, a2
|
|
movi a4, 0xa5a5f731
|
|
movi a6, 0x031be795
|
|
mul16s a5, a2, a4
|
|
assert eq, a5, a6
|
|
mul16s a2, a2, a4
|
|
assert eq, a2, a6
|
|
mul16s a3, a4, a3
|
|
assert eq, a3, a6
|
|
test_end
|
|
|
|
#endif
|
|
|
|
test_suite_end
|