OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gdb-7.2/] [sim/] [testsuite/] [sim/] [sh/] [pushpop.s] - Rev 841

Compare with Previous | Blame | View Log

# sh testcase for push/pop (mov,movml,movmu...) insns.
# mach:	 all
# as(sh):	-defsym sim_cpu=0
# as(shdsp):	-defsym sim_cpu=1 -dsp 
 
	.include "testutils.inc"
 
	start
movml_1:
	set_greg 0, r0
	set_greg 1, r1
	set_greg 2, r2
	set_greg 3, r3
	set_greg 4, r4
	set_greg 5, r5
	set_greg 6, r6
	set_greg 7, r7
	set_greg 8, r8
	set_greg 9, r9
	set_greg 10, r10
	set_greg 11, r11
	set_greg 12, r12
	set_greg 13, r13
	set_greg 14, r14
	set_sreg 15, pr
 
	movml.l		r15,@-r15
 
	assertmem	stackt-4,  15
	assertmem	stackt-8,  14
	assertmem	stackt-12, 13
	assertmem	stackt-16, 12
	assertmem	stackt-20, 11
	assertmem	stackt-24, 10
	assertmem	stackt-28, 9
	assertmem	stackt-32, 8
	assertmem	stackt-36, 7
	assertmem	stackt-40, 6
	assertmem	stackt-44, 5
	assertmem	stackt-48, 4
	assertmem	stackt-52, 3
	assertmem	stackt-56, 2
	assertmem	stackt-60, 1
	assertmem	stackt-64, 0
 
	assertreg0	0
	assertreg	1, r1
	assertreg	2, r2
	assertreg	3, r3
	assertreg	4, r4
	assertreg	5, r5
	assertreg	6, r6
	assertreg	7, r7
	assertreg	8, r8
	assertreg	9, r9
	assertreg	10, r10
	assertreg	11, r11
	assertreg	12, r12
	assertreg	13, r13
	assertreg	14, r14
	mov		r15, r0
	assertreg0	stackt-64
 
movml_2:
	set_grs_a5a5
	movml.l		@r15+, r15
	assert_sreg	15, pr
	assertreg0	0
	assertreg	1, r1
	assertreg	2, r2
	assertreg	3, r3
	assertreg	4, r4
	assertreg	5, r5
	assertreg	6, r6
	assertreg	7, r7
	assertreg	8, r8
	assertreg	9, r9
	assertreg	10, r10
	assertreg	11, r11
	assertreg	12, r12
	assertreg	13, r13
	assertreg	14, r14
	mov		r15, r0
	assertreg0	stackt
 
movmu_1:
	set_grs_a5a5
	add	#1,r14
	add	#2,r13
	add	#3,r12
	set_sreg 0xa5a5,pr
 
	movmu.l	r12,@-r15
 
	assert_sreg	0xa5a5,pr
	assertreg	0xa5a5a5a6, r14
	assertreg	0xa5a5a5a7, r13
	assertreg	0xa5a5a5a8, r12
	test_gr_a5a5	r11
	test_gr_a5a5	r10
	test_gr_a5a5	r9
	test_gr_a5a5	r8
	test_gr_a5a5	r7
	test_gr_a5a5	r6
	test_gr_a5a5	r5
	test_gr_a5a5	r4
	test_gr_a5a5	r3
	test_gr_a5a5	r2
	test_gr_a5a5	r1
	test_gr_a5a5	r0
	mov	r15, r0
	assertreg	stackt-16, r0
 
	assertmem	stackt-4, 0xa5a5
	assertmem	stackt-8, 0xa5a5a5a6
	assertmem	stackt-12, 0xa5a5a5a7
	assertmem	stackt-16, 0xa5a5a5a8
 
movmu_2:
	set_grs_a5a5
	movmu.l		@r15+,r12
 
	assert_sreg	0xa5a5, pr
	assertreg	0xa5a5a5a6, r14
	assertreg	0xa5a5a5a7, r13
	assertreg	0xa5a5a5a8, r12
	test_gr_a5a5	r11
	test_gr_a5a5	r10
	test_gr_a5a5	r9
	test_gr_a5a5	r8
	test_gr_a5a5	r7
	test_gr_a5a5	r6
	test_gr_a5a5	r5
	test_gr_a5a5	r4
	test_gr_a5a5	r3
	test_gr_a5a5	r2
	test_gr_a5a5	r1
	test_gr_a5a5	r0
	mov	r15, r0
	assertreg	stackt, r0
 
	pass
 
	exit 0
 
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.