xref: /qemu/tests/tcg/cris/bare/check_asr.s (revision abff1abf)
1# mach: crisv0 crisv3 crisv8 crisv10 crisv32
2# output: ffffffff\n1\nffffffff\nffffffff\n5a67f\nffffffff\nffffffff\nffffffff\nf699fc67\nffffffff\n1\nffffffff\nffffffff\n5a67f\nda67ffff\nda67ffff\nda67ffff\nda67fc67\nffffffff\nffffffff\n1\nffffffff\nffffffff\n5a670007\nda67f1ff\nda67f1ff\nda67f1ff\nda67f1e7\nffffffff\nffffffff\n1\nffffffff\nffffffff\nffffffff\n5a67f1ff\n5a67f1f9\n0\n5a670000\n
3
4 .include "testutils.inc"
5 start
6 moveq -1,r3
7 asrq 0,r3
8 test_move_cc 1 0 0 0
9 checkr3 ffffffff
10
11 moveq 2,r3
12 asrq 1,r3
13 test_move_cc 0 0 0 0
14 checkr3 1
15
16 moveq -1,r3
17 asrq 31,r3
18 test_move_cc 1 0 0 0
19 checkr3 ffffffff
20
21 moveq -1,r3
22 asrq 15,r3
23 test_move_cc 1 0 0 0
24 checkr3 ffffffff
25
26 move.d 0x5a67f19f,r3
27 asrq 12,r3
28 test_move_cc 0 0 0 0
29 checkr3 5a67f
30
31 move.d 0xda67f19f,r3
32 move.d 31,r4
33 asr.d r4,r3
34 test_move_cc 1 0 0 0
35 checkr3 ffffffff
36
37 move.d 0xda67f19f,r3
38 move.d 32,r4
39 asr.d r4,r3
40 test_move_cc 1 0 0 0
41 checkr3 ffffffff
42
43 move.d 0xda67f19f,r3
44 move.d 33,r4
45 asr.d r4,r3
46 test_move_cc 1 0 0 0
47 checkr3 ffffffff
48
49 move.d 0xda67f19f,r3
50 move.d 66,r4
51 asr.d r4,r3
52 test_move_cc 1 0 0 0
53 checkr3 f699fc67
54
55 moveq -1,r3
56 moveq 0,r4
57 asr.d r4,r3
58 test_move_cc 1 0 0 0
59 checkr3 ffffffff
60
61 moveq 2,r3
62 moveq 1,r4
63 asr.d r4,r3
64 test_move_cc 0 0 0 0
65 checkr3 1
66
67 moveq -1,r3
68 moveq 31,r4
69 asr.d r4,r3
70 test_move_cc 1 0 0 0
71 checkr3 ffffffff
72
73 moveq -1,r3
74 moveq 15,r4
75 asr.d r4,r3
76 test_move_cc 1 0 0 0
77 checkr3 ffffffff
78
79 move.d 0x5a67f19f,r3
80 moveq 12,r4
81 asr.d r4,r3
82 test_move_cc 0 0 0 0
83 checkr3 5a67f
84
85 move.d 0xda67f19f,r3
86 move.d 31,r4
87 asr.w r4,r3
88 test_move_cc 1 0 0 0
89 checkr3 da67ffff
90
91 move.d 0xda67f19f,r3
92 move.d 32,r4
93 asr.w r4,r3
94 test_move_cc 1 0 0 0
95 checkr3 da67ffff
96
97 move.d 0xda67f19f,r3
98 move.d 33,r4
99 asr.w r4,r3
100 test_move_cc 1 0 0 0
101 checkr3 da67ffff
102
103 move.d 0xda67f19f,r3
104 move.d 66,r4
105 asr.w r4,r3
106 test_move_cc 1 0 0 0
107 checkr3 da67fc67
108
109 moveq -1,r3
110 moveq 0,r4
111 asr.w r4,r3
112 test_move_cc 1 0 0 0
113 checkr3 ffffffff
114
115 moveq -1,r3
116 moveq 1,r4
117 asr.w r4,r3
118 test_move_cc 1 0 0 0
119 checkr3 ffffffff
120
121 moveq 2,r3
122 moveq 1,r4
123 asr.w r4,r3
124 test_move_cc 0 0 0 0
125 checkr3 1
126
127 moveq -1,r3
128 moveq 31,r4
129 asr.w r4,r3
130 test_move_cc 1 0 0 0
131 checkr3 ffffffff
132
133 moveq -1,r3
134 moveq 15,r4
135 asr.w r4,r3
136 test_move_cc 1 0 0 0
137 checkr3 ffffffff
138
139 move.d 0x5a67719f,r3
140 moveq 12,r4
141 asr.w r4,r3
142 test_move_cc 0 0 0 0
143 checkr3 5a670007
144
145 move.d 0xda67f19f,r3
146 move.d 31,r4
147 asr.b r4,r3
148 test_move_cc 1 0 0 0
149 checkr3 da67f1ff
150
151 move.d 0xda67f19f,r3
152 move.d 32,r4
153 asr.b r4,r3
154 test_move_cc 1 0 0 0
155 checkr3 da67f1ff
156
157 move.d 0xda67f19f,r3
158 move.d 33,r4
159 asr.b r4,r3
160 test_move_cc 1 0 0 0
161 checkr3 da67f1ff
162
163 move.d 0xda67f19f,r3
164 move.d 66,r4
165 asr.b r4,r3
166 test_move_cc 1 0 0 0
167 checkr3 da67f1e7
168
169 moveq -1,r3
170 moveq 0,r4
171 asr.b r4,r3
172 test_move_cc 1 0 0 0
173 checkr3 ffffffff
174
175 moveq -1,r3
176 moveq 1,r4
177 asr.b r4,r3
178 test_move_cc 1 0 0 0
179 checkr3 ffffffff
180
181 moveq 2,r3
182 moveq 1,r4
183 asr.b r4,r3
184 test_move_cc 0 0 0 0
185 checkr3 1
186
187 moveq -1,r3
188 moveq 31,r4
189 asr.b r4,r3
190 test_move_cc 1 0 0 0
191 checkr3 ffffffff
192
193 moveq -1,r3
194 moveq 15,r4
195 asr.b r4,r3
196 test_move_cc 1 0 0 0
197 checkr3 ffffffff
198
199 moveq -1,r3
200 moveq 7,r4
201 asr.b r4,r3
202 test_move_cc 1 0 0 0
203 checkr3 ffffffff
204
205; FIXME: was wrong.
206 move.d 0x5a67f19f,r3
207 moveq 12,r4
208 asr.b r4,r3
209 test_move_cc 1 0 0 0
210 checkr3 5a67f1ff
211
212; FIXME: was wrong.
213 move.d 0x5a67f19f,r3
214 moveq 4,r4
215 asr.b r4,r3
216 test_move_cc 1 0 0 0
217 checkr3 5a67f1f9
218
219 move.d 0x5a67f19f,r3
220 asrq 31,r3
221 test_move_cc 0 1 0 0
222 checkr3 0
223
224 move.d 0x5a67419f,r3
225 moveq 16,r4
226 asr.w r4,r3
227 test_move_cc 0 1 0 0
228 checkr3 5a670000
229
230 quit
231