xref: /qemu/tests/tcg/xtensa/test_sext.S (revision 4179575898fcc17c5e67306a357b8dfe64122e8e)
1a2e67072SMax Filippov#include "macros.inc"
27d890b40SMax Filippov
37d890b40SMax Filippovtest_suite sext
47d890b40SMax Filippov
5*50f0171aSMax Filippov#if XCHAL_HAVE_SEXT
6*50f0171aSMax Filippov
77d890b40SMax Filippovtest sext
87d890b40SMax Filippov    movi    a2, 0xffffff5a
97d890b40SMax Filippov    movi    a3, 0x0000005a
107d890b40SMax Filippov    sext    a4, a2, 7
117d890b40SMax Filippov    assert  eq, a3, a4
127d890b40SMax Filippov
137d890b40SMax Filippov    movi    a2, 0x000000a5
147d890b40SMax Filippov    movi    a3, 0xffffffa5
157d890b40SMax Filippov    sext    a4, a2, 7
167d890b40SMax Filippov    assert  eq, a3, a4
177d890b40SMax Filippov
187d890b40SMax Filippov    movi    a2, 0xfffffaa5
197d890b40SMax Filippov    movi    a3, 0x000000a5
207d890b40SMax Filippov    sext    a4, a2, 8
217d890b40SMax Filippov    assert  eq, a3, a4
227d890b40SMax Filippov
237d890b40SMax Filippov    movi    a2, 0x0000055a
247d890b40SMax Filippov    movi    a3, 0xffffff5a
257d890b40SMax Filippov    sext    a4, a2, 8
267d890b40SMax Filippov    assert  eq, a3, a4
277d890b40SMax Filippov
287d890b40SMax Filippov    movi    a2, 0xffff5a5a
297d890b40SMax Filippov    movi    a3, 0x00005a5a
307d890b40SMax Filippov    sext    a4, a2, 15
317d890b40SMax Filippov    assert  eq, a3, a4
327d890b40SMax Filippov
337d890b40SMax Filippov    movi    a2, 0x0000a5a5
347d890b40SMax Filippov    movi    a3, 0xffffa5a5
357d890b40SMax Filippov    sext    a4, a2, 15
367d890b40SMax Filippov    assert  eq, a3, a4
377d890b40SMax Filippov
387d890b40SMax Filippov    movi    a2, 0x00055a5a
397d890b40SMax Filippov    movi    a3, 0xffff5a5a
407d890b40SMax Filippov    sext    a4, a2, 16
417d890b40SMax Filippov    assert  eq, a3, a4
427d890b40SMax Filippov
437d890b40SMax Filippov    movi    a2, 0x000aa5a5
447d890b40SMax Filippov    movi    a3, 0x0000a5a5
457d890b40SMax Filippov    sext    a4, a2, 16
467d890b40SMax Filippov    assert  eq, a3, a4
477d890b40SMax Filippov
487d890b40SMax Filippov    movi    a2, 0x005a5a5a
497d890b40SMax Filippov    movi    a3, 0xffda5a5a
507d890b40SMax Filippov    sext    a4, a2, 22
517d890b40SMax Filippov    assert  eq, a3, a4
527d890b40SMax Filippov
537d890b40SMax Filippov    movi    a2, 0xffa5a5a5
547d890b40SMax Filippov    movi    a3, 0x0025a5a5
557d890b40SMax Filippov    sext    a4, a2, 22
567d890b40SMax Filippov    assert  eq, a3, a4
577d890b40SMax Filippovtest_end
587d890b40SMax Filippov
597d890b40SMax Filippovtest sext_same_rs
607d890b40SMax Filippov    movi    a2, 0xffffff5a
617d890b40SMax Filippov    movi    a3, 0x0000005a
627d890b40SMax Filippov    sext    a2, a2, 7
637d890b40SMax Filippov    assert  eq, a3, a2
647d890b40SMax Filippov
657d890b40SMax Filippov    movi    a2, 0x000000a5
667d890b40SMax Filippov    movi    a3, 0xffffffa5
677d890b40SMax Filippov    sext    a2, a2, 7
687d890b40SMax Filippov    assert  eq, a3, a2
697d890b40SMax Filippovtest_end
707d890b40SMax Filippov
71*50f0171aSMax Filippov#endif
72*50f0171aSMax Filippov
737d890b40SMax Filippovtest_suite_end
74