root / tests / tcg / xtensa / macros.inc @ c09015dd
History | View | Annotate | Download (968 Bytes)
1 | 7d890b40 | Max Filippov | .macro test_suite name |
---|---|---|---|
2 | 7d890b40 | Max Filippov | .data |
3 | 7d890b40 | Max Filippov | status: .word result |
4 | 7d890b40 | Max Filippov | result: .space 20 |
5 | 7d890b40 | Max Filippov | .text |
6 | 7d890b40 | Max Filippov | .global main |
7 | 7d890b40 | Max Filippov | .align 4 |
8 | 7d890b40 | Max Filippov | main: |
9 | 7d890b40 | Max Filippov | .endm |
10 | 7d890b40 | Max Filippov | |
11 | 7d890b40 | Max Filippov | .macro reset_ps |
12 | 7d890b40 | Max Filippov | movi a2, 0x4000f |
13 | 7d890b40 | Max Filippov | wsr a2, ps |
14 | 7d890b40 | Max Filippov | isync |
15 | 7d890b40 | Max Filippov | .endm |
16 | 7d890b40 | Max Filippov | |
17 | 7d890b40 | Max Filippov | .macro test_suite_end |
18 | 7d890b40 | Max Filippov | reset_ps |
19 | 7d890b40 | Max Filippov | movi a0, status |
20 | 7d890b40 | Max Filippov | l32i a2, a0, 0 |
21 | 7d890b40 | Max Filippov | movi a0, result |
22 | 7d890b40 | Max Filippov | sub a2, a2, a0 |
23 | 7d890b40 | Max Filippov | movi a3, 0 |
24 | 7d890b40 | Max Filippov | loopnez a2, 1f |
25 | 7d890b40 | Max Filippov | l8ui a2, a0, 0 |
26 | 7d890b40 | Max Filippov | or a3, a3, a2 |
27 | 7d890b40 | Max Filippov | addi a0, a0, 1 |
28 | 7d890b40 | Max Filippov | 1: |
29 | 7d890b40 | Max Filippov | exit |
30 | 7d890b40 | Max Filippov | .endm |
31 | 7d890b40 | Max Filippov | |
32 | 7d890b40 | Max Filippov | .macro test name |
33 | 7d890b40 | Max Filippov | .endm |
34 | 7d890b40 | Max Filippov | |
35 | 7d890b40 | Max Filippov | .macro test_end |
36 | 7d890b40 | Max Filippov | 99: |
37 | 7d890b40 | Max Filippov | reset_ps |
38 | 7d890b40 | Max Filippov | movi a2, status |
39 | 7d890b40 | Max Filippov | l32i a3, a2, 0 |
40 | 7d890b40 | Max Filippov | addi a3, a3, 1 |
41 | 7d890b40 | Max Filippov | s32i a3, a2, 0 |
42 | 7d890b40 | Max Filippov | .endm |
43 | 7d890b40 | Max Filippov | |
44 | 7d890b40 | Max Filippov | .macro exit |
45 | 7d890b40 | Max Filippov | movi a2, 1 |
46 | 7d890b40 | Max Filippov | simcall |
47 | 7d890b40 | Max Filippov | .endm |
48 | 7d890b40 | Max Filippov | |
49 | 7d890b40 | Max Filippov | .macro test_fail |
50 | 7d890b40 | Max Filippov | movi a2, status |
51 | 7d890b40 | Max Filippov | l32i a2, a2, 0 |
52 | 7d890b40 | Max Filippov | movi a3, 1 |
53 | 7d890b40 | Max Filippov | s8i a3, a2, 0 |
54 | 7d890b40 | Max Filippov | j 99f |
55 | 7d890b40 | Max Filippov | .endm |
56 | 7d890b40 | Max Filippov | |
57 | 7d890b40 | Max Filippov | .macro assert cond, arg1, arg2 |
58 | 7d890b40 | Max Filippov | b\cond \arg1, \arg2, 90f |
59 | 7d890b40 | Max Filippov | test_fail |
60 | 7d890b40 | Max Filippov | 90: |
61 | 7d890b40 | Max Filippov | nop |
62 | 7d890b40 | Max Filippov | .endm |
63 | 7d890b40 | Max Filippov | |
64 | 7d890b40 | Max Filippov | .macro set_vector vector, addr |
65 | 7d890b40 | Max Filippov | movi a2, handler_\vector |
66 | 7d890b40 | Max Filippov | movi a3, \addr |
67 | 7d890b40 | Max Filippov | s32i a3, a2, 0 |
68 | 7d890b40 | Max Filippov | .endm |