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