Add qemu 2.4.0
[kvmfornfv.git] / qemu / tests / tcg / cris / check_bcc.s
1         .global main
2         .type   main, @function
3 main:
4         clearf nzvc
5         setf   nzv
6         bcc    0f
7         addq   1, $r3
8         jump   dofail
9
10 0:
11         clearf nzvc
12         setf   nzv
13         bcs    dofail
14         addq   1,$r3
15
16         clearf nzvc
17         setf   ncv
18         bne    1f
19         addq   1, $r3
20
21 fail:
22 dofail:
23         jump    _fail
24
25 1:
26         clearf nzvc
27         setf ncv
28         beq dofail
29         addq 1,$r3
30
31         clearf nzvc
32         setf ncz
33         bvc 2f
34         addq 1,$r3
35         jump dofail
36
37 2:
38         clearf nzvc
39         setf ncz
40         bvs dofail
41         addq 1,$r3
42
43         clearf  nzvc
44         setf    vcz
45         bpl     3f
46         addq    1,$r3
47         jump    fail
48 3:
49         clearf  nzvc
50         setf    vcz
51         bmi     dofail
52         addq    1,$r3
53
54         clearf  nzvc
55         setf    nv
56         bls     dofail
57         addq    1,$r3
58
59         clearf  nzvc
60         setf    nv
61         bhi     4f
62         addq    1,$r3
63         jump    dofail
64
65 4:
66         clearf  nzvc
67         setf    zc
68         bge     5f
69         addq    1,$r3
70         jump    dofail
71
72 5:
73         clearf  nzvc
74         setf zc
75         blt dofail
76         addq 1,$r3
77
78         clearf nzvc
79         setf c
80         bgt 6f
81         addq 1,$r3
82         jump  fail
83
84 6:
85  clearf nzvc
86  setf c
87  ble dofail
88  addq 1,$r3
89
90 ;;;;;;;;;;
91
92  setf nzvc
93  clearf nzv
94  bcc dofail
95  addq 1,$r3
96
97  setf nzvc
98  clearf nzv
99  bcs 0f
100  addq 1,$r3
101  jump fail
102
103 0:
104  setf nzvc
105  clearf ncv
106  bne dofail
107  addq 1,$r3
108
109  setf nzvc
110  clearf ncv
111  beq 1f
112  addq 1,$r3
113  jump fail
114
115 1:
116  setf nzvc
117  clearf ncz
118  bvc dofail
119  addq 1,$r3
120
121  setf nzvc
122  clearf ncz
123  bvs 2f
124  addq 1,$r3
125  jump fail
126
127 2:
128  setf nzvc
129  clearf vcz
130  bpl dofail
131  addq 1,$r3
132
133  setf nzvc
134  clearf vcz
135  bmi 3f
136  addq 1,$r3
137  jump fail
138
139 3:
140  setf nzvc
141  clearf nv
142  bls 4f
143  addq 1,$r3
144  jump fail
145
146 4:
147  setf nzvc
148  clearf nv
149  bhi dofail
150  addq 1,$r3
151
152  setf zvc
153  clearf nzc
154  bge dofail
155  addq 1,$r3
156
157  setf nzc
158  clearf vzc
159  blt 5f
160  addq 1,$r3
161  jump fail
162
163 5:
164  setf nzvc
165  clearf c
166  bgt dofail
167  addq 1,$r3
168
169  setf nzvc
170  clearf c
171  ble 6f
172  addq 1,$r3
173  jump fail
174
175 6:
176         ; do a forward branch.
177         ba   2f
178         nop
179         .fill   100
180 1:
181         ba      3f
182         nop
183         .fill   800
184 2:
185         ba      1b
186         nop
187         .fill   1024
188 3:
189
190         moveq   31, $r0
191 1:      bne     1b
192         subq    1, $r0
193
194         jsr     pass
195         moveq   0, $r10
196         ret
197         nop