xref: /netbsd-src/external/gpl3/gdb.old/dist/sim/testsuite/frv/fr400/movgs.cgs (revision 8e33eff89e26cf71871ead62f0d5063e1313c33a)
1# frv testcase for movgs $GRj,iacc0[hl]
2# mach: fr400
3
4	.include "../testutils.inc"
5
6	start
7
8	.global movgs
9IACC0H:
10	set_gr_limmed	0xdead,0xbeef,gr8
11	and_spr_immed	0,iacc0h
12	movgs gr8,iacc0h
13	test_gr_limmed	0xdead,0xbeef,gr8
14	test_spr_limmed	0xdead,0xbeef,iacc0h
15SPR280:
16	; try alternate names for iacc0h
17	and_spr_immed	0,280
18	movgs gr8,spr[280]			; iacc0h is spr number 280
19	test_gr_limmed	0xdead,0xbeef,gr8
20	test_spr_limmed	0xdead,0xbeef,spr[280]
21
22IACC0L:
23	set_gr_limmed	0xdead,0xbeef,gr8
24	and_spr_immed	0,iacc0l
25	movgs gr8,iacc0l
26	test_gr_limmed	0xdead,0xbeef,gr8
27	test_spr_limmed	0xdead,0xbeef,iacc0l
28SPR281:
29	; try alternate names for iacc0l
30	and_spr_immed	0,281
31	movgs gr8,spr[281]			; iacc0l is spr number 281
32	test_gr_limmed	0xdead,0xbeef,gr8
33	test_spr_limmed	0xdead,0xbeef,spr[281]
34
35IACC0L_SPR281:
36	; try crossing between iacc0l and spr[281]
37	and_spr_immed	0,281
38	and_spr_immed	0,iacc0l
39	movgs gr8,spr[281]			; iacc0l is spr number 281
40	test_gr_limmed	0xdead,0xbeef,gr8
41	test_spr_limmed	0xdead,0xbeef,iacc0l
42
43SPR280_IACC0H:
44	and_spr_immed	0,280
45	and_spr_immed	0,iacc0h
46	movgs gr8,iacc0h			; iacc0h is spr number 280
47	test_gr_limmed	0xdead,0xbeef,gr8
48	test_spr_limmed	0xdead,0xbeef,spr[280]
49
50	pass
51