1# frv testcase for swapi @($GRi,$GRj),$GRk
2# mach: all
3
4	.include "testutils.inc"
5
6	start
7
8	.global swapi
9swapi:
10	set_gr_gr		sp,gr20
11	set_mem_limmed		0xdead,0xbeef,sp
12	inc_gr_immed		-4,sp
13	set_gr_gr		sp,gr21
14	set_mem_limmed		0xbeef,0xdead,sp
15	inc_gr_immed		-4,sp
16	set_gr_gr		sp,gr22
17	set_mem_limmed		0xdead,0xbeef,sp
18	inc_gr_immed		4,sp
19
20	set_gr_limmed		0xbeef,0xdead,gr8
21	swapi 			@(sp,-4),gr8
22	test_gr_limmed		0xdead,0xbeef,gr8
23	test_mem_limmed		0xbeef,0xdead,gr22
24	test_mem_limmed		0xbeef,0xdead,gr21
25	test_mem_limmed		0xdead,0xbeef,gr20
26
27	swapi 			@(sp,0),gr8
28	test_gr_limmed		0xbeef,0xdead,gr8
29	test_mem_limmed		0xbeef,0xdead,gr22
30	test_mem_limmed		0xdead,0xbeef,gr21
31	test_mem_limmed		0xdead,0xbeef,gr20
32
33	swapi 			@(sp,4),gr8
34	test_gr_limmed		0xdead,0xbeef,gr8
35	test_mem_limmed		0xbeef,0xdead,gr22
36	test_mem_limmed		0xdead,0xbeef,gr21
37	test_mem_limmed		0xbeef,0xdead,gr20
38
39	pass
40