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