73 lines
1.3 KiB
ArmAsm
73 lines
1.3 KiB
ArmAsm
#include "macros.inc"
|
|
|
|
test_suite sext
|
|
|
|
#if XCHAL_HAVE_SEXT
|
|
|
|
test sext
|
|
movi a2, 0xffffff5a
|
|
movi a3, 0x0000005a
|
|
sext a4, a2, 7
|
|
assert eq, a3, a4
|
|
|
|
movi a2, 0x000000a5
|
|
movi a3, 0xffffffa5
|
|
sext a4, a2, 7
|
|
assert eq, a3, a4
|
|
|
|
movi a2, 0xfffffaa5
|
|
movi a3, 0x000000a5
|
|
sext a4, a2, 8
|
|
assert eq, a3, a4
|
|
|
|
movi a2, 0x0000055a
|
|
movi a3, 0xffffff5a
|
|
sext a4, a2, 8
|
|
assert eq, a3, a4
|
|
|
|
movi a2, 0xffff5a5a
|
|
movi a3, 0x00005a5a
|
|
sext a4, a2, 15
|
|
assert eq, a3, a4
|
|
|
|
movi a2, 0x0000a5a5
|
|
movi a3, 0xffffa5a5
|
|
sext a4, a2, 15
|
|
assert eq, a3, a4
|
|
|
|
movi a2, 0x00055a5a
|
|
movi a3, 0xffff5a5a
|
|
sext a4, a2, 16
|
|
assert eq, a3, a4
|
|
|
|
movi a2, 0x000aa5a5
|
|
movi a3, 0x0000a5a5
|
|
sext a4, a2, 16
|
|
assert eq, a3, a4
|
|
|
|
movi a2, 0x005a5a5a
|
|
movi a3, 0xffda5a5a
|
|
sext a4, a2, 22
|
|
assert eq, a3, a4
|
|
|
|
movi a2, 0xffa5a5a5
|
|
movi a3, 0x0025a5a5
|
|
sext a4, a2, 22
|
|
assert eq, a3, a4
|
|
test_end
|
|
|
|
test sext_same_rs
|
|
movi a2, 0xffffff5a
|
|
movi a3, 0x0000005a
|
|
sext a2, a2, 7
|
|
assert eq, a3, a2
|
|
|
|
movi a2, 0x000000a5
|
|
movi a3, 0xffffffa5
|
|
sext a2, a2, 7
|
|
assert eq, a3, a2
|
|
test_end
|
|
|
|
#endif
|
|
|
|
test_suite_end
|