Statistics
| Branch: | Revision:

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