root / tests / xtensa / test_sar.S @ 7d890b40
History | View | Annotate | Download (1.6 kB)
1 |
.include "macros.inc" |
---|---|
2 |
|
3 |
test_suite sar |
4 |
|
5 |
.macro test_sar prefix, imm |
6 |
\prefix\()_set \imm |
7 |
\prefix\()_ver \imm |
8 |
.endm |
9 |
|
10 |
.macro tests_sar prefix |
11 |
test_sar \prefix, 0 |
12 |
test_sar \prefix, 1 |
13 |
test_sar \prefix, 2 |
14 |
test_sar \prefix, 3 |
15 |
test_sar \prefix, 0x1f |
16 |
test_sar \prefix, 0x20 |
17 |
test_sar \prefix, 0x3f |
18 |
test_sar \prefix, 0x40 |
19 |
test_sar \prefix, 0xfffffffe |
20 |
.endm |
21 |
|
22 |
.macro sar_set imm |
23 |
movi a2, \imm |
24 |
wsr a2, sar |
25 |
.endm |
26 |
|
27 |
.macro sar_ver imm |
28 |
rsr a3, sar |
29 |
movi a2, \imm & 0x3f |
30 |
assert eq, a2, a3 |
31 |
.endm |
32 |
|
33 |
test sar |
34 |
tests_sar sar |
35 |
test_end |
36 |
|
37 |
.macro ssr_set imm |
38 |
movi a2, \imm |
39 |
ssr a2 |
40 |
.endm |
41 |
|
42 |
.macro ssr_ver imm |
43 |
rsr a3, sar |
44 |
movi a2, \imm & 0x1f |
45 |
assert eq, a2, a3 |
46 |
.endm |
47 |
|
48 |
test ssr |
49 |
tests_sar ssr |
50 |
test_end |
51 |
|
52 |
.macro ssl_set imm |
53 |
movi a2, \imm |
54 |
ssl a2 |
55 |
.endm |
56 |
|
57 |
.macro ssl_ver imm |
58 |
rsr a3, sar |
59 |
movi a2, 32 - (\imm & 0x1f) |
60 |
assert eq, a2, a3 |
61 |
.endm |
62 |
|
63 |
test ssl |
64 |
tests_sar ssl |
65 |
test_end |
66 |
|
67 |
.macro ssa8l_set imm |
68 |
movi a2, \imm |
69 |
ssa8l a2 |
70 |
.endm |
71 |
|
72 |
.macro ssa8l_ver imm |
73 |
rsr a3, sar |
74 |
movi a2, (\imm & 0x3) << 3 |
75 |
assert eq, a2, a3 |
76 |
.endm |
77 |
|
78 |
test ssa8l |
79 |
tests_sar ssa8l |
80 |
test_end |
81 |
|
82 |
.macro ssa8b_set imm |
83 |
movi a2, \imm |
84 |
ssa8b a2 |
85 |
.endm |
86 |
|
87 |
.macro ssa8b_ver imm |
88 |
rsr a3, sar |
89 |
movi a2, 32 - ((\imm & 0x3) << 3) |
90 |
assert eq, a2, a3 |
91 |
.endm |
92 |
|
93 |
test ssa8b |
94 |
tests_sar ssa8b |
95 |
test_end |
96 |
|
97 |
.macro ssai_set imm |
98 |
ssai \imm & 0x1f |
99 |
.endm |
100 |
|
101 |
.macro ssai_ver imm |
102 |
rsr a3, sar |
103 |
movi a2, \imm & 0x1f |
104 |
assert eq, a2, a3 |
105 |
.endm |
106 |
|
107 |
test ssai |
108 |
tests_sar ssai |
109 |
test_end |
110 |
|
111 |
test_suite_end |