1# sh testcase for pshl <reg> 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 9 10pshl_reg: ! shift arithmetic, register operand 11 set_grs_a5a5 12 lds r0, a0 13 pcopy a0, a1 14 lds r0, x0 15 lds r0, x1 16 lds r0, y0 17 lds r0, y1 18 pcopy x0, m0 19 pcopy y1, m1 20 21 set_sreg 0x10000, x0 22 set_sreg 0x0, y0 23 pshl x0, y0, x0 24 assert_sreg 0x10000, x0 25 pneg y0, y0 26 pshl x0, y0, x0 27 assert_sreg 0x10000, x0 28 29 set_sreg 0x10000, y0 30 pshl x0, y0, x0 31 assert_sreg 0x20000, x0 32 pneg y0, y0 33 pshl x0, y0, x0 34 assert_sreg 0x10000, x0 35 36 set_sreg 0x20000, y0 37 pshl x0, y0, x0 38 assert_sreg 0x40000, x0 39 pneg y0, y0 40 pshl x0, y0, x0 41 assert_sreg 0x10000, x0 42 43 set_sreg 0x30000, y0 44 pshl x0, y0, x0 45 assert_sreg 0x80000, x0 46 pneg y0, y0 47 pshl x0, y0, x0 48 assert_sreg 0x10000, x0 49 50 set_sreg 0x40000, y0 51 pshl x0, y0, x0 52 assert_sreg 0x100000, x0 53 pneg y0, y0 54 pshl x0, y0, x0 55 assert_sreg 0x10000, x0 56 57 set_sreg 0x50000, y0 58 pshl x0, y0, x0 59 assert_sreg 0x200000, x0 60 pneg y0, y0 61 pshl x0, y0, x0 62 assert_sreg 0x10000, x0 63 64 set_sreg 0x60000, y0 65 pshl x0, y0, x0 66 assert_sreg 0x400000, x0 67 pneg y0, y0 68 pshl x0, y0, x0 69 assert_sreg 0x10000, x0 70 71 set_sreg 0x70000, y0 72 pshl x0, y0, x0 73 assert_sreg 0x800000, x0 74 pneg y0, y0 75 pshl x0, y0, x0 76 assert_sreg 0x10000, x0 77 78 set_sreg 0x80000, y0 79 pshl x0, y0, x0 80 assert_sreg 0x1000000, x0 81 pneg y0, y0 82 pshl x0, y0, x0 83 assert_sreg 0x10000, x0 84 85 set_sreg 0x90000, y0 86 pshl x0, y0, x0 87 assert_sreg 0x2000000, x0 88 pneg y0, y0 89 pshl x0, y0, x0 90 assert_sreg 0x10000, x0 91 92 set_sreg 0xa0000, y0 93 pshl x0, y0, x0 94 assert_sreg 0x4000000, x0 95 pneg y0, y0 96 pshl x0, y0, x0 97 assert_sreg 0x10000, x0 98 99 set_sreg 0xb0000, y0 100 pshl x0, y0, x0 101 assert_sreg 0x8000000, x0 102 pneg y0, y0 103 pshl x0, y0, x0 104 assert_sreg 0x10000, x0 105 106 set_sreg 0xc0000, y0 107 pshl x0, y0, x0 108 assert_sreg 0x10000000, x0 109 pneg y0, y0 110 pshl x0, y0, x0 111 assert_sreg 0x10000, x0 112 113 set_sreg 0xd0000, y0 114 pshl x0, y0, x0 115 assert_sreg 0x20000000, x0 116 pneg y0, y0 117 pshl x0, y0, x0 118 assert_sreg 0x10000, x0 119 120 set_sreg 0xe0000, y0 121 pshl x0, y0, x0 122 assert_sreg 0x40000000, x0 123 pneg y0, y0 124 pshl x0, y0, x0 125 assert_sreg 0x10000, x0 126 127 set_sreg 0xf0000, y0 128 pshl x0, y0, x0 129 assert_sreg 0x80000000, x0 130 pneg y0, y0 131 pshl x0, y0, x0 132 assert_sreg 0x10000, x0 133 134 set_sreg 0x100000, y0 135 pshl x0, y0, x0 136 assert_sreg 0x00000000, x0 137 pneg y0, y0 138 pshl x0, y0, x0 139 assert_sreg 0x0, x0 140 141 test_grs_a5a5 142 assert_sreg2 0xa5a5a5a5, a0 143 assert_sreg2 0xa5a5a5a5, a1 144 assert_sreg 0xa5a5a5a5, x1 145 assert_sreg 0xa5a5a5a5, y1 146 assert_sreg2 0xa5a5a5a5, m0 147 assert_sreg2 0xa5a5a5a5, m1 148 149 150 pass 151 exit 0 152 153