aboutsummaryrefslogtreecommitdiff
path: root/tests/tcg/xtensa/test_rst0.S
blob: 143e90b401ec7bf021f746c2e5df6ca413c1943b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#include "macros.inc"

test_suite rst0

test and
    movi    a2, 0x137fa5a5
    mov     a3, a2
    movi    a4, 0xa5a5137f
    movi    a6, 0x01250125
    and     a5, a2, a4
    assert  eq, a5, a6
    and     a2, a2, a4
    assert  eq, a2, a6
    and     a3, a4, a3
    assert  eq, a3, a6
test_end

test or
    movi    a2, 0x137fa5a5
    mov     a3, a2
    movi    a4, 0xa5a5137f
    movi    a6, 0xb7ffb7ff
    or      a5, a2, a4
    assert  eq, a5, a6
    or      a2, a2, a4
    assert  eq, a2, a6
    or      a3, a4, a3
    assert  eq, a3, a6
test_end

test xor
    movi    a2, 0x137fa5a5
    mov     a3, a2
    movi    a4, 0xa5a5137f
    movi    a6, 0xb6dab6da
    xor     a5, a2, a4
    assert  eq, a5, a6
    xor     a2, a2, a4
    assert  eq, a2, a6
    xor     a3, a4, a3
    assert  eq, a3, a6
test_end

test add
    movi    a2, 0x137fa5a5
    mov     a3, a2
    movi    a4, 0xa5a5137f
    movi    a6, 0xb924b924
    add     a5, a2, a4
    assert  eq, a5, a6
    add     a2, a2, a4
    assert  eq, a2, a6
    add     a4, a3, a4
    assert  eq, a4, a6
test_end

#if XCHAL_HAVE_ADDX

test addx2
    movi    a2, 0x137fa5a5
    mov     a3, a2
    movi    a4, 0xa5a5137f
    movi    a6, 0xcca45ec9
    addx2   a5, a2, a4
    assert  eq, a5, a6
    addx2   a2, a2, a4
    assert  eq, a2, a6
    addx2   a4, a3, a4
    assert  eq, a4, a6
test_end

test addx4
    movi    a2, 0x137fa5a5
    mov     a3, a2
    movi    a4, 0xa5a5137f
    movi    a6, 0xf3a3aa13
    addx4   a5, a2, a4
    assert  eq, a5, a6
    addx4   a2, a2, a4
    assert  eq, a2, a6
    addx4   a4, a3, a4
    assert  eq, a4, a6
test_end

test addx8
    movi    a2, 0x137fa5a5
    mov     a3, a2
    movi    a4, 0xa5a5137f
    movi    a6, 0x41a240a7
    addx8   a5, a2, a4
    assert  eq, a5, a6
    addx8   a2, a2, a4
    assert  eq, a2, a6
    addx8   a4, a3, a4
    assert  eq, a4, a6
test_end

#endif

test sub
    movi    a2, 0x137fa5a5
    mov     a3, a2
    movi    a4, 0xa5a5137f
    movi    a6, 0x6dda9226
    sub     a5, a2, a4
    assert  eq, a5, a6
    sub     a2, a2, a4
    assert  eq, a2, a6
    sub     a4, a3, a4
    assert  eq, a4, a6
test_end

#if XCHAL_HAVE_ADDX

test subx2
    movi    a2, 0x137fa5a5
    mov     a3, a2
    movi    a4, 0xa5a5137f
    movi    a6, 0x815a37cb
    subx2   a5, a2, a4
    assert  eq, a5, a6
    subx2   a2, a2, a4
    assert  eq, a2, a6
    subx2   a4, a3, a4
    assert  eq, a4, a6
test_end

test subx4
    movi    a2, 0x137fa5a5
    mov     a3, a2
    movi    a4, 0xa5a5137f
    movi    a6, 0xa8598315
    subx4   a5, a2, a4
    assert  eq, a5, a6
    subx4   a2, a2, a4
    assert  eq, a2, a6
    subx4   a4, a3, a4
    assert  eq, a4, a6
test_end

test subx8
    movi    a2, 0x137fa5a5
    mov     a3, a2
    movi    a4, 0xa5a5137f
    movi    a6, 0xf65819a9
    subx8   a5, a2, a4
    assert  eq, a5, a6
    subx8   a2, a2, a4
    assert  eq, a2, a6
    subx8   a4, a3, a4
    assert  eq, a4, a6
test_end

#endif

test_suite_end