1# frv testcase for nlddfi @($GRi,$d12),$GRk
2# mach: frv
3
4	.include "testutils.inc"
5
6	start
7
8	.global nlddfi
9nlddfi:
10	set_mem_limmed	0xdead,0xbeef,sp
11	inc_gr_immed	-4,sp
12	set_mem_limmed	0xbeef,0xdead,sp
13	set_fr_iimmed	0xdead,0xbeef,fr8
14	set_fr_iimmed	0xbeef,0xdead,fr9
15
16	set_gr_gr	sp,gr20
17	nlddfi 		@(sp,0),fr8
18	test_fr_limmed	0xbeef,0xdead,fr8
19	test_fr_limmed	0xdead,0xbeef,fr9
20	test_spr_limmed	0xc8a0,0x0001,nesr0
21	test_spr_gr	neear0,gr20
22	test_spr_limmed	0x0000,0x0000,fner1
23	test_spr_limmed	0x0000,0x0000,fner0
24
25	set_fr_iimmed	0xdead,0xbeef,fr8
26	set_fr_iimmed	0xbeef,0xdead,fr9
27	inc_gr_immed	-8,sp
28	nlddfi 		@(sp,8),fr8
29	test_fr_limmed	0xbeef,0xdead,fr8
30	test_fr_limmed	0xdead,0xbeef,fr9
31	test_spr_limmed	0xc8a0,0x0401,nesr1
32	test_spr_gr	neear1,gr20
33	test_spr_limmed	0x0000,0x0000,fner1
34	test_spr_limmed	0x0000,0x0000,fner0
35
36	set_fr_iimmed	0xdead,0xbeef,fr8
37	set_fr_iimmed	0xbeef,0xdead,fr9
38	inc_gr_immed	16,sp
39	nlddfi 		@(sp,-8),fr8
40	test_fr_limmed	0xbeef,0xdead,fr8
41	test_fr_limmed	0xdead,0xbeef,fr9
42	test_spr_limmed	0xc8a0,0x0801,nesr2
43	test_spr_gr	neear2,gr20
44	test_spr_limmed	0x0000,0x0000,fner1
45	test_spr_limmed	0x0000,0x0000,fner0
46
47	pass
48