Upload Tizen:Base source
[external/gdb.git] / sim / testsuite / sim / frv / csll.cgs
1 # frv testcase for csll $GRi,$GRj,$GRk,$CCi,$cond
2 # mach: all
3
4         .include "testutils.inc"
5
6         start
7
8         .global csll
9 csll:
10         set_spr_immed   0x1b1b,cccr
11
12         set_gr_limmed   0xdead,0xbee0,gr7       ; Shift by 0
13         set_gr_immed    2,gr8
14         set_icc         0x0d,0          ; Set mask opposite of expected
15         csll            gr8,gr7,gr8,cc0,1
16         test_icc        1 1 0 1 icc0
17         test_gr_immed   2,gr8
18
19         set_gr_limmed   0xdead,0xbee1,gr7       ; Shift by 1
20         set_gr_immed    2,gr8
21         set_icc         0x0f,0          ; Set mask opposite of expected
22         csll            gr8,gr7,gr8,cc0,1
23         test_icc        1 1 1 1 icc0
24         test_gr_immed   4,gr8
25
26         set_gr_limmed   0xdead,0xbeff,gr7       ; Shift by 31
27         set_gr_immed    1,gr8
28         set_icc         0x07,0          ; Set mask opposite of expected
29         csll            gr8,gr7,gr8,cc4,1
30         test_icc        0 1 1 1 icc0
31         test_gr_limmed  0x8000,0x0000,gr8
32
33         set_gr_limmed   0xdead,0xbeff,gr7       ; clear register
34         set_gr_immed    2,gr8
35         set_icc         0x0a,0          ; Set mask opposite of expected
36         csll            gr8,gr7,gr8,cc4,1
37         test_icc        1 0 1 0 icc0
38         test_gr_immed   0x00000000,gr8
39
40         set_gr_limmed   0xdead,0xbee0,gr7       ; Shift by 0
41         set_gr_immed    2,gr8
42         set_icc         0x0d,0          ; Set mask opposite of expected
43         csll            gr8,gr7,gr8,cc0,0
44         test_icc        1 1 0 1 icc0
45         test_gr_immed   2,gr8
46
47         set_gr_limmed   0xdead,0xbee1,gr7       ; Shift by 1
48         set_gr_immed    2,gr8
49         set_icc         0x0f,0          ; Set mask opposite of expected
50         csll            gr8,gr7,gr8,cc0,0
51         test_icc        1 1 1 1 icc0
52         test_gr_immed   2,gr8
53
54         set_gr_limmed   0xdead,0xbeff,gr7       ; Shift by 31
55         set_gr_immed    1,gr8
56         set_icc         0x07,0          ; Set mask opposite of expected
57         csll            gr8,gr7,gr8,cc4,0
58         test_icc        0 1 1 1 icc0
59         test_gr_immed   1,gr8
60
61         set_gr_limmed   0xdead,0xbeff,gr7       ; clear register
62         set_gr_immed    2,gr8
63         set_icc         0x0a,0          ; Set mask opposite of expected
64         csll            gr8,gr7,gr8,cc4,0
65         test_icc        1 0 1 0 icc0
66         test_gr_immed   2,gr8
67
68         set_gr_limmed   0xdead,0xbee0,gr7       ; Shift by 0
69         set_gr_immed    2,gr8
70         set_icc         0x0d,1          ; Set mask opposite of expected
71         csll            gr8,gr7,gr8,cc1,0
72         test_icc        1 1 0 1 icc1
73         test_gr_immed   2,gr8
74
75         set_gr_limmed   0xdead,0xbee1,gr7       ; Shift by 1
76         set_gr_immed    2,gr8
77         set_icc         0x0f,1          ; Set mask opposite of expected
78         csll            gr8,gr7,gr8,cc1,0
79         test_icc        1 1 1 1 icc1
80         test_gr_immed   4,gr8
81
82         set_gr_limmed   0xdead,0xbeff,gr7       ; Shift by 31
83         set_gr_immed    1,gr8
84         set_icc         0x07,1          ; Set mask opposite of expected
85         csll            gr8,gr7,gr8,cc5,0
86         test_icc        0 1 1 1 icc1
87         test_gr_limmed  0x8000,0x0000,gr8
88
89         set_gr_limmed   0xdead,0xbeff,gr7       ; clear register
90         set_gr_immed    2,gr8
91         set_icc         0x0a,1          ; Set mask opposite of expected
92         csll            gr8,gr7,gr8,cc5,0
93         test_icc        1 0 1 0 icc1
94         test_gr_immed   0x00000000,gr8
95
96         set_gr_limmed   0xdead,0xbee0,gr7       ; Shift by 0
97         set_gr_immed    2,gr8
98         set_icc         0x0d,1          ; Set mask opposite of expected
99         csll            gr8,gr7,gr8,cc1,1
100         test_icc        1 1 0 1 icc1
101         test_gr_immed   2,gr8
102
103         set_gr_limmed   0xdead,0xbee1,gr7       ; Shift by 1
104         set_gr_immed    2,gr8
105         set_icc         0x0f,1          ; Set mask opposite of expected
106         csll            gr8,gr7,gr8,cc1,1
107         test_icc        1 1 1 1 icc1
108         test_gr_immed   2,gr8
109
110         set_gr_limmed   0xdead,0xbeff,gr7       ; Shift by 31
111         set_gr_immed    1,gr8
112         set_icc         0x07,1          ; Set mask opposite of expected
113         csll            gr8,gr7,gr8,cc5,1
114         test_icc        0 1 1 1 icc1
115         test_gr_immed   1,gr8
116
117         set_gr_limmed   0xdead,0xbeff,gr7       ; clear register
118         set_gr_immed    2,gr8
119         set_icc         0x0a,1          ; Set mask opposite of expected
120         csll            gr8,gr7,gr8,cc5,1
121         test_icc        1 0 1 0 icc1
122         test_gr_immed   2,gr8
123
124         set_gr_limmed   0xdead,0xbee0,gr7       ; Shift by 0
125         set_gr_immed    2,gr8
126         set_icc         0x0d,2          ; Set mask opposite of expected
127         csll            gr8,gr7,gr8,cc2,0
128         test_icc        1 1 0 1 icc2
129         test_gr_immed   2,gr8
130
131         set_gr_limmed   0xdead,0xbee1,gr7       ; Shift by 1
132         set_gr_immed    2,gr8
133         set_icc         0x0f,2          ; Set mask opposite of expected
134         csll            gr8,gr7,gr8,cc2,0
135         test_icc        1 1 1 1 icc2
136         test_gr_immed   2,gr8
137
138         set_gr_limmed   0xdead,0xbeff,gr7       ; Shift by 31
139         set_gr_immed    1,gr8
140         set_icc         0x07,2          ; Set mask opposite of expected
141         csll            gr8,gr7,gr8,cc6,1
142         test_icc        0 1 1 1 icc2
143         test_gr_immed   1,gr8
144
145         set_gr_limmed   0xdead,0xbeff,gr7       ; clear register
146         set_gr_immed    2,gr8
147         set_icc         0x0a,2          ; Set mask opposite of expected
148         csll            gr8,gr7,gr8,cc6,1
149         test_icc        1 0 1 0 icc2
150         test_gr_immed   2,gr8
151
152         set_gr_limmed   0xdead,0xbee0,gr7       ; Shift by 0
153         set_gr_immed    2,gr8
154         set_icc         0x0d,3          ; Set mask opposite of expected
155         csll            gr8,gr7,gr8,cc3,0
156         test_icc        1 1 0 1 icc3
157         test_gr_immed   2,gr8
158
159         set_gr_limmed   0xdead,0xbee1,gr7       ; Shift by 1
160         set_gr_immed    2,gr8
161         set_icc         0x0f,3          ; Set mask opposite of expected
162         csll            gr8,gr7,gr8,cc3,0
163         test_icc        1 1 1 1 icc3
164         test_gr_immed   2,gr8
165
166         set_gr_limmed   0xdead,0xbeff,gr7       ; Shift by 31
167         set_gr_immed    1,gr8
168         set_icc         0x07,3          ; Set mask opposite of expected
169         csll            gr8,gr7,gr8,cc7,1
170         test_icc        0 1 1 1 icc3
171         test_gr_immed   1,gr8
172
173         set_gr_limmed   0xdead,0xbeff,gr7       ; clear register
174         set_gr_immed    2,gr8
175         set_icc         0x0a,3          ; Set mask opposite of expected
176         csll            gr8,gr7,gr8,cc7,1
177         test_icc        1 0 1 0 icc3
178         test_gr_immed   2,gr8
179
180         pass