repo.or.cz
/
qemu
/
ar7.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
qcow2: Fix corruption on write_zeroes with MAY_UNMAP
[qemu/ar7.git]
/
tests
/
tcg
/
xtensa
/
test_quo.S
blob
32886b913be6c7c26868ba787459bb714a749364
1
#include "macros.inc"
2
3
test_suite quo
4
5
#if XCHAL_HAVE_DIV32
6
7
test quou_pp
8
movi a2, 0x5a5a137f
9
mov a3, a2
10
movi a4, 0x137f5a5a
11
movi a6, 0x4
12
quou a5, a2, a4
13
assert eq, a5, a6
14
quou a2, a2, a4
15
assert eq, a2, a6
16
quou a4, a3, a4
17
assert eq, a4, a6
18
test_end
19
20
test quou_np
21
movi a2, 0xa5a5137f
22
mov a3, a2
23
movi a4, 0x137f5a5a
24
movi a6, 0x8
25
quou a5, a2, a4
26
assert eq, a5, a6
27
quou a2, a2, a4
28
assert eq, a2, a6
29
quou a4, a3, a4
30
assert eq, a4, a6
31
test_end
32
33
test quou_pn
34
movi a2, 0x5a5a137f
35
mov a3, a2
36
movi a4, 0xf7315a5a
37
movi a6, 0
38
quou a5, a2, a4
39
assert eq, a5, a6
40
quou a2, a2, a4
41
assert eq, a2, a6
42
quou a4, a3, a4
43
assert eq, a4, a6
44
test_end
45
46
test quou_nn
47
movi a2, 0xf7315a5a
48
mov a3, a2
49
movi a4, 0xa5a5137f
50
movi a6, 0x1
51
quou a5, a2, a4
52
assert eq, a5, a6
53
quou a2, a2, a4
54
assert eq, a2, a6
55
quou a4, a3, a4
56
assert eq, a4, a6
57
test_end
58
59
test quou_exc
60
set_vector kernel, 2f
61
movi a2, 0xf7315a5a
62
movi a4, 0x00000000
63
1:
64
quou a5, a2, a4
65
test_fail
66
2:
67
rsr a2, exccause
68
assert eqi, a2, 6 /* INTEGER_DIVIDE_BY_ZERO_CAUSE */
69
rsr a2, epc1
70
movi a3, 1b
71
assert eq, a2, a3
72
test_end
73
74
test quos_pp
75
movi a2, 0x5a5a137f
76
mov a3, a2
77
movi a4, 0x137f5a5a
78
movi a6, 0x4
79
quos a5, a2, a4
80
assert eq, a5, a6
81
quos a2, a2, a4
82
assert eq, a2, a6
83
quos a4, a3, a4
84
assert eq, a4, a6
85
test_end
86
87
test quos_np
88
movi a2, 0xa5a5137f
89
mov a3, a2
90
movi a4, 0x137f5a5a
91
movi a6, 0xfffffffc
92
quos a5, a2, a4
93
assert eq, a5, a6
94
quos a2, a2, a4
95
assert eq, a2, a6
96
quos a4, a3, a4
97
assert eq, a4, a6
98
test_end
99
100
test quos_pn
101
movi a2, 0x5a5a137f
102
mov a3, a2
103
movi a4, 0xf7315a5a
104
movi a6, 0xfffffff6
105
quos a5, a2, a4
106
assert eq, a5, a6
107
quos a2, a2, a4
108
assert eq, a2, a6
109
quos a4, a3, a4
110
assert eq, a4, a6
111
test_end
112
113
test quos_nn
114
movi a2, 0xf7315a5a
115
mov a3, a2
116
movi a4, 0xa5a5137f
117
movi a6, 0
118
quos a5, a2, a4
119
assert eq, a5, a6
120
quos a2, a2, a4
121
assert eq, a2, a6
122
quos a4, a3, a4
123
assert eq, a4, a6
124
test_end
125
126
test quos_over
127
movi a2, 0x80000000
128
movi a4, 0xffffffff
129
movi a6, 0x80000000
130
quos a5, a2, a4
131
assert eq, a5, a6
132
test_end
133
134
test quos_exc
135
set_vector kernel, 2f
136
movi a2, 0xf7315a5a
137
movi a4, 0x00000000
138
1:
139
quos a5, a2, a4
140
test_fail
141
2:
142
rsr a2, exccause
143
assert eqi, a2, 6 /* INTEGER_DIVIDE_BY_ZERO_CAUSE */
144
rsr a2, epc1
145
movi a3, 1b
146
assert eq, a2, a3
147
test_end
148
149
#endif
150
151
test_suite_end