Statistics
| Branch: | Revision:

root / tests / tcg / xtensa / test_sar.S @ c09015dd

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