Add qemu 2.4.0
[kvmfornfv.git] / qemu / tests / tcg / cris / check_asr.s
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