xref: /openbmc/qemu/tests/tcg/xtensa/test_rst0.S (revision 4179575898fcc17c5e67306a357b8dfe64122e8e)
1a2e67072SMax Filippov#include "macros.inc"
2c09015ddSAnthony Liguori
3c09015ddSAnthony Liguoritest_suite rst0
4c09015ddSAnthony Liguori
5c09015ddSAnthony Liguoritest and
6c09015ddSAnthony Liguori    movi    a2, 0x137fa5a5
7c09015ddSAnthony Liguori    mov     a3, a2
8c09015ddSAnthony Liguori    movi    a4, 0xa5a5137f
9c09015ddSAnthony Liguori    movi    a6, 0x01250125
10c09015ddSAnthony Liguori    and     a5, a2, a4
11c09015ddSAnthony Liguori    assert  eq, a5, a6
12c09015ddSAnthony Liguori    and     a2, a2, a4
13c09015ddSAnthony Liguori    assert  eq, a2, a6
14c09015ddSAnthony Liguori    and     a3, a4, a3
15c09015ddSAnthony Liguori    assert  eq, a3, a6
16c09015ddSAnthony Liguoritest_end
17c09015ddSAnthony Liguori
18c09015ddSAnthony Liguoritest or
19c09015ddSAnthony Liguori    movi    a2, 0x137fa5a5
20c09015ddSAnthony Liguori    mov     a3, a2
21c09015ddSAnthony Liguori    movi    a4, 0xa5a5137f
22c09015ddSAnthony Liguori    movi    a6, 0xb7ffb7ff
23c09015ddSAnthony Liguori    or      a5, a2, a4
24c09015ddSAnthony Liguori    assert  eq, a5, a6
25c09015ddSAnthony Liguori    or      a2, a2, a4
26c09015ddSAnthony Liguori    assert  eq, a2, a6
27c09015ddSAnthony Liguori    or      a3, a4, a3
28c09015ddSAnthony Liguori    assert  eq, a3, a6
29c09015ddSAnthony Liguoritest_end
30c09015ddSAnthony Liguori
31c09015ddSAnthony Liguoritest xor
32c09015ddSAnthony Liguori    movi    a2, 0x137fa5a5
33c09015ddSAnthony Liguori    mov     a3, a2
34c09015ddSAnthony Liguori    movi    a4, 0xa5a5137f
35c09015ddSAnthony Liguori    movi    a6, 0xb6dab6da
36c09015ddSAnthony Liguori    xor     a5, a2, a4
37c09015ddSAnthony Liguori    assert  eq, a5, a6
38c09015ddSAnthony Liguori    xor     a2, a2, a4
39c09015ddSAnthony Liguori    assert  eq, a2, a6
40c09015ddSAnthony Liguori    xor     a3, a4, a3
41c09015ddSAnthony Liguori    assert  eq, a3, a6
42c09015ddSAnthony Liguoritest_end
43c09015ddSAnthony Liguori
44c09015ddSAnthony Liguoritest add
45c09015ddSAnthony Liguori    movi    a2, 0x137fa5a5
46c09015ddSAnthony Liguori    mov     a3, a2
47c09015ddSAnthony Liguori    movi    a4, 0xa5a5137f
48c09015ddSAnthony Liguori    movi    a6, 0xb924b924
49c09015ddSAnthony Liguori    add     a5, a2, a4
50c09015ddSAnthony Liguori    assert  eq, a5, a6
51c09015ddSAnthony Liguori    add     a2, a2, a4
52c09015ddSAnthony Liguori    assert  eq, a2, a6
53c09015ddSAnthony Liguori    add     a4, a3, a4
54c09015ddSAnthony Liguori    assert  eq, a4, a6
55c09015ddSAnthony Liguoritest_end
56c09015ddSAnthony Liguori
57*50f0171aSMax Filippov#if XCHAL_HAVE_ADDX
58*50f0171aSMax Filippov
59c09015ddSAnthony Liguoritest addx2
60c09015ddSAnthony Liguori    movi    a2, 0x137fa5a5
61c09015ddSAnthony Liguori    mov     a3, a2
62c09015ddSAnthony Liguori    movi    a4, 0xa5a5137f
63c09015ddSAnthony Liguori    movi    a6, 0xcca45ec9
64c09015ddSAnthony Liguori    addx2   a5, a2, a4
65c09015ddSAnthony Liguori    assert  eq, a5, a6
66c09015ddSAnthony Liguori    addx2   a2, a2, a4
67c09015ddSAnthony Liguori    assert  eq, a2, a6
68c09015ddSAnthony Liguori    addx2   a4, a3, a4
69c09015ddSAnthony Liguori    assert  eq, a4, a6
70c09015ddSAnthony Liguoritest_end
71c09015ddSAnthony Liguori
72c09015ddSAnthony Liguoritest addx4
73c09015ddSAnthony Liguori    movi    a2, 0x137fa5a5
74c09015ddSAnthony Liguori    mov     a3, a2
75c09015ddSAnthony Liguori    movi    a4, 0xa5a5137f
76c09015ddSAnthony Liguori    movi    a6, 0xf3a3aa13
77c09015ddSAnthony Liguori    addx4   a5, a2, a4
78c09015ddSAnthony Liguori    assert  eq, a5, a6
79c09015ddSAnthony Liguori    addx4   a2, a2, a4
80c09015ddSAnthony Liguori    assert  eq, a2, a6
81c09015ddSAnthony Liguori    addx4   a4, a3, a4
82c09015ddSAnthony Liguori    assert  eq, a4, a6
83c09015ddSAnthony Liguoritest_end
84c09015ddSAnthony Liguori
85c09015ddSAnthony Liguoritest addx8
86c09015ddSAnthony Liguori    movi    a2, 0x137fa5a5
87c09015ddSAnthony Liguori    mov     a3, a2
88c09015ddSAnthony Liguori    movi    a4, 0xa5a5137f
89c09015ddSAnthony Liguori    movi    a6, 0x41a240a7
90c09015ddSAnthony Liguori    addx8   a5, a2, a4
91c09015ddSAnthony Liguori    assert  eq, a5, a6
92c09015ddSAnthony Liguori    addx8   a2, a2, a4
93c09015ddSAnthony Liguori    assert  eq, a2, a6
94c09015ddSAnthony Liguori    addx8   a4, a3, a4
95c09015ddSAnthony Liguori    assert  eq, a4, a6
96c09015ddSAnthony Liguoritest_end
97c09015ddSAnthony Liguori
98*50f0171aSMax Filippov#endif
99*50f0171aSMax Filippov
100c09015ddSAnthony Liguoritest sub
101c09015ddSAnthony Liguori    movi    a2, 0x137fa5a5
102c09015ddSAnthony Liguori    mov     a3, a2
103c09015ddSAnthony Liguori    movi    a4, 0xa5a5137f
104c09015ddSAnthony Liguori    movi    a6, 0x6dda9226
105c09015ddSAnthony Liguori    sub     a5, a2, a4
106c09015ddSAnthony Liguori    assert  eq, a5, a6
107c09015ddSAnthony Liguori    sub     a2, a2, a4
108c09015ddSAnthony Liguori    assert  eq, a2, a6
109c09015ddSAnthony Liguori    sub     a4, a3, a4
110c09015ddSAnthony Liguori    assert  eq, a4, a6
111c09015ddSAnthony Liguoritest_end
112c09015ddSAnthony Liguori
113*50f0171aSMax Filippov#if XCHAL_HAVE_ADDX
114*50f0171aSMax Filippov
115c09015ddSAnthony Liguoritest subx2
116c09015ddSAnthony Liguori    movi    a2, 0x137fa5a5
117c09015ddSAnthony Liguori    mov     a3, a2
118c09015ddSAnthony Liguori    movi    a4, 0xa5a5137f
119c09015ddSAnthony Liguori    movi    a6, 0x815a37cb
120c09015ddSAnthony Liguori    subx2   a5, a2, a4
121c09015ddSAnthony Liguori    assert  eq, a5, a6
122c09015ddSAnthony Liguori    subx2   a2, a2, a4
123c09015ddSAnthony Liguori    assert  eq, a2, a6
124c09015ddSAnthony Liguori    subx2   a4, a3, a4
125c09015ddSAnthony Liguori    assert  eq, a4, a6
126c09015ddSAnthony Liguoritest_end
127c09015ddSAnthony Liguori
128c09015ddSAnthony Liguoritest subx4
129c09015ddSAnthony Liguori    movi    a2, 0x137fa5a5
130c09015ddSAnthony Liguori    mov     a3, a2
131c09015ddSAnthony Liguori    movi    a4, 0xa5a5137f
132c09015ddSAnthony Liguori    movi    a6, 0xa8598315
133c09015ddSAnthony Liguori    subx4   a5, a2, a4
134c09015ddSAnthony Liguori    assert  eq, a5, a6
135c09015ddSAnthony Liguori    subx4   a2, a2, a4
136c09015ddSAnthony Liguori    assert  eq, a2, a6
137c09015ddSAnthony Liguori    subx4   a4, a3, a4
138c09015ddSAnthony Liguori    assert  eq, a4, a6
139c09015ddSAnthony Liguoritest_end
140c09015ddSAnthony Liguori
141c09015ddSAnthony Liguoritest subx8
142c09015ddSAnthony Liguori    movi    a2, 0x137fa5a5
143c09015ddSAnthony Liguori    mov     a3, a2
144c09015ddSAnthony Liguori    movi    a4, 0xa5a5137f
145c09015ddSAnthony Liguori    movi    a6, 0xf65819a9
146c09015ddSAnthony Liguori    subx8   a5, a2, a4
147c09015ddSAnthony Liguori    assert  eq, a5, a6
148c09015ddSAnthony Liguori    subx8   a2, a2, a4
149c09015ddSAnthony Liguori    assert  eq, a2, a6
150c09015ddSAnthony Liguori    subx8   a4, a3, a4
151c09015ddSAnthony Liguori    assert  eq, a4, a6
152c09015ddSAnthony Liguoritest_end
153c09015ddSAnthony Liguori
154*50f0171aSMax Filippov#endif
155*50f0171aSMax Filippov
156c09015ddSAnthony Liguoritest_suite_end
157