1# sh testcase for push/pop (mov,movml,movmu...) insns. 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 start 9movml_1: 10 set_greg 0, r0 11 set_greg 1, r1 12 set_greg 2, r2 13 set_greg 3, r3 14 set_greg 4, r4 15 set_greg 5, r5 16 set_greg 6, r6 17 set_greg 7, r7 18 set_greg 8, r8 19 set_greg 9, r9 20 set_greg 10, r10 21 set_greg 11, r11 22 set_greg 12, r12 23 set_greg 13, r13 24 set_greg 14, r14 25 set_sreg 15, pr 26 27 movml.l r15,@-r15 28 29 assertmem stackt-4, 15 30 assertmem stackt-8, 14 31 assertmem stackt-12, 13 32 assertmem stackt-16, 12 33 assertmem stackt-20, 11 34 assertmem stackt-24, 10 35 assertmem stackt-28, 9 36 assertmem stackt-32, 8 37 assertmem stackt-36, 7 38 assertmem stackt-40, 6 39 assertmem stackt-44, 5 40 assertmem stackt-48, 4 41 assertmem stackt-52, 3 42 assertmem stackt-56, 2 43 assertmem stackt-60, 1 44 assertmem stackt-64, 0 45 46 assertreg0 0 47 assertreg 1, r1 48 assertreg 2, r2 49 assertreg 3, r3 50 assertreg 4, r4 51 assertreg 5, r5 52 assertreg 6, r6 53 assertreg 7, r7 54 assertreg 8, r8 55 assertreg 9, r9 56 assertreg 10, r10 57 assertreg 11, r11 58 assertreg 12, r12 59 assertreg 13, r13 60 assertreg 14, r14 61 mov r15, r0 62 assertreg0 stackt-64 63 64movml_2: 65 set_grs_a5a5 66 movml.l @r15+, r15 67 assert_sreg 15, pr 68 assertreg0 0 69 assertreg 1, r1 70 assertreg 2, r2 71 assertreg 3, r3 72 assertreg 4, r4 73 assertreg 5, r5 74 assertreg 6, r6 75 assertreg 7, r7 76 assertreg 8, r8 77 assertreg 9, r9 78 assertreg 10, r10 79 assertreg 11, r11 80 assertreg 12, r12 81 assertreg 13, r13 82 assertreg 14, r14 83 mov r15, r0 84 assertreg0 stackt 85 86movmu_1: 87 set_grs_a5a5 88 add #1,r14 89 add #2,r13 90 add #3,r12 91 set_sreg 0xa5a5,pr 92 93 movmu.l r12,@-r15 94 95 assert_sreg 0xa5a5,pr 96 assertreg 0xa5a5a5a6, r14 97 assertreg 0xa5a5a5a7, r13 98 assertreg 0xa5a5a5a8, r12 99 test_gr_a5a5 r11 100 test_gr_a5a5 r10 101 test_gr_a5a5 r9 102 test_gr_a5a5 r8 103 test_gr_a5a5 r7 104 test_gr_a5a5 r6 105 test_gr_a5a5 r5 106 test_gr_a5a5 r4 107 test_gr_a5a5 r3 108 test_gr_a5a5 r2 109 test_gr_a5a5 r1 110 test_gr_a5a5 r0 111 mov r15, r0 112 assertreg stackt-16, r0 113 114 assertmem stackt-4, 0xa5a5 115 assertmem stackt-8, 0xa5a5a5a6 116 assertmem stackt-12, 0xa5a5a5a7 117 assertmem stackt-16, 0xa5a5a5a8 118 119movmu_2: 120 set_grs_a5a5 121 movmu.l @r15+,r12 122 123 assert_sreg 0xa5a5, pr 124 assertreg 0xa5a5a5a6, r14 125 assertreg 0xa5a5a5a7, r13 126 assertreg 0xa5a5a5a8, r12 127 test_gr_a5a5 r11 128 test_gr_a5a5 r10 129 test_gr_a5a5 r9 130 test_gr_a5a5 r8 131 test_gr_a5a5 r7 132 test_gr_a5a5 r6 133 test_gr_a5a5 r5 134 test_gr_a5a5 r4 135 test_gr_a5a5 r3 136 test_gr_a5a5 r2 137 test_gr_a5a5 r1 138 test_gr_a5a5 r0 139 mov r15, r0 140 assertreg stackt, r0 141 142 pass 143 144 exit 0 145 146