xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/frv/csthfu.cgs (revision 4b169a6ba595ae283ca507b26b15fdff40495b1c)
1*4b169a6bSchristos# frv testcase for csthfu $FRk,@($GRi,$GRj),$CCi,$cond
2*4b169a6bSchristos# mach: all
3*4b169a6bSchristos
4*4b169a6bSchristos	.include "testutils.inc"
5*4b169a6bSchristos
6*4b169a6bSchristos	start
7*4b169a6bSchristos
8*4b169a6bSchristos	.global csthfu
9*4b169a6bSchristoscsthfu:
10*4b169a6bSchristos	set_spr_immed	0x1b1b,cccr
11*4b169a6bSchristos	set_gr_gr	sp,gr20
12*4b169a6bSchristos
13*4b169a6bSchristos	set_mem_limmed	0xdead,0xbeef,sp
14*4b169a6bSchristos	set_gr_gr	sp,gr21
15*4b169a6bSchristos	set_gr_immed	0,gr7
16*4b169a6bSchristos	set_fr_iimmed	0x1111,0xffff,fr8
17*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc0,1
18*4b169a6bSchristos	test_mem_limmed	0xffff,0xbeef,gr20
19*4b169a6bSchristos	test_gr_gr	sp,gr21
20*4b169a6bSchristos
21*4b169a6bSchristos	inc_gr_immed	2,gr21
22*4b169a6bSchristos	set_gr_immed	2,gr7
23*4b169a6bSchristos	set_fr_iimmed	0xffff,0xaaaa,fr8
24*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc0,1
25*4b169a6bSchristos	test_mem_limmed	0xffff,0xaaaa,gr20
26*4b169a6bSchristos	test_gr_gr	sp,gr21
27*4b169a6bSchristos
28*4b169a6bSchristos	inc_gr_immed	2,sp
29*4b169a6bSchristos	set_gr_immed	-2,gr7
30*4b169a6bSchristos	set_fr_iimmed	0x2222,0xbbbb,fr8
31*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc4,1
32*4b169a6bSchristos	test_mem_limmed	0xffff,0xbbbb,gr20
33*4b169a6bSchristos	test_gr_gr	sp,gr21
34*4b169a6bSchristos
35*4b169a6bSchristos	set_gr_gr	gr20,sp
36*4b169a6bSchristos	set_mem_limmed	0xdead,0xbeef,sp
37*4b169a6bSchristos	set_gr_gr	sp,gr21
38*4b169a6bSchristos	set_gr_immed	0,gr7
39*4b169a6bSchristos	set_fr_iimmed	0x1111,0xffff,fr8
40*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc0,0
41*4b169a6bSchristos	test_mem_limmed	0xdead,0xbeef,gr20
42*4b169a6bSchristos	test_gr_gr	sp,gr21
43*4b169a6bSchristos
44*4b169a6bSchristos	set_gr_immed	2,gr7
45*4b169a6bSchristos	set_fr_iimmed	0xffff,0xaaaa,fr8
46*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc0,0
47*4b169a6bSchristos	test_mem_limmed	0xdead,0xbeef,gr20
48*4b169a6bSchristos	test_gr_gr	sp,gr21
49*4b169a6bSchristos
50*4b169a6bSchristos	inc_gr_immed	4,gr21
51*4b169a6bSchristos	inc_gr_immed	4,sp
52*4b169a6bSchristos	set_gr_immed	-2,gr7
53*4b169a6bSchristos	set_fr_iimmed	0x2222,0xbbbb,fr8
54*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc4,0
55*4b169a6bSchristos	test_mem_limmed	0xdead,0xbeef,gr20
56*4b169a6bSchristos	test_gr_gr	sp,gr21
57*4b169a6bSchristos
58*4b169a6bSchristos	set_gr_gr	gr20,sp
59*4b169a6bSchristos	set_mem_limmed	0xdead,0xbeef,sp
60*4b169a6bSchristos	set_gr_gr	sp,gr21
61*4b169a6bSchristos	set_gr_immed	0,gr7
62*4b169a6bSchristos	set_fr_iimmed	0x1111,0xffff,fr8
63*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc1,0
64*4b169a6bSchristos	test_mem_limmed	0xffff,0xbeef,gr20
65*4b169a6bSchristos	test_gr_gr	sp,gr21
66*4b169a6bSchristos
67*4b169a6bSchristos	inc_gr_immed	2,gr21
68*4b169a6bSchristos	set_gr_immed	2,gr7
69*4b169a6bSchristos	set_fr_iimmed	0xffff,0xaaaa,fr8
70*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc1,0
71*4b169a6bSchristos	test_mem_limmed	0xffff,0xaaaa,gr20
72*4b169a6bSchristos	test_gr_gr	sp,gr21
73*4b169a6bSchristos
74*4b169a6bSchristos	inc_gr_immed	2,sp
75*4b169a6bSchristos	set_gr_immed	-2,gr7
76*4b169a6bSchristos	set_fr_iimmed	0x2222,0xbbbb,fr8
77*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc5,0
78*4b169a6bSchristos	test_mem_limmed	0xffff,0xbbbb,gr20
79*4b169a6bSchristos	test_gr_gr	sp,gr21
80*4b169a6bSchristos
81*4b169a6bSchristos	set_gr_gr	gr20,sp
82*4b169a6bSchristos	set_mem_limmed	0xdead,0xbeef,sp
83*4b169a6bSchristos	set_gr_gr	sp,gr21
84*4b169a6bSchristos	set_gr_immed	0,gr7
85*4b169a6bSchristos	set_fr_iimmed	0x1111,0xffff,fr8
86*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc1,1
87*4b169a6bSchristos	test_mem_limmed	0xdead,0xbeef,gr20
88*4b169a6bSchristos	test_gr_gr	sp,gr21
89*4b169a6bSchristos
90*4b169a6bSchristos	set_gr_immed	2,gr7
91*4b169a6bSchristos	set_fr_iimmed	0xffff,0xaaaa,fr8
92*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc1,1
93*4b169a6bSchristos	test_mem_limmed	0xdead,0xbeef,gr20
94*4b169a6bSchristos	test_gr_gr	sp,gr21
95*4b169a6bSchristos
96*4b169a6bSchristos	inc_gr_immed	4,gr21
97*4b169a6bSchristos	inc_gr_immed	4,sp
98*4b169a6bSchristos	set_gr_immed	-2,gr7
99*4b169a6bSchristos	set_fr_iimmed	0x2222,0xbbbb,fr8
100*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc5,1
101*4b169a6bSchristos	test_mem_limmed	0xdead,0xbeef,gr20
102*4b169a6bSchristos	test_gr_gr	sp,gr21
103*4b169a6bSchristos
104*4b169a6bSchristos	set_gr_gr	gr20,sp
105*4b169a6bSchristos	set_mem_limmed	0xdead,0xbeef,sp
106*4b169a6bSchristos	set_gr_gr	sp,gr21
107*4b169a6bSchristos	set_gr_immed	0,gr7
108*4b169a6bSchristos	set_fr_iimmed	0x1111,0xffff,fr8
109*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc2,0
110*4b169a6bSchristos	test_mem_limmed	0xdead,0xbeef,gr20
111*4b169a6bSchristos	test_gr_gr	sp,gr21
112*4b169a6bSchristos
113*4b169a6bSchristos	set_gr_immed	2,gr7
114*4b169a6bSchristos	set_fr_iimmed	0xffff,0xaaaa,fr8
115*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc2,1
116*4b169a6bSchristos	test_mem_limmed	0xdead,0xbeef,gr20
117*4b169a6bSchristos	test_gr_gr	sp,gr21
118*4b169a6bSchristos
119*4b169a6bSchristos	inc_gr_immed	4,gr21
120*4b169a6bSchristos	inc_gr_immed	4,sp
121*4b169a6bSchristos	set_gr_immed	-2,gr7
122*4b169a6bSchristos	set_fr_iimmed	0x2222,0xbbbb,fr8
123*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc6,0
124*4b169a6bSchristos	test_mem_limmed	0xdead,0xbeef,gr20
125*4b169a6bSchristos	test_gr_gr	sp,gr21
126*4b169a6bSchristos
127*4b169a6bSchristos	set_gr_gr	gr20,sp
128*4b169a6bSchristos	set_mem_limmed	0xdead,0xbeef,sp
129*4b169a6bSchristos	set_gr_gr	sp,gr21
130*4b169a6bSchristos	set_gr_immed	0,gr7
131*4b169a6bSchristos	set_fr_iimmed	0x1111,0xffff,fr8
132*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc3,1
133*4b169a6bSchristos	test_mem_limmed	0xdead,0xbeef,gr20
134*4b169a6bSchristos	test_gr_gr	sp,gr21
135*4b169a6bSchristos
136*4b169a6bSchristos	set_gr_immed	2,gr7
137*4b169a6bSchristos	set_fr_iimmed	0xffff,0xaaaa,fr8
138*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc3,0
139*4b169a6bSchristos	test_mem_limmed	0xdead,0xbeef,gr20
140*4b169a6bSchristos	test_gr_gr	sp,gr21
141*4b169a6bSchristos
142*4b169a6bSchristos	inc_gr_immed	4,gr21
143*4b169a6bSchristos	inc_gr_immed	4,sp
144*4b169a6bSchristos	set_gr_immed	-2,gr7
145*4b169a6bSchristos	set_fr_iimmed	0x2222,0xbbbb,fr8
146*4b169a6bSchristos	csthfu		fr8,@(sp,gr7),cc7,1
147*4b169a6bSchristos	test_mem_limmed	0xdead,0xbeef,gr20
148*4b169a6bSchristos	test_gr_gr	sp,gr21
149*4b169a6bSchristos
150*4b169a6bSchristos	pass
151