xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/sh/movli.s (revision 4b169a6ba595ae283ca507b26b15fdff40495b1c)
1# sh testcase for movli
2# mach:	 all
3# as(sh):	-defsym sim_cpu=0
4# as(shdsp):	-defsym sim_cpu=1 -dsp
5
6	.include "testutils.inc"
7
8	.align 2
9x:	.long	1
10y:	.long	2
11z:	.long	3
12
13	start
14	set_grs_a5a5
15	mov.l	xptr, r1
16	mov.l	yptr, r2
17	# Move linked/conditional, x to y
18	movli.l	@r1, r0
19	movco.l r0, @r2
20
21	# Check result.
22	assertreg0 1
23	mov.l	yptr, r1
24	mov.l	@r1, r2
25	assertreg  1, r2
26
27	# Now attempt an unlinked move of r0 to z
28	mov.l	zptr, r1
29	movco.l	r0, @r1
30
31	# Check that z is unchanged.
32	mov.l	zptr, r1
33	mov.l	@r1, r2
34	assertreg 3, r2
35
36	test_gr_a5a5	r3
37	test_gr_a5a5	r4
38	test_gr_a5a5	r5
39	test_gr_a5a5	r6
40	test_gr_a5a5	r7
41	test_gr_a5a5	r8
42	test_gr_a5a5	r9
43	test_gr_a5a5	r10
44	test_gr_a5a5	r11
45	test_gr_a5a5	r12
46	test_gr_a5a5	r13
47	test_gr_a5a5	r14
48
49	pass
50	exit 0
51
52	.align 2
53xptr:	.long	x
54yptr:	.long	y
55zptr:	.long	z
56