xref: /openbmc/qemu/tests/tcg/xtensa/test_mul16.S (revision 7f6c3d1a)
1#include "macros.inc"
2
3test_suite mul16
4
5#if XCHAL_HAVE_MUL16
6
7test mul16u_pp
8    movi    a2, 0x137f5a5a
9    mov     a3, a2
10    movi    a4, 0xa5a5137f
11    movi    a6, 0x06e180a6
12    mul16u  a5, a2, a4
13    assert  eq, a5, a6
14    mul16u  a2, a2, a4
15    assert  eq, a2, a6
16    mul16u  a3, a4, a3
17    assert  eq, a3, a6
18test_end
19
20test mul16u_np
21    movi    a2, 0x137fa5a5
22    mov     a3, a2
23    movi    a4, 0xa5a5137f
24    movi    a6, 0x0c9d6bdb
25    mul16u  a5, a2, a4
26    assert  eq, a5, a6
27    mul16u  a2, a2, a4
28    assert  eq, a2, a6
29    mul16u  a3, a4, a3
30    assert  eq, a3, a6
31test_end
32
33test mul16u_nn
34    movi    a2, 0x137fa5a5
35    mov     a3, a2
36    movi    a4, 0xa5a5f731
37    movi    a6, 0x9ff1e795
38    mul16u  a5, a2, a4
39    assert  eq, a5, a6
40    mul16u  a2, a2, a4
41    assert  eq, a2, a6
42    mul16u  a3, a4, a3
43    assert  eq, a3, a6
44test_end
45
46test mul16s_pp
47    movi    a2, 0x137f5a5a
48    mov     a3, a2
49    movi    a4, 0xa5a5137f
50    movi    a6, 0x06e180a6
51    mul16s  a5, a2, a4
52    assert  eq, a5, a6
53    mul16s  a2, a2, a4
54    assert  eq, a2, a6
55    mul16s  a3, a4, a3
56    assert  eq, a3, a6
57test_end
58
59test mul16s_np
60    movi    a2, 0x137fa5a5
61    mov     a3, a2
62    movi    a4, 0xa5a5137f
63    movi    a6, 0xf91e6bdb
64    mul16s  a5, a2, a4
65    assert  eq, a5, a6
66    mul16s  a2, a2, a4
67    assert  eq, a2, a6
68    mul16s  a3, a4, a3
69    assert  eq, a3, a6
70test_end
71
72test mul16s_nn
73    movi    a2, 0x137fa5a5
74    mov     a3, a2
75    movi    a4, 0xa5a5f731
76    movi    a6, 0x031be795
77    mul16s  a5, a2, a4
78    assert  eq, a5, a6
79    mul16s  a2, a2, a4
80    assert  eq, a2, a6
81    mul16s  a3, a4, a3
82    assert  eq, a3, a6
83test_end
84
85#endif
86
87test_suite_end
88