1*6ca2c52aSchristos# frv testcase for clddu @($GRi,$GRj),$GRk,$CCi,$cond
2*6ca2c52aSchristos# mach: all
3*6ca2c52aSchristos
4*6ca2c52aSchristos	.include "testutils.inc"
5*6ca2c52aSchristos
6*6ca2c52aSchristos	start
7*6ca2c52aSchristos
8*6ca2c52aSchristos	.global clddu
9*6ca2c52aSchristosclddu:
10*6ca2c52aSchristos	set_spr_immed	0x1b1b,cccr
11*6ca2c52aSchristos	set_gr_gr	sp,gr21
12*6ca2c52aSchristos
13*6ca2c52aSchristos	set_mem_limmed	0xdead,0xbeef,sp
14*6ca2c52aSchristos	inc_gr_immed	-4,sp
15*6ca2c52aSchristos	set_mem_limmed	0xbeef,0xdead,sp
16*6ca2c52aSchristos	set_gr_gr	sp,gr20
17*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
18*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
19*6ca2c52aSchristos
20*6ca2c52aSchristos	set_gr_immed	0,gr7
21*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc0,1
22*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
23*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr9
24*6ca2c52aSchristos	test_gr_gr	sp,gr20
25*6ca2c52aSchristos
26*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
27*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
28*6ca2c52aSchristos	inc_gr_immed	-8,sp
29*6ca2c52aSchristos	set_gr_immed	8,gr7
30*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc0,1
31*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
32*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr9
33*6ca2c52aSchristos	test_gr_gr	sp,gr20
34*6ca2c52aSchristos
35*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
36*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
37*6ca2c52aSchristos	inc_gr_immed	8,sp
38*6ca2c52aSchristos	set_gr_immed	-8,gr7
39*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc4,1
40*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
41*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr9
42*6ca2c52aSchristos	test_gr_gr	sp,gr20
43*6ca2c52aSchristos
44*6ca2c52aSchristos	set_gr_gr	gr21,sp
45*6ca2c52aSchristos	set_mem_limmed	0xdead,0xbeef,sp
46*6ca2c52aSchristos	inc_gr_immed	-4,sp
47*6ca2c52aSchristos	set_mem_limmed	0xbeef,0xdead,sp
48*6ca2c52aSchristos	set_gr_gr	sp,gr20
49*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
50*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
51*6ca2c52aSchristos
52*6ca2c52aSchristos	set_gr_immed	0,gr7
53*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc0,0
54*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr8
55*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr9
56*6ca2c52aSchristos	test_gr_gr	sp,gr20
57*6ca2c52aSchristos
58*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
59*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
60*6ca2c52aSchristos	inc_gr_immed	-8,gr20
61*6ca2c52aSchristos	inc_gr_immed	-8,sp
62*6ca2c52aSchristos	set_gr_immed	8,gr7
63*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc0,0
64*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr8
65*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr9
66*6ca2c52aSchristos	test_gr_gr	sp,gr20
67*6ca2c52aSchristos
68*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
69*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
70*6ca2c52aSchristos	inc_gr_immed	16,gr20
71*6ca2c52aSchristos	inc_gr_immed	16,sp
72*6ca2c52aSchristos	set_gr_immed	-8,gr7
73*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc4,0
74*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr8
75*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr9
76*6ca2c52aSchristos	test_gr_gr	sp,gr20
77*6ca2c52aSchristos
78*6ca2c52aSchristos	set_gr_gr	gr21,sp
79*6ca2c52aSchristos	set_mem_limmed	0xdead,0xbeef,sp
80*6ca2c52aSchristos	inc_gr_immed	-4,sp
81*6ca2c52aSchristos	set_mem_limmed	0xbeef,0xdead,sp
82*6ca2c52aSchristos	set_gr_gr	sp,gr20
83*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
84*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
85*6ca2c52aSchristos
86*6ca2c52aSchristos	set_gr_immed	0,gr7
87*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc1,0
88*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
89*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr9
90*6ca2c52aSchristos	test_gr_gr	sp,gr20
91*6ca2c52aSchristos
92*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
93*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
94*6ca2c52aSchristos	inc_gr_immed	-8,sp
95*6ca2c52aSchristos	set_gr_immed	8,gr7
96*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc1,0
97*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
98*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr9
99*6ca2c52aSchristos	test_gr_gr	sp,gr20
100*6ca2c52aSchristos
101*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
102*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
103*6ca2c52aSchristos	inc_gr_immed	8,sp
104*6ca2c52aSchristos	set_gr_immed	-8,gr7
105*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc5,0
106*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
107*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr9
108*6ca2c52aSchristos	test_gr_gr	sp,gr20
109*6ca2c52aSchristos
110*6ca2c52aSchristos	set_gr_gr	gr21,sp
111*6ca2c52aSchristos	set_mem_limmed	0xdead,0xbeef,sp
112*6ca2c52aSchristos	inc_gr_immed	-4,sp
113*6ca2c52aSchristos	set_mem_limmed	0xbeef,0xdead,sp
114*6ca2c52aSchristos	set_gr_gr	sp,gr20
115*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
116*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
117*6ca2c52aSchristos
118*6ca2c52aSchristos	set_gr_immed	0,gr7
119*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc1,1
120*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr8
121*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr9
122*6ca2c52aSchristos	test_gr_gr	sp,gr20
123*6ca2c52aSchristos
124*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
125*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
126*6ca2c52aSchristos	inc_gr_immed	-8,gr20
127*6ca2c52aSchristos	inc_gr_immed	-8,sp
128*6ca2c52aSchristos	set_gr_immed	8,gr7
129*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc1,1
130*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr8
131*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr9
132*6ca2c52aSchristos	test_gr_gr	sp,gr20
133*6ca2c52aSchristos
134*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
135*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
136*6ca2c52aSchristos	inc_gr_immed	16,gr20
137*6ca2c52aSchristos	inc_gr_immed	16,sp
138*6ca2c52aSchristos	set_gr_immed	-8,gr7
139*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc5,1
140*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr8
141*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr9
142*6ca2c52aSchristos	test_gr_gr	sp,gr20
143*6ca2c52aSchristos
144*6ca2c52aSchristos	set_gr_gr	gr21,sp
145*6ca2c52aSchristos	set_mem_limmed	0xdead,0xbeef,sp
146*6ca2c52aSchristos	inc_gr_immed	-4,sp
147*6ca2c52aSchristos	set_mem_limmed	0xbeef,0xdead,sp
148*6ca2c52aSchristos	set_gr_gr	sp,gr20
149*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
150*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
151*6ca2c52aSchristos
152*6ca2c52aSchristos	set_gr_immed	0,gr7
153*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc2,0
154*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr8
155*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr9
156*6ca2c52aSchristos	test_gr_gr	sp,gr20
157*6ca2c52aSchristos
158*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
159*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
160*6ca2c52aSchristos	inc_gr_immed	-8,gr20
161*6ca2c52aSchristos	inc_gr_immed	-8,sp
162*6ca2c52aSchristos	set_gr_immed	8,gr7
163*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc2,1
164*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr8
165*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr9
166*6ca2c52aSchristos	test_gr_gr	sp,gr20
167*6ca2c52aSchristos
168*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
169*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
170*6ca2c52aSchristos	inc_gr_immed	16,gr20
171*6ca2c52aSchristos	inc_gr_immed	16,sp
172*6ca2c52aSchristos	set_gr_immed	-8,gr7
173*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc6,0
174*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr8
175*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr9
176*6ca2c52aSchristos	test_gr_gr	sp,gr20
177*6ca2c52aSchristos
178*6ca2c52aSchristos	set_gr_gr	gr21,sp
179*6ca2c52aSchristos	set_mem_limmed	0xdead,0xbeef,sp
180*6ca2c52aSchristos	inc_gr_immed	-4,sp
181*6ca2c52aSchristos	set_mem_limmed	0xbeef,0xdead,sp
182*6ca2c52aSchristos	set_gr_gr	sp,gr20
183*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
184*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
185*6ca2c52aSchristos
186*6ca2c52aSchristos	set_gr_immed	0,gr7
187*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc3,1
188*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr8
189*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr9
190*6ca2c52aSchristos	test_gr_gr	sp,gr20
191*6ca2c52aSchristos
192*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
193*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
194*6ca2c52aSchristos	inc_gr_immed	-8,gr20
195*6ca2c52aSchristos	inc_gr_immed	-8,sp
196*6ca2c52aSchristos	set_gr_immed	8,gr7
197*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc3,0
198*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr8
199*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr9
200*6ca2c52aSchristos	test_gr_gr	sp,gr20
201*6ca2c52aSchristos
202*6ca2c52aSchristos	set_gr_limmed	0xdead,0xbeef,gr8
203*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr9
204*6ca2c52aSchristos	inc_gr_immed	16,gr20
205*6ca2c52aSchristos	inc_gr_immed	16,sp
206*6ca2c52aSchristos	set_gr_immed	-8,gr7
207*6ca2c52aSchristos	clddu 		@(sp,gr7),gr8,cc7,1
208*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr8
209*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr9
210*6ca2c52aSchristos	test_gr_gr	sp,gr20
211*6ca2c52aSchristos
212*6ca2c52aSchristos	set_gr_gr	gr21,gr8
213*6ca2c52aSchristos	inc_gr_immed	-12,gr8
214*6ca2c52aSchristos	set_gr_immed	8,gr7
215*6ca2c52aSchristos	clddu 		@(gr8,gr7),gr8,cc0,1
216*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
217*6ca2c52aSchristos	test_gr_limmed	0xdead,0xbeef,gr9
218*6ca2c52aSchristos
219*6ca2c52aSchristos	pass
220