# 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