1# frv testcase for nldqu @($GRi,$GRj),$GRk
2# mach: frv
3# as(frv): -mcpu=frv
4
5	.include "testutils.inc"
6
7	start
8
9	.global nldqu
10nldqu:
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	nldqu 		@(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	test_spr_limmed	0x88c0,0x0001,nesr0
32	test_spr_gr	neear0,gr20
33	test_spr_limmed	0x0000,0x0000,gner1
34	test_spr_limmed	0x0000,0x0000,gner0
35
36	set_gr_limmed	0xdead,0xbeef,gr8
37	set_gr_limmed	0xbeef,0xdead,gr9
38	set_gr_limmed	0x1234,0x5678,gr10
39	set_gr_limmed	0x9abc,0xdef0,gr11
40	inc_gr_immed	-16,sp
41	set_gr_immed	16,gr7
42	nldqu 		@(sp,gr7),gr8
43	test_gr_limmed	0x9abc,0xdef0,gr8
44	test_gr_limmed	0x1234,0x5678,gr9
45	test_gr_limmed	0xbeef,0xdead,gr10
46	test_gr_limmed	0xdead,0xbeef,gr11
47	test_gr_gr	sp,gr20
48	test_spr_limmed	0x88c0,0x0401,nesr1
49	test_spr_gr	neear1,gr20
50	test_spr_limmed	0x0000,0x0000,gner1
51	test_spr_limmed	0x0000,0x0000,gner0
52
53	set_gr_limmed	0xdead,0xbeef,gr8
54	set_gr_limmed	0xbeef,0xdead,gr9
55	set_gr_limmed	0x1234,0x5678,gr10
56	set_gr_limmed	0x9abc,0xdef0,gr11
57	inc_gr_immed	16,sp
58	set_gr_immed	-16,gr7
59	nldqu 		@(sp,gr7),gr8
60	test_gr_limmed	0x9abc,0xdef0,gr8
61	test_gr_limmed	0x1234,0x5678,gr9
62	test_gr_limmed	0xbeef,0xdead,gr10
63	test_gr_limmed	0xdead,0xbeef,gr11
64	test_gr_gr	sp,gr20
65	test_spr_limmed	0x88c0,0x0801,nesr2
66	test_spr_gr	neear2,gr20
67	test_spr_limmed	0x0000,0x0000,gner1
68	test_spr_limmed	0x0000,0x0000,gner0
69
70	set_gr_limmed	0xdead,0xbeef,gr8
71	set_gr_limmed	0xbeef,0xdead,gr9
72	set_gr_limmed	0x1234,0x5678,gr10
73	set_gr_limmed	0x9abc,0xdef0,gr11
74	inc_gr_immed	16,sp
75	set_gr_immed	-16,gr7
76	set_gr_gr	sp,gr8
77	nldqu 		@(gr8,gr7),gr8
78	test_gr_limmed	0x9abc,0xdef0,gr8
79	test_gr_limmed	0x1234,0x5678,gr9
80	test_gr_limmed	0xbeef,0xdead,gr10
81	test_gr_limmed	0xdead,0xbeef,gr11
82	test_spr_limmed	0x88c0,0x0c01,nesr3
83	test_spr_gr	neear3,gr20
84	test_spr_limmed	0x0000,0x0000,gner1
85	test_spr_limmed	0x0000,0x0000,gner0
86
87	pass
88