1# frv testcase for nldqf @($GRi,$GRj),$GRk
2# mach: frv
3# as(frv): -mcpu=frv
4
5	.include "testutils.inc"
6
7	start
8
9	.global nldqf
10nldqf:
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_fr_iimmed	0xdead,0xbeef,fr8
19	set_fr_iimmed	0xbeef,0xdead,fr9
20	set_fr_iimmed	0x1234,0x5678,fr10
21	set_fr_iimmed	0x9abc,0xdef0,fr11
22
23	set_gr_gr	sp,gr20
24	set_gr_immed	0,gr7
25	nldqf 		@(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_spr_limmed	0xc8c0,0x0001,nesr0
31	test_spr_gr	neear0,gr20
32	test_spr_limmed	0x0000,0x0000,fner1
33	test_spr_limmed	0x0000,0x0000,fner0
34
35	set_fr_iimmed	0xdead,0xbeef,fr8
36	set_fr_iimmed	0xbeef,0xdead,fr9
37	set_fr_iimmed	0x1234,0x5678,fr10
38	set_fr_iimmed	0x9abc,0xdef0,fr11
39	inc_gr_immed	-16,sp
40	set_gr_immed	16,gr7
41	nldqf 		@(sp,gr7),fr8
42	test_fr_limmed	0x9abc,0xdef0,fr8
43	test_fr_limmed	0x1234,0x5678,fr9
44	test_fr_limmed	0xbeef,0xdead,fr10
45	test_fr_limmed	0xdead,0xbeef,fr11
46	test_spr_limmed	0xc8c0,0x0401,nesr1
47	test_spr_gr	neear1,gr20
48	test_spr_limmed	0x0000,0x0000,fner1
49	test_spr_limmed	0x0000,0x0000,fner0
50
51	set_fr_iimmed	0xdead,0xbeef,fr8
52	set_fr_iimmed	0xbeef,0xdead,fr9
53	set_fr_iimmed	0x1234,0x5678,fr10
54	set_fr_iimmed	0x9abc,0xdef0,fr11
55	inc_gr_immed	32,sp
56	set_gr_immed	-16,gr7
57	nldqf 		@(sp,gr7),fr8
58	test_fr_limmed	0x9abc,0xdef0,fr8
59	test_fr_limmed	0x1234,0x5678,fr9
60	test_fr_limmed	0xbeef,0xdead,fr10
61	test_fr_limmed	0xdead,0xbeef,fr11
62	test_spr_limmed	0xc8c0,0x0801,nesr2
63	test_spr_gr	neear2,gr20
64	test_spr_limmed	0x0000,0x0000,fner1
65	test_spr_limmed	0x0000,0x0000,fner0
66
67	pass
68