root / tests / cris / check_lsr.s @ dd43edf4
History | View | Annotate | Download (3.2 kB)
1 |
# mach: crisv0 crisv3 crisv8 crisv10 crisv32 |
---|---|
2 |
# output: ffffffff\n1\n1\n1ffff\n5a67f\n1\n0\n0\n3699fc67\nffffffff\n1\n1\n1ffff\n5a67f\nda670000\nda670000\nda670000\nda673c67\nffffffff\nffff7fff\n1\nffff0000\nffff0001\n5a67000f\nda67f100\nda67f100\nda67f100\nda67f127\nffffffff\nffffff7f\n1\nffffff00\nffffff00\nffffff01\n5a67f100\n5a67f109\n |
3 |
|
4 |
.include "testutils.inc" |
5 |
start |
6 |
moveq -1,r3 |
7 |
lsrq 0,r3 |
8 |
test_move_cc 1 0 0 0 |
9 |
checkr3 ffffffff |
10 |
|
11 |
moveq 2,r3 |
12 |
lsrq 1,r3 |
13 |
test_move_cc 0 0 0 0 |
14 |
checkr3 1 |
15 |
|
16 |
moveq -1,r3 |
17 |
lsrq 31,r3 |
18 |
test_move_cc 0 0 0 0 |
19 |
checkr3 1 |
20 |
|
21 |
moveq -1,r3 |
22 |
lsrq 15,r3 |
23 |
test_move_cc 0 0 0 0 |
24 |
checkr3 1ffff |
25 |
|
26 |
move.d 0x5a67f19f,r3 |
27 |
lsrq 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 |
lsr.d r4,r3 |
34 |
test_move_cc 0 0 0 0 |
35 |
checkr3 1 |
36 |
|
37 |
move.d 0xda67f19f,r3 |
38 |
move.d 32,r4 |
39 |
lsr.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 |
lsr.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 |
lsr.d r4,r3 |
52 |
test_move_cc 0 0 0 0 |
53 |
checkr3 3699fc67 |
54 |
|
55 |
moveq -1,r3 |
56 |
moveq 0,r4 |
57 |
lsr.d r4,r3 |
58 |
test_move_cc 1 0 0 0 |
59 |
checkr3 ffffffff |
60 |
|
61 |
moveq 2,r3 |
62 |
moveq 1,r4 |
63 |
lsr.d r4,r3 |
64 |
test_move_cc 0 0 0 0 |
65 |
checkr3 1 |
66 |
|
67 |
moveq -1,r3 |
68 |
moveq 31,r4 |
69 |
lsr.d r4,r3 |
70 |
test_move_cc 0 0 0 0 |
71 |
checkr3 1 |
72 |
|
73 |
moveq -1,r3 |
74 |
moveq 15,r4 |
75 |
lsr.d r4,r3 |
76 |
test_move_cc 0 0 0 0 |
77 |
checkr3 1ffff |
78 |
|
79 |
move.d 0x5a67f19f,r3 |
80 |
moveq 12,r4 |
81 |
lsr.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 |
lsr.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 |
lsr.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 |
lsr.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 |
lsr.w r4,r3 |
106 |
test_move_cc 0 0 0 0 |
107 |
checkr3 da673c67 |
108 |
|
109 |
moveq -1,r3 |
110 |
moveq 0,r4 |
111 |
lsr.w r4,r3 |
112 |
test_move_cc 1 0 0 0 |
113 |
checkr3 ffffffff |
114 |
|
115 |
moveq -1,r3 |
116 |
moveq 1,r4 |
117 |
lsr.w r4,r3 |
118 |
test_move_cc 0 0 0 0 |
119 |
checkr3 ffff7fff |
120 |
|
121 |
moveq 2,r3 |
122 |
moveq 1,r4 |
123 |
lsr.w r4,r3 |
124 |
test_move_cc 0 0 0 0 |
125 |
checkr3 1 |
126 |
|
127 |
;; FIXME: this was wrong. Z should be set. |
128 |
moveq -1,r3 |
129 |
moveq 31,r4 |
130 |
lsr.w r4,r3 |
131 |
test_move_cc 0 1 0 0 |
132 |
checkr3 ffff0000 |
133 |
|
134 |
moveq -1,r3 |
135 |
moveq 15,r4 |
136 |
lsr.w r4,r3 |
137 |
test_move_cc 0 0 0 0 |
138 |
checkr3 ffff0001 |
139 |
|
140 |
move.d 0x5a67f19f,r3 |
141 |
moveq 12,r4 |
142 |
lsr.w r4,r3 |
143 |
test_move_cc 0 0 0 0 |
144 |
checkr3 5a67000f |
145 |
|
146 |
move.d 0xda67f19f,r3 |
147 |
move.d 31,r4 |
148 |
lsr.b r4,r3 |
149 |
test_move_cc 0 1 0 0 |
150 |
checkr3 da67f100 |
151 |
|
152 |
move.d 0xda67f19f,r3 |
153 |
move.d 32,r4 |
154 |
lsr.b r4,r3 |
155 |
test_move_cc 0 1 0 0 |
156 |
checkr3 da67f100 |
157 |
|
158 |
move.d 0xda67f19f,r3 |
159 |
move.d 33,r4 |
160 |
lsr.b r4,r3 |
161 |
test_move_cc 0 1 0 0 |
162 |
checkr3 da67f100 |
163 |
|
164 |
move.d 0xda67f19f,r3 |
165 |
move.d 66,r4 |
166 |
lsr.b r4,r3 |
167 |
test_move_cc 0 0 0 0 |
168 |
checkr3 da67f127 |
169 |
|
170 |
moveq -1,r3 |
171 |
moveq 0,r4 |
172 |
lsr.b r4,r3 |
173 |
test_move_cc 1 0 0 0 |
174 |
checkr3 ffffffff |
175 |
|
176 |
moveq -1,r3 |
177 |
moveq 1,r4 |
178 |
lsr.b r4,r3 |
179 |
test_move_cc 0 0 0 0 |
180 |
checkr3 ffffff7f |
181 |
|
182 |
moveq 2,r3 |
183 |
moveq 1,r4 |
184 |
lsr.b r4,r3 |
185 |
test_move_cc 0 0 0 0 |
186 |
checkr3 1 |
187 |
|
188 |
moveq -1,r3 |
189 |
moveq 31,r4 |
190 |
lsr.b r4,r3 |
191 |
test_move_cc 0 1 0 0 |
192 |
checkr3 ffffff00 |
193 |
|
194 |
moveq -1,r3 |
195 |
moveq 15,r4 |
196 |
lsr.b r4,r3 |
197 |
test_move_cc 0 1 0 0 |
198 |
checkr3 ffffff00 |
199 |
|
200 |
moveq -1,r3 |
201 |
moveq 7,r4 |
202 |
lsr.b r4,r3 |
203 |
test_move_cc 0 0 0 0 |
204 |
checkr3 ffffff01 |
205 |
|
206 |
move.d 0x5a67f19f,r3 |
207 |
moveq 12,r4 |
208 |
lsr.b r4,r3 |
209 |
test_move_cc 0 1 0 0 |
210 |
checkr3 5a67f100 |
211 |
|
212 |
move.d 0x5a67f19f,r3 |
213 |
moveq 4,r4 |
214 |
lsr.b r4,r3 |
215 |
test_move_cc 0 0 0 0 |
216 |
checkr3 5a67f109 |
217 |
|
218 |
quit |