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