123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- # 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
-
|