xref: /openbmc/qemu/tests/tcg/cris/bare/check_lsl.s (revision f0984d40)
1# mach: crisv0 crisv3 crisv8 crisv10 crisv32
2# output: ffffffff\n4\n80000000\nffff8000\n7f19f000\n80000000\n0\n0\n699fc67c\nffffffff\n4\n80000000\nffff8000\n7f19f000\nda670000\nda670000\nda670000\nda67c67c\nffffffff\nfffafffe\n4\nffff0000\nffff8000\n5a67f000\nda67f100\nda67f100\nda67f100\nda67f17c\nfff3faff\nfff3fafe\n4\nffffff00\nffffff00\nffffff80\n5a67f100\n5a67f1f0\n
3
4 .include "testutils.inc"
5 start
6 moveq -1,r3
7 lslq 0,r3
8 test_move_cc 1 0 0 0
9 checkr3 ffffffff
10
11 moveq 2,r3
12 lslq 1,r3
13 test_move_cc 0 0 0 0
14 checkr3 4
15
16 moveq -1,r3
17 lslq 31,r3
18 test_move_cc 1 0 0 0
19 checkr3 80000000
20
21 moveq -1,r3
22 lslq 15,r3
23 test_move_cc 1 0 0 0
24 checkr3 ffff8000
25
26 move.d 0x5a67f19f,r3
27 lslq 12,r3
28 test_move_cc 0 0 0 0
29 checkr3 7f19f000
30
31 move.d 0xda67f19f,r3
32 move.d 31,r4
33 lsl.d r4,r3
34 test_move_cc 1 0 0 0
35 checkr3 80000000
36
37 move.d 0xda67f19f,r3
38 move.d 32,r4
39 lsl.d r4,r3
40 test_move_cc 0 1 0 0
41 checkr3 0
42
43 move.d 0xda67f19f,r3
44 move.d 33,r4
45 lsl.d r4,r3
46 test_move_cc 0 1 0 0
47 checkr3 0
48
49 move.d 0xda67f19f,r3
50 move.d 66,r4
51 lsl.d r4,r3
52 test_move_cc 0 0 0 0
53 checkr3 699fc67c
54
55 moveq -1,r3
56 moveq 0,r4
57 lsl.d r4,r3
58 test_move_cc 1 0 0 0
59 checkr3 ffffffff
60
61 moveq 2,r3
62 moveq 1,r4
63 lsl.d r4,r3
64 test_move_cc 0 0 0 0
65 checkr3 4
66
67 moveq -1,r3
68 moveq 31,r4
69 lsl.d r4,r3
70 test_move_cc 1 0 0 0
71 checkr3 80000000
72
73 moveq -1,r3
74 moveq 15,r4
75 lsl.d r4,r3
76 test_move_cc 1 0 0 0
77 checkr3 ffff8000
78
79 move.d 0x5a67f19f,r3
80 moveq 12,r4
81 lsl.d r4,r3
82 test_move_cc 0 0 0 0
83 checkr3 7f19f000
84
85 move.d 0xda67f19f,r3
86 move.d 31,r4
87 lsl.w r4,r3
88 test_move_cc 0 1 0 0
89 checkr3 da670000
90
91 move.d 0xda67f19f,r3
92 move.d 32,r4
93 lsl.w r4,r3
94 test_move_cc 0 1 0 0
95 checkr3 da670000
96
97 move.d 0xda67f19f,r3
98 move.d 33,r4
99 lsl.w r4,r3
100 test_move_cc 0 1 0 0
101 checkr3 da670000
102
103 move.d 0xda67f19f,r3
104 move.d 66,r4
105 lsl.w r4,r3
106 test_move_cc 1 0 0 0
107 checkr3 da67c67c
108
109 moveq -1,r3
110 moveq 0,r4
111 lsl.w r4,r3
112 test_move_cc 1 0 0 0
113 checkr3 ffffffff
114
115 move.d 0xfffaffff,r3
116 moveq 1,r4
117 lsl.w r4,r3
118 test_move_cc 1 0 0 0
119 checkr3 fffafffe
120
121 moveq 2,r3
122 moveq 1,r4
123 lsl.w r4,r3
124 test_move_cc 0 0 0 0
125 checkr3 4
126
127 moveq -1,r3
128 moveq 31,r4
129 lsl.w r4,r3
130 test_move_cc 0 1 0 0
131 checkr3 ffff0000
132
133 moveq -1,r3
134 moveq 15,r4
135 lsl.w r4,r3
136 test_move_cc 1 0 0 0
137 checkr3 ffff8000
138
139 move.d 0x5a67f19f,r3
140 moveq 12,r4
141 lsl.w r4,r3
142 test_move_cc 1 0 0 0
143 checkr3 5a67f000
144
145 move.d 0xda67f19f,r3
146 move.d 31,r4
147 lsl.b r4,r3
148 test_move_cc 0 1 0 0
149 checkr3 da67f100
150
151 move.d 0xda67f19f,r3
152 move.d 32,r4
153 lsl.b r4,r3
154 test_move_cc 0 1 0 0
155 checkr3 da67f100
156
157 move.d 0xda67f19f,r3
158 move.d 33,r4
159 lsl.b r4,r3
160 test_move_cc 0 1 0 0
161 checkr3 da67f100
162
163 move.d 0xda67f19f,r3
164 move.d 66,r4
165 lsl.b r4,r3
166 test_move_cc 0 0 0 0
167 checkr3 da67f17c
168
169 move.d 0xfff3faff,r3
170 moveq 0,r4
171 lsl.b r4,r3
172 test_move_cc 1 0 0 0
173 checkr3 fff3faff
174
175 move.d 0xfff3faff,r3
176 moveq 1,r4
177 lsl.b r4,r3
178 test_move_cc 1 0 0 0
179 checkr3 fff3fafe
180
181 moveq 2,r3
182 moveq 1,r4
183 lsl.b r4,r3
184 test_move_cc 0 0 0 0
185 checkr3 4
186
187 moveq -1,r3
188 moveq 31,r4
189 lsl.b r4,r3
190 test_move_cc 0 1 0 0
191 checkr3 ffffff00
192
193 moveq -1,r3
194 moveq 15,r4
195 lsl.b r4,r3
196 test_move_cc 0 1 0 0
197 checkr3 ffffff00
198
199 moveq -1,r3
200 moveq 7,r4
201 lsl.b r4,r3
202 test_move_cc 1 0 0 0
203 checkr3 ffffff80
204
205 move.d 0x5a67f19f,r3
206 moveq 12,r4
207 lsl.b r4,r3
208 test_move_cc 0 1 0 0
209 checkr3 5a67f100
210
211 move.d 0x5a67f19f,r3
212 moveq 4,r4
213 lsl.b r4,r3
214 test_move_cc 1 0 0 0
215 checkr3 5a67f1f0
216
217 quit
218