1*6ca2c52aSchristos# frv testcase for clduhu @($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 clduhu
9*6ca2c52aSchristosclduhu:
10*6ca2c52aSchristos	set_spr_immed	0x1b1b,cccr
11*6ca2c52aSchristos	set_gr_gr	sp,gr20
12*6ca2c52aSchristos
13*6ca2c52aSchristos	set_mem_limmed	0xdead,0xbeef,sp
14*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr8
15*6ca2c52aSchristos
16*6ca2c52aSchristos	set_gr_gr	sp,gr9
17*6ca2c52aSchristos	set_gr_immed	0,gr7
18*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc0,1
19*6ca2c52aSchristos	test_gr_limmed	0x0000,0xdead,gr8
20*6ca2c52aSchristos	test_gr_gr	sp,gr9
21*6ca2c52aSchristos
22*6ca2c52aSchristos	inc_gr_immed	2,gr9
23*6ca2c52aSchristos	set_gr_immed	2,gr7
24*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc0,1
25*6ca2c52aSchristos	test_gr_limmed	0x0000,0xbeef,gr8
26*6ca2c52aSchristos	test_gr_gr	sp,gr9
27*6ca2c52aSchristos
28*6ca2c52aSchristos	inc_gr_immed	-2,sp
29*6ca2c52aSchristos	set_mem_limmed	0xffff,0x0000,sp
30*6ca2c52aSchristos	inc_gr_immed	4,sp
31*6ca2c52aSchristos	set_gr_immed	-2,gr7
32*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc4,1
33*6ca2c52aSchristos	test_gr_limmed	0x0000,0x0000,gr8
34*6ca2c52aSchristos	test_gr_gr	sp,gr9
35*6ca2c52aSchristos
36*6ca2c52aSchristos	set_gr_gr	gr20,sp
37*6ca2c52aSchristos	set_mem_limmed	0xdead,0xbeef,sp
38*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr8
39*6ca2c52aSchristos
40*6ca2c52aSchristos	set_gr_gr	sp,gr9
41*6ca2c52aSchristos	set_gr_immed	0,gr7
42*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc0,0
43*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
44*6ca2c52aSchristos	test_gr_gr	sp,gr9
45*6ca2c52aSchristos
46*6ca2c52aSchristos	set_gr_immed	2,gr7
47*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc0,0
48*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
49*6ca2c52aSchristos	test_gr_gr	sp,gr9
50*6ca2c52aSchristos
51*6ca2c52aSchristos	inc_gr_immed	4,gr9
52*6ca2c52aSchristos	set_mem_limmed	0xffff,0x0000,sp
53*6ca2c52aSchristos	inc_gr_immed	4,sp
54*6ca2c52aSchristos	set_gr_immed	-2,gr7
55*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc4,0
56*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
57*6ca2c52aSchristos	test_gr_gr	sp,gr9
58*6ca2c52aSchristos
59*6ca2c52aSchristos	set_gr_gr	sp,gr20
60*6ca2c52aSchristos	set_mem_limmed	0xdead,0xbeef,sp
61*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr8
62*6ca2c52aSchristos
63*6ca2c52aSchristos	set_gr_gr	sp,gr9
64*6ca2c52aSchristos	set_gr_immed	0,gr7
65*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc1,0
66*6ca2c52aSchristos	test_gr_limmed	0x0000,0xdead,gr8
67*6ca2c52aSchristos	test_gr_gr	sp,gr9
68*6ca2c52aSchristos
69*6ca2c52aSchristos	inc_gr_immed	2,gr9
70*6ca2c52aSchristos	set_gr_immed	2,gr7
71*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc1,0
72*6ca2c52aSchristos	test_gr_limmed	0x0000,0xbeef,gr8
73*6ca2c52aSchristos	test_gr_gr	sp,gr9
74*6ca2c52aSchristos
75*6ca2c52aSchristos	inc_gr_immed	-2,sp
76*6ca2c52aSchristos	set_mem_limmed	0xffff,0x0000,sp
77*6ca2c52aSchristos	inc_gr_immed	4,sp
78*6ca2c52aSchristos	set_gr_immed	-2,gr7
79*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc5,0
80*6ca2c52aSchristos	test_gr_limmed	0x0000,0x0000,gr8
81*6ca2c52aSchristos	test_gr_gr	sp,gr9
82*6ca2c52aSchristos
83*6ca2c52aSchristos	set_gr_gr	gr20,sp
84*6ca2c52aSchristos	set_mem_limmed	0xdead,0xbeef,sp
85*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr8
86*6ca2c52aSchristos
87*6ca2c52aSchristos	set_gr_gr	sp,gr9
88*6ca2c52aSchristos	set_gr_immed	0,gr7
89*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc1,1
90*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
91*6ca2c52aSchristos	test_gr_gr	sp,gr9
92*6ca2c52aSchristos
93*6ca2c52aSchristos	set_gr_immed	2,gr7
94*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc1,1
95*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
96*6ca2c52aSchristos	test_gr_gr	sp,gr9
97*6ca2c52aSchristos
98*6ca2c52aSchristos	inc_gr_immed	4,gr9
99*6ca2c52aSchristos	set_mem_limmed	0xffff,0x0000,sp
100*6ca2c52aSchristos	inc_gr_immed	4,sp
101*6ca2c52aSchristos	set_gr_immed	-2,gr7
102*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc5,1
103*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
104*6ca2c52aSchristos	test_gr_gr	sp,gr9
105*6ca2c52aSchristos
106*6ca2c52aSchristos	set_gr_gr	gr20,sp
107*6ca2c52aSchristos	set_mem_limmed	0xdead,0xbeef,sp
108*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr8
109*6ca2c52aSchristos
110*6ca2c52aSchristos	set_gr_gr	sp,gr9
111*6ca2c52aSchristos	set_gr_immed	0,gr7
112*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc2,0
113*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
114*6ca2c52aSchristos	test_gr_gr	sp,gr9
115*6ca2c52aSchristos
116*6ca2c52aSchristos	set_gr_immed	2,gr7
117*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc2,1
118*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
119*6ca2c52aSchristos	test_gr_gr	sp,gr9
120*6ca2c52aSchristos
121*6ca2c52aSchristos	inc_gr_immed	4,gr9
122*6ca2c52aSchristos	set_mem_limmed	0xffff,0x0000,sp
123*6ca2c52aSchristos	inc_gr_immed	4,sp
124*6ca2c52aSchristos	set_gr_immed	-2,gr7
125*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc6,0
126*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
127*6ca2c52aSchristos	test_gr_gr	sp,gr9
128*6ca2c52aSchristos
129*6ca2c52aSchristos	set_gr_gr	gr20,sp
130*6ca2c52aSchristos	set_mem_limmed	0xdead,0xbeef,sp
131*6ca2c52aSchristos	set_gr_limmed	0xbeef,0xdead,gr8
132*6ca2c52aSchristos
133*6ca2c52aSchristos	set_gr_gr	sp,gr9
134*6ca2c52aSchristos	set_gr_immed	0,gr7
135*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc3,1
136*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
137*6ca2c52aSchristos	test_gr_gr	sp,gr9
138*6ca2c52aSchristos
139*6ca2c52aSchristos	set_gr_immed	2,gr7
140*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc3,0
141*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
142*6ca2c52aSchristos	test_gr_gr	sp,gr9
143*6ca2c52aSchristos
144*6ca2c52aSchristos	inc_gr_immed	4,gr9
145*6ca2c52aSchristos	set_mem_limmed	0xffff,0x0000,sp
146*6ca2c52aSchristos	inc_gr_immed	4,sp
147*6ca2c52aSchristos	set_gr_immed	-2,gr7
148*6ca2c52aSchristos	clduhu 		@(sp,gr7),gr8,cc7,1
149*6ca2c52aSchristos	test_gr_limmed	0xbeef,0xdead,gr8
150*6ca2c52aSchristos	test_gr_gr	sp,gr9
151*6ca2c52aSchristos
152*6ca2c52aSchristos	set_gr_gr	gr20,sp
153*6ca2c52aSchristos	set_mem_limmed	0xdead,0xbeef,sp
154*6ca2c52aSchristos	set_gr_gr	sp,gr8
155*6ca2c52aSchristos	set_gr_immed	2,gr7
156*6ca2c52aSchristos	clduhu 		@(gr8,gr7),gr8,cc0,1
157*6ca2c52aSchristos	test_gr_limmed	0x0000,0xbeef,gr8
158*6ca2c52aSchristos
159*6ca2c52aSchristos	pass
160