repo.or.cz
/
qemu.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
Merge tag 'qemu-macppc-20230206' of https://github.com/mcayland/qemu into staging
[qemu.git]
/
tests
/
tcg
/
xtensa
/
test_rem.S
blob
0b96bb3390abde47906059178709a4eac307d831
1
#include "macros.inc"
2
3
test_suite rem
4
5
#if XCHAL_HAVE_DIV32
6
7
test remu_pp
8
movi a2, 0x5a5a137f
9
mov a3, a2
10
movi a4, 0x137f5a5a
11
movi a6, 0x0c5caa17
12
remu a5, a2, a4
13
assert eq, a5, a6
14
remu a2, a2, a4
15
assert eq, a2, a6
16
remu a4, a3, a4
17
assert eq, a4, a6
18
test_end
19
20
test remu_np
21
movi a2, 0xa5a5137f
22
mov a3, a2
23
movi a4, 0x137f5a5a
24
movi a6, 0x9aa40af
25
remu a5, a2, a4
26
assert eq, a5, a6
27
remu a2, a2, a4
28
assert eq, a2, a6
29
remu a4, a3, a4
30
assert eq, a4, a6
31
test_end
32
33
test remu_pn
34
movi a2, 0x5a5a137f
35
mov a3, a2
36
movi a4, 0xf7315a5a
37
movi a6, 0x5a5a137f
38
remu a5, a2, a4
39
assert eq, a5, a6
40
remu a2, a2, a4
41
assert eq, a2, a6
42
remu a4, a3, a4
43
assert eq, a4, a6
44
test_end
45
46
test remu_nn
47
movi a2, 0xf7315a5a
48
mov a3, a2
49
movi a4, 0xa5a5137f
50
movi a6, 0x518c46db
51
remu a5, a2, a4
52
assert eq, a5, a6
53
remu a2, a2, a4
54
assert eq, a2, a6
55
remu a4, a3, a4
56
assert eq, a4, a6
57
test_end
58
59
test remu_exc
60
set_vector kernel, 2f
61
movi a2, 0xf7315a5a
62
movi a4, 0x00000000
63
1:
64
remu 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 rems_pp
75
movi a2, 0x5a5a137f
76
mov a3, a2
77
movi a4, 0x137f5a5a
78
movi a6, 0x0c5caa17
79
rems a5, a2, a4
80
assert eq, a5, a6
81
rems a2, a2, a4
82
assert eq, a2, a6
83
rems a4, a3, a4
84
assert eq, a4, a6
85
test_end
86
87
test rems_np
88
movi a2, 0xa5a5137f
89
mov a3, a2
90
movi a4, 0x137f5a5a
91
movi a6, 0xf3a27ce7
92
rems a5, a2, a4
93
assert eq, a5, a6
94
rems a2, a2, a4
95
assert eq, a2, a6
96
rems a4, a3, a4
97
assert eq, a4, a6
98
test_end
99
100
test rems_pn
101
movi a2, 0x5a5a137f
102
mov a3, a2
103
movi a4, 0xf7315a5a
104
movi a6, 0x02479b03
105
rems a5, a2, a4
106
assert eq, a5, a6
107
rems a2, a2, a4
108
assert eq, a2, a6
109
rems a4, a3, a4
110
assert eq, a4, a6
111
test_end
112
113
test rems_nn
114
movi a2, 0xf7315a5a
115
mov a3, a2
116
movi a4, 0xa5a5137f
117
movi a6, 0xf7315a5a
118
rems a5, a2, a4
119
assert eq, a5, a6
120
rems a2, a2, a4
121
assert eq, a2, a6
122
rems a4, a3, a4
123
assert eq, a4, a6
124
test_end
125
126
test rems_over
127
movi a2, 0x80000000
128
movi a4, 0xffffffff
129
movi a6, 0
130
rems a5, a2, a4
131
assert eq, a5, a6
132
test_end
133
134
test rems_exc
135
set_vector kernel, 2f
136
movi a2, 0xf7315a5a
137
movi a4, 0x00000000
138
1:
139
rems 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