xref: /qemu/tests/tcg/xtensa/test_mul16.S (revision 4179575898fcc17c5e67306a357b8dfe64122e8e)
1a2e67072SMax Filippov#include "macros.inc"
27d890b40SMax Filippov
37d890b40SMax Filippovtest_suite mul16
47d890b40SMax Filippov
5*50f0171aSMax Filippov#if XCHAL_HAVE_MUL16
6*50f0171aSMax Filippov
77d890b40SMax Filippovtest mul16u_pp
87d890b40SMax Filippov    movi    a2, 0x137f5a5a
97d890b40SMax Filippov    mov     a3, a2
107d890b40SMax Filippov    movi    a4, 0xa5a5137f
117d890b40SMax Filippov    movi    a6, 0x06e180a6
127d890b40SMax Filippov    mul16u  a5, a2, a4
137d890b40SMax Filippov    assert  eq, a5, a6
147d890b40SMax Filippov    mul16u  a2, a2, a4
157d890b40SMax Filippov    assert  eq, a2, a6
167d890b40SMax Filippov    mul16u  a3, a4, a3
177d890b40SMax Filippov    assert  eq, a3, a6
187d890b40SMax Filippovtest_end
197d890b40SMax Filippov
207d890b40SMax Filippovtest mul16u_np
217d890b40SMax Filippov    movi    a2, 0x137fa5a5
227d890b40SMax Filippov    mov     a3, a2
237d890b40SMax Filippov    movi    a4, 0xa5a5137f
247d890b40SMax Filippov    movi    a6, 0x0c9d6bdb
257d890b40SMax Filippov    mul16u  a5, a2, a4
267d890b40SMax Filippov    assert  eq, a5, a6
277d890b40SMax Filippov    mul16u  a2, a2, a4
287d890b40SMax Filippov    assert  eq, a2, a6
297d890b40SMax Filippov    mul16u  a3, a4, a3
307d890b40SMax Filippov    assert  eq, a3, a6
317d890b40SMax Filippovtest_end
327d890b40SMax Filippov
337d890b40SMax Filippovtest mul16u_nn
347d890b40SMax Filippov    movi    a2, 0x137fa5a5
357d890b40SMax Filippov    mov     a3, a2
367d890b40SMax Filippov    movi    a4, 0xa5a5f731
377d890b40SMax Filippov    movi    a6, 0x9ff1e795
387d890b40SMax Filippov    mul16u  a5, a2, a4
397d890b40SMax Filippov    assert  eq, a5, a6
407d890b40SMax Filippov    mul16u  a2, a2, a4
417d890b40SMax Filippov    assert  eq, a2, a6
427d890b40SMax Filippov    mul16u  a3, a4, a3
437d890b40SMax Filippov    assert  eq, a3, a6
447d890b40SMax Filippovtest_end
457d890b40SMax Filippov
467d890b40SMax Filippovtest mul16s_pp
477d890b40SMax Filippov    movi    a2, 0x137f5a5a
487d890b40SMax Filippov    mov     a3, a2
497d890b40SMax Filippov    movi    a4, 0xa5a5137f
507d890b40SMax Filippov    movi    a6, 0x06e180a6
517d890b40SMax Filippov    mul16s  a5, a2, a4
527d890b40SMax Filippov    assert  eq, a5, a6
537d890b40SMax Filippov    mul16s  a2, a2, a4
547d890b40SMax Filippov    assert  eq, a2, a6
557d890b40SMax Filippov    mul16s  a3, a4, a3
567d890b40SMax Filippov    assert  eq, a3, a6
577d890b40SMax Filippovtest_end
587d890b40SMax Filippov
597d890b40SMax Filippovtest mul16s_np
607d890b40SMax Filippov    movi    a2, 0x137fa5a5
617d890b40SMax Filippov    mov     a3, a2
627d890b40SMax Filippov    movi    a4, 0xa5a5137f
637d890b40SMax Filippov    movi    a6, 0xf91e6bdb
647d890b40SMax Filippov    mul16s  a5, a2, a4
657d890b40SMax Filippov    assert  eq, a5, a6
667d890b40SMax Filippov    mul16s  a2, a2, a4
677d890b40SMax Filippov    assert  eq, a2, a6
687d890b40SMax Filippov    mul16s  a3, a4, a3
697d890b40SMax Filippov    assert  eq, a3, a6
707d890b40SMax Filippovtest_end
717d890b40SMax Filippov
727d890b40SMax Filippovtest mul16s_nn
737d890b40SMax Filippov    movi    a2, 0x137fa5a5
747d890b40SMax Filippov    mov     a3, a2
757d890b40SMax Filippov    movi    a4, 0xa5a5f731
767d890b40SMax Filippov    movi    a6, 0x031be795
777d890b40SMax Filippov    mul16s  a5, a2, a4
787d890b40SMax Filippov    assert  eq, a5, a6
797d890b40SMax Filippov    mul16s  a2, a2, a4
807d890b40SMax Filippov    assert  eq, a2, a6
817d890b40SMax Filippov    mul16s  a3, a4, a3
827d890b40SMax Filippov    assert  eq, a3, a6
837d890b40SMax Filippovtest_end
847d890b40SMax Filippov
85*50f0171aSMax Filippov#endif
86*50f0171aSMax Filippov
877d890b40SMax Filippovtest_suite_end
88