1# mach: crisv10 crisv32
2# output: fffffffe\nffffffff\nfffffffe\n1\nfffffffe\nffffffff\nfffffffe\n1\nfffe0001\n0\nfffe0001\n0\n1\n0\n1\nfffffffe\n193eade2\n277e3a49\n193eade2\n277e3a49\nfffffffe\nffffffff\n1fffe\n0\nfffffffe\nffffffff\n1fffe\n0\n1\n0\nfffe0001\n0\nfdbdade2\nffffffff\n420fade2\n0\nfffffffe\nffffffff\n1fe\n0\nfffffffe\nffffffff\n1fe\n0\n1\n0\nfe01\n0\n1\n0\nfe01\n0\nffffd9e2\nffffffff\n2be2\n0\n0\n0\n0\n0\n
3
4 .include "testutils.inc"
5 start
6 moveq -1,r3
7 moveq 2,r4
8 muls.d r4,r3
9 test_cc 1 0 0 0
10 dumpr3 ; fffffffe
11 move mof,r3
12 dumpr3 ; ffffffff
13
14 moveq -1,r3
15 moveq 2,r4
16 mulu.d r4,r3
17 test_cc 0 0 1 0
18 dumpr3 ; fffffffe
19 move mof,r3
20 dumpr3 ; 1
21
22 moveq 2,r3
23 moveq -1,r4
24 muls.d r4,r3
25 test_cc 1 0 0 0
26 dumpr3 ; fffffffe
27 move mof,r3
28 dumpr3 ; ffffffff
29
30 moveq 2,r3
31 moveq -1,r4
32 mulu.d r4,r3
33 test_cc 0 0 1 0
34 dumpr3 ; fffffffe
35 move mof,r3
36 dumpr3 ; 1
37
38 move.d 0xffff,r4
39 move.d r4,r3
40 muls.d r4,r3
41 test_cc 0 0 1 0
42 dumpr3 ; fffe0001
43 move mof,r3
44 dumpr3 ; 0
45
46 move.d 0xffff,r4
47 move.d r4,r3
48 mulu.d r4,r3
49 test_cc 0 0 0 0
50 dumpr3 ; fffe0001
51 move mof,r3
52 dumpr3 ; 0
53
54 moveq -1,r4
55 move.d r4,r3
56 muls.d r4,r3
57 test_cc 0 0 0 0
58 dumpr3 ; 1
59 move mof,r3
60 dumpr3 ; 0
61
62 moveq -1,r4
63 move.d r4,r3
64 mulu.d r4,r3
65 test_cc 1 0 1 0
66 dumpr3 ; 1
67 move mof,r3
68 dumpr3 ; fffffffe
69
70 move.d 0x5432f789,r4
71 move.d 0x78134452,r3
72 muls.d r4,r3
73 test_cc 0 0 1 0
74 dumpr3 ; 193eade2
75 move mof,r3
76 dumpr3 ; 277e3a49
77
78 move.d 0x5432f789,r4
79 move.d 0x78134452,r3
80 mulu.d r4,r3
81 test_cc 0 0 1 0
82 dumpr3 ; 193eade2
83 move mof,r3
84 dumpr3 ; 277e3a49
85
86 move.d 0xffff,r3
87 moveq 2,r4
88 muls.w r4,r3
89 test_cc 1 0 0 0
90 dumpr3 ; fffffffe
91 move mof,r3
92 dumpr3 ; ffffffff
93
94 moveq -1,r3
95 moveq 2,r4
96 mulu.w r4,r3
97 test_cc 0 0 0 0
98 dumpr3 ; 1fffe
99 move mof,r3
100 dumpr3 ; 0
101
102 moveq 2,r3
103 move.d 0xffff,r4
104 muls.w r4,r3
105 test_cc 1 0 0 0
106 dumpr3 ; fffffffe
107 move mof,r3
108 dumpr3 ; ffffffff
109
110 moveq 2,r3
111 moveq -1,r4
112 mulu.w r4,r3
113 test_cc 0 0 0 0
114 dumpr3 ; 1fffe
115 move mof,r3
116 dumpr3 ; 0
117
118 move.d 0xffff,r4
119 move.d r4,r3
120 muls.w r4,r3
121 test_cc 0 0 0 0
122 dumpr3 ; 1
123 move mof,r3
124 dumpr3 ; 0
125
126 moveq -1,r4
127 move.d r4,r3
128 mulu.w r4,r3
129 test_cc 0 0 0 0
130 dumpr3 ; fffe0001
131 move mof,r3
132 dumpr3 ; 0
133
134 move.d 0x5432f789,r4
135 move.d 0x78134452,r3
136 muls.w r4,r3
137 test_cc 1 0 0 0
138 dumpr3 ; fdbdade2
139 move mof,r3
140 dumpr3 ; ffffffff
141
142 move.d 0x5432f789,r4
143 move.d 0x78134452,r3
144 mulu.w r4,r3
145 test_cc 0 0 0 0
146 dumpr3 ; 420fade2
147 move mof,r3
148 dumpr3 ; 0
149
150 move.d 0xff,r3
151 moveq 2,r4
152 muls.b r4,r3
153 test_cc 1 0 0 0
154 dumpr3 ; fffffffe
155 move mof,r3
156 dumpr3 ; ffffffff
157
158 moveq -1,r3
159 moveq 2,r4
160 mulu.b r4,r3
161 test_cc 0 0 0 0
162 dumpr3 ; 1fe
163 move mof,r3
164 dumpr3 ; 0
165
166 moveq 2,r3
167 moveq -1,r4
168 muls.b r4,r3
169 test_cc 1 0 0 0
170 dumpr3 ; fffffffe
171 move mof,r3
172 dumpr3 ; ffffffff
173
174 moveq 2,r3
175 moveq -1,r4
176 mulu.b r4,r3
177 test_cc 0 0 0 0
178 dumpr3 ; 1fe
179 move mof,r3
180 dumpr3 ; 0
181
182 move.d 0xff,r4
183 move.d r4,r3
184 muls.b r4,r3
185 test_cc 0 0 0 0
186 dumpr3 ; 1
187 move mof,r3
188 dumpr3 ; 0
189
190 moveq -1,r4
191 move.d r4,r3
192 mulu.b r4,r3
193 test_cc 0 0 0 0
194 dumpr3 ; fe01
195 move mof,r3
196 dumpr3 ; 0
197
198 move.d 0xfeda49ff,r4
199 move.d r4,r3
200 muls.b r4,r3
201 test_cc 0 0 0 0
202 dumpr3 ; 1
203 move mof,r3
204 dumpr3 ; 0
205
206 move.d 0xfeda49ff,r4
207 move.d r4,r3
208 mulu.b r4,r3
209 test_cc 0 0 0 0
210 dumpr3 ; fe01
211 move mof,r3
212 dumpr3 ; 0
213
214 move.d 0x5432f789,r4
215 move.d 0x78134452,r3
216 muls.b r4,r3
217 test_cc 1 0 0 0
218 dumpr3 ; ffffd9e2
219 move mof,r3
220 dumpr3 ; ffffffff
221
222 move.d 0x5432f789,r4
223 move.d 0x78134452,r3
224 mulu.b r4,r3
225 test_cc 0 0 0 0
226 dumpr3 ; 2be2
227 move mof,r3
228 dumpr3 ; 0
229
230 moveq 0,r3
231 move.d 0xf87f4aeb,r4
232 muls.d r4,r3
233 test_cc 0 1 0 0
234 dumpr3 ; 0
235 move mof,r3
236 dumpr3 ; 0
237
238 move.d 0xf87f4aeb,r3
239 moveq 0,r4
240 mulu.d r4,r3
241 test_cc 0 1 0 0
242 dumpr3 ; 0
243 move mof,r3
244 dumpr3 ; 0
245
246 quit
247