xref: /openbmc/qemu/tests/tcg/xtensa/test_flix.S (revision 2fc8d6f8e4d959b05e9225b46dad414bd8f54f88)
1ebbd775aSMax Filippov#include "macros.inc"
2ebbd775aSMax Filippov
3ebbd775aSMax Filippovtest_suite flix
4ebbd775aSMax Filippov
5ebbd775aSMax Filippov#if XCHAL_HAVE_FLIX3
6ebbd775aSMax Filippov
7ebbd775aSMax Filippovtest misc
8ebbd775aSMax Filippov    {
9ebbd775aSMax Filippov        mov     a3, a4
10ebbd775aSMax Filippov        mov     a2, a3
11ebbd775aSMax Filippov        nop
12ebbd775aSMax Filippov    }
13ebbd775aSMax Filippov    {
14ebbd775aSMax Filippov        nop
15ebbd775aSMax Filippov        bne.w18 a2, a3, 1f
16ebbd775aSMax Filippov    }
17ebbd775aSMax Filippov    movi    a2, 1f
18ebbd775aSMax Filippov    {
19ebbd775aSMax Filippov        mov     a2, a3
20ebbd775aSMax Filippov        mov     a3, a2
21ebbd775aSMax Filippov        nop
22ebbd775aSMax Filippov    }
23ebbd775aSMax Filippov    {
24ebbd775aSMax Filippov        l32i    a2, a3, 0
25ebbd775aSMax Filippov        add     a4, a4, a2
26ebbd775aSMax Filippov        nop
27ebbd775aSMax Filippov    }
28ebbd775aSMax Filippov    {
29ebbd775aSMax Filippov        mov     a3, a4
30ebbd775aSMax Filippov        jx      a3
31ebbd775aSMax Filippov        nop
32ebbd775aSMax Filippov    }
33ebbd775aSMax Filippov1:
34ebbd775aSMax Filippovtest_end
35ebbd775aSMax Filippov
36ebbd775aSMax Filippovtest sum
37ebbd775aSMax Filippov
38ebbd775aSMax Filippov    movi    a2, 0
39ebbd775aSMax Filippov    movi    a3, 2f
40ebbd775aSMax Filippov    movi    a4, 0
41ebbd775aSMax Filippov    movi    a5, 4
42ebbd775aSMax Filippov
43ebbd775aSMax Filippov    loop    a5, 1f
44ebbd775aSMax Filippov    {
45ebbd775aSMax Filippov        l32i    a2, a3, 0
46ebbd775aSMax Filippov        addi    a3, a3, 4
47ebbd775aSMax Filippov        add     a4, a4, a2
48ebbd775aSMax Filippov    }
49ebbd775aSMax Filippov1:
50ebbd775aSMax Filippov    add     a4, a4, a2
51ebbd775aSMax Filippov    assert  eqi, a4, 10
52ebbd775aSMax Filippov    .data
53ebbd775aSMax Filippov2:
54ebbd775aSMax Filippov    .word   1, 2, 3, 4
55ebbd775aSMax Filippov    .previous
56ebbd775aSMax Filippovtest_end
57ebbd775aSMax Filippov
58*b9ec5218SMax Filippovtest rep_dependency
59*b9ec5218SMax Filippov
60*b9ec5218SMax Filippov    {
61*b9ec5218SMax Filippov        movi    a2, 1
62*b9ec5218SMax Filippov        movi    a3, 2
63*b9ec5218SMax Filippov        nop
64*b9ec5218SMax Filippov    }
65*b9ec5218SMax Filippov    {
66*b9ec5218SMax Filippov        or      a2, a3, a3
67*b9ec5218SMax Filippov        or      a3, a2, a2
68*b9ec5218SMax Filippov        nop
69*b9ec5218SMax Filippov    }
70*b9ec5218SMax Filippov    assert  eqi, a2, 2
71*b9ec5218SMax Filippov    assert  eqi, a3, 1
72*b9ec5218SMax Filippov
73*b9ec5218SMax Filippovtest_end
74*b9ec5218SMax Filippov
75ebbd775aSMax Filippov#endif
76ebbd775aSMax Filippov
77ebbd775aSMax Filippovtest_suite_end
78