]> git.proxmox.com Git - qemu.git/blob - tests/tcg/xtensa/test_loop.S
tests: mv tests/* -> tests/tcg
[qemu.git] / tests / tcg / xtensa / test_loop.S
1 .include "macros.inc"
2
3 test_suite loop
4
5 test loop
6 movi a2, 0
7 movi a3, 5
8 loop a3, 1f
9 addi a2, a2, 1
10 1:
11 assert eqi, a2, 5
12 test_end
13
14 test loop0
15 movi a2, 0
16 loop a2, 1f
17 rsr a2, lcount
18 assert eqi, a2, -1
19 j 1f
20 1:
21 test_end
22
23 test loop_jump
24 movi a2, 0
25 movi a3, 5
26 loop a3, 1f
27 addi a2, a2, 1
28 j 1f
29 1:
30 assert eqi, a2, 1
31 test_end
32
33 test loop_branch
34 movi a2, 0
35 movi a3, 5
36 loop a3, 1f
37 addi a2, a2, 1
38 beqi a2, 3, 1f
39 1:
40 assert eqi, a2, 3
41 test_end
42
43 test loop_manual
44 movi a2, 0
45 movi a3, 5
46 movi a4, 1f
47 movi a5, 2f
48 wsr a3, lcount
49 wsr a4, lbeg
50 wsr a5, lend
51 isync
52 j 1f
53 .align 4
54 1:
55 addi a2, a2, 1
56 2:
57 assert eqi, a2, 6
58 test_end
59
60 test loop_excm
61 movi a2, 0
62 movi a3, 5
63 rsr a4, ps
64 movi a5, 0x10
65 or a4, a4, a5
66 wsr a4, ps
67 isync
68 loop a3, 1f
69 addi a2, a2, 1
70 1:
71 xor a4, a4, a5
72 isync
73 wsr a4, ps
74 assert eqi, a2, 1
75 test_end
76
77 test_suite_end