1# frv testcase for ldqfu @($GRi,$GRj),$GRk
2# mach: frv
3# as(frv): -mcpu=frv
4
5	.include "testutils.inc"
6
7	start
8
9	.global ldqfu
10ldqfu:
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_fr_iimmed	0xdead,0xbeef,fr8
20	set_fr_iimmed	0xbeef,0xdead,fr9
21	set_fr_iimmed	0x1234,0x5678,fr10
22	set_fr_iimmed	0x9abc,0xdef0,fr11
23
24	set_gr_immed	0,gr7
25	ldqfu 		@(sp,gr7),fr8
26	test_fr_limmed	0x9abc,0xdef0,fr8
27	test_fr_limmed	0x1234,0x5678,fr9
28	test_fr_limmed	0xbeef,0xdead,fr10
29	test_fr_limmed	0xdead,0xbeef,fr11
30	test_gr_gr	sp,gr20
31
32	set_fr_iimmed	0xdead,0xbeef,fr8
33	set_fr_iimmed	0xbeef,0xdead,fr9
34	set_fr_iimmed	0x1234,0x5678,fr10
35	set_fr_iimmed	0x9abc,0xdef0,fr11
36	inc_gr_immed	-16,sp
37	set_gr_immed	16,gr7
38	ldqfu 		@(sp,gr7),fr8
39	test_fr_limmed	0x9abc,0xdef0,fr8
40	test_fr_limmed	0x1234,0x5678,fr9
41	test_fr_limmed	0xbeef,0xdead,fr10
42	test_fr_limmed	0xdead,0xbeef,fr11
43	test_gr_gr	sp,gr20
44
45	set_fr_iimmed	0xdead,0xbeef,fr8
46	set_fr_iimmed	0xbeef,0xdead,fr9
47	set_fr_iimmed	0x1234,0x5678,fr10
48	set_fr_iimmed	0x9abc,0xdef0,fr11
49	inc_gr_immed	16,sp
50	set_gr_immed	-16,gr7
51	ldqfu 		@(sp,gr7),fr8
52	test_fr_limmed	0x9abc,0xdef0,fr8
53	test_fr_limmed	0x1234,0x5678,fr9
54	test_fr_limmed	0xbeef,0xdead,fr10
55	test_fr_limmed	0xdead,0xbeef,fr11
56	test_gr_gr	sp,gr20
57
58	pass
59