qapi: add test cases for generated free functions
[qemu-kvm.git] / tests / xtensa / test_sar.S
blob40c649ffb8390e6f9f9feb251415758bc935a4c8
1 .include "macros.inc"
3 test_suite sar
5 .macro test_sar prefix, imm
6     \prefix\()_set \imm
7     \prefix\()_ver \imm
8 .endm
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
22 .macro sar_set imm
23     movi    a2, \imm
24     wsr     a2, sar
25 .endm
27 .macro sar_ver imm
28     rsr     a3, sar
29     movi    a2, \imm & 0x3f
30     assert  eq, a2, a3
31 .endm
33 test sar
34     tests_sar sar
35 test_end
37 .macro ssr_set imm
38     movi    a2, \imm
39     ssr     a2
40 .endm
42 .macro ssr_ver imm
43     rsr     a3, sar
44     movi    a2, \imm & 0x1f
45     assert  eq, a2, a3
46 .endm
48 test ssr
49     tests_sar ssr
50 test_end
52 .macro ssl_set imm
53     movi    a2, \imm
54     ssl     a2
55 .endm
57 .macro ssl_ver imm
58     rsr     a3, sar
59     movi    a2, 32 - (\imm & 0x1f)
60     assert  eq, a2, a3
61 .endm
63 test ssl
64     tests_sar ssl
65 test_end
67 .macro ssa8l_set imm
68     movi    a2, \imm
69     ssa8l   a2
70 .endm
72 .macro ssa8l_ver imm
73     rsr     a3, sar
74     movi    a2, (\imm & 0x3) << 3
75     assert  eq, a2, a3
76 .endm
78 test ssa8l
79     tests_sar ssa8l
80 test_end
82 .macro ssa8b_set imm
83     movi    a2, \imm
84     ssa8b   a2
85 .endm
87 .macro ssa8b_ver imm
88     rsr     a3, sar
89     movi    a2, 32 - ((\imm & 0x3) << 3)
90     assert  eq, a2, a3
91 .endm
93 test ssa8b
94     tests_sar ssa8b
95 test_end
97 .macro ssai_set imm
98     ssai    \imm & 0x1f
99 .endm
101 .macro ssai_ver imm
102     rsr     a3, sar
103     movi    a2, \imm & 0x1f
104     assert  eq, a2, a3
105 .endm
107 test ssai
108     tests_sar ssai
109 test_end
111 test_suite_end