1# frv testcase for ldqu @($GRi,$GRj),$GRk
2# mach: frv
3# as(frv): -mcpu=frv
4
5	.include "testutils.inc"
6
7	start
8
9	.global ldqu
10ldqu:
11	set_mem_limmed	0xdead,0xbeef,sp
12	inc_gr_immed	-4,sp
13	set_mem_limmed	0xbeef,0xdead,sp
14	inc_gr_immed	-4,sp
15	set_mem_limmed	0x1234,0x5678,sp
16	inc_gr_immed	-4,sp
17	set_mem_limmed	0x9abc,0xdef0,sp
18	set_gr_gr	sp,gr20
19	set_gr_limmed	0xdead,0xbeef,gr8
20	set_gr_limmed	0xbeef,0xdead,gr9
21	set_gr_limmed	0x1234,0x5678,gr10
22	set_gr_limmed	0x9abc,0xdef0,gr11
23
24	set_gr_immed	0,gr7
25	ldqu 		@(sp,gr7),gr8
26	test_gr_limmed	0x9abc,0xdef0,gr8
27	test_gr_limmed	0x1234,0x5678,gr9
28	test_gr_limmed	0xbeef,0xdead,gr10
29	test_gr_limmed	0xdead,0xbeef,gr11
30	test_gr_gr	sp,gr20
31
32	set_gr_limmed	0xdead,0xbeef,gr8
33	set_gr_limmed	0xbeef,0xdead,gr9
34	set_gr_limmed	0x1234,0x5678,gr10
35	set_gr_limmed	0x9abc,0xdef0,gr11
36	inc_gr_immed	-16,sp
37	set_gr_immed	16,gr7
38	ldqu 		@(sp,gr7),gr8
39	test_gr_limmed	0x9abc,0xdef0,gr8
40	test_gr_limmed	0x1234,0x5678,gr9
41	test_gr_limmed	0xbeef,0xdead,gr10
42	test_gr_limmed	0xdead,0xbeef,gr11
43	test_gr_gr	sp,gr20
44
45	set_gr_limmed	0xdead,0xbeef,gr8
46	set_gr_limmed	0xbeef,0xdead,gr9
47	set_gr_limmed	0x1234,0x5678,gr10
48	set_gr_limmed	0x9abc,0xdef0,gr11
49	inc_gr_immed	16,sp
50	set_gr_immed	-16,gr7
51	ldqu 		@(sp,gr7),gr8
52	test_gr_limmed	0x9abc,0xdef0,gr8
53	test_gr_limmed	0x1234,0x5678,gr9
54	test_gr_limmed	0xbeef,0xdead,gr10
55	test_gr_limmed	0xdead,0xbeef,gr11
56	test_gr_gr	sp,gr20
57
58	set_gr_limmed	0xdead,0xbeef,gr8
59	set_gr_limmed	0xbeef,0xdead,gr9
60	set_gr_limmed	0x1234,0x5678,gr10
61	set_gr_limmed	0x9abc,0xdef0,gr11
62	inc_gr_immed	16,sp
63	set_gr_immed	-16,gr7
64	set_gr_gr	sp,gr8
65	ldqu 		@(gr8,gr7),gr8
66	test_gr_limmed	0x9abc,0xdef0,gr8
67	test_gr_limmed	0x1234,0x5678,gr9
68	test_gr_limmed	0xbeef,0xdead,gr10
69	test_gr_limmed	0xdead,0xbeef,gr11
70
71	pass
72