1# frv parallel testcase for stq $GRk,@($GRi,$GRj)
2# mach: frv
3# as(frv): -mcpu=frv
4
5	.include "testutils.inc"
6
7	start
8
9	.global stq
10stq:
11	set_mem_limmed	0xbeef,0xdead,sp
12	inc_gr_immed	-4,sp
13	set_mem_limmed	0xdead,0xbeef,sp
14	inc_gr_immed	-4,sp
15	set_mem_limmed	0xdead,0xdead,sp
16	inc_gr_immed	-4,sp
17	set_mem_limmed	0xbeef,0xbeef,sp
18	set_gr_immed	0,gr7
19	set_gr_limmed	0xbeef,0xdead,gr8
20	set_gr_limmed	0xdead,0xbeef,gr9
21	set_gr_limmed	0xdead,0xdead,gr10
22	set_gr_limmed	0xbeef,0xbeef,gr11
23	stq		gr8,@(sp,gr7)		; non parallel
24	test_mem_limmed	0xbeef,0xdead,sp
25	inc_gr_immed	4,sp
26	test_mem_limmed	0xdead,0xbeef,sp
27	inc_gr_immed	4,sp
28	test_mem_limmed	0xdead,0xdead,sp
29	inc_gr_immed	4,sp
30	test_mem_limmed	0xbeef,0xbeef,sp
31
32	set_mem_limmed	0xbeef,0xdead,sp
33	inc_gr_immed	-4,sp
34	set_mem_limmed	0xdead,0xbeef,sp
35	inc_gr_immed	-4,sp
36	set_mem_limmed	0xdead,0xdead,sp
37	inc_gr_immed	-4,sp
38	set_mem_limmed	0xbeef,0xbeef,sp
39	set_gr_immed	0,gr7
40	set_gr_limmed	0xbeef,0xdead,gr8
41	set_gr_limmed	0xdead,0xbeef,gr9
42	set_gr_limmed	0xdead,0xdead,gr10
43	set_gr_limmed	0xbeef,0xbeef,gr11
44	stq.p		gr8,@(sp,gr7)		; parallel
45	setlos		0,gr8
46	ldq		@(sp,gr7),gr12
47	test_mem_limmed	0xbeef,0xdead,sp	; memory is set
48	inc_gr_immed	4,sp
49	test_mem_limmed	0xdead,0xbeef,sp
50	inc_gr_immed	4,sp
51	test_mem_limmed	0xdead,0xdead,sp
52	inc_gr_immed	4,sp
53	test_mem_limmed	0xbeef,0xbeef,sp
54	test_gr_immed	0xbeefdead,gr12
55	test_gr_immed	0xdeadbeef,gr13
56	test_gr_immed	0xdeaddead,gr14
57	test_gr_immed	0xbeefbeef,gr15
58
59	pass
60