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