1 1.1 christos # sh testcase for pshl <imm> 2 1.1 christos # mach: shdsp 3 1.1 christos # as(shdsp): -defsym sim_cpu=1 -dsp 4 1.1 christos 5 1.1 christos .include "testutils.inc" 6 1.1 christos 7 1.1 christos start 8 1.1 christos 9 1.1 christos pshl_imm: ! shift logical, immediate operand 10 1.1 christos set_grs_a5a5 11 1.1 christos lds r0, a0 12 1.1 christos pcopy a0, a1 13 1.1 christos lds r0, x0 14 1.1 christos lds r0, x1 15 1.1 christos lds r0, y0 16 1.1 christos lds r0, y1 17 1.1 christos pcopy x0, m0 18 1.1 christos pcopy y1, m1 19 1.1 christos 20 1.1 christos set_sreg 0x10000, a0 21 1.1 christos pshl #0, a0 22 1.1 christos assert_sreg 0x10000, a0 23 1.1 christos pshl #-0, a0 24 1.1 christos assert_sreg 0x10000, a0 25 1.1 christos 26 1.1 christos pshl #1, a0 27 1.1 christos assert_sreg 0x20000, a0 28 1.1 christos pshl #-1, a0 29 1.1 christos assert_sreg 0x10000, a0 30 1.1 christos 31 1.1 christos pshl #2, a0 32 1.1 christos assert_sreg 0x40000, a0 33 1.1 christos pshl #-2, a0 34 1.1 christos assert_sreg 0x10000, a0 35 1.1 christos 36 1.1 christos pshl #3, a0 37 1.1 christos assert_sreg 0x80000, a0 38 1.1 christos pshl #-3, a0 39 1.1 christos assert_sreg 0x10000, a0 40 1.1 christos 41 1.1 christos pshl #4, a0 42 1.1 christos assert_sreg 0x100000, a0 43 1.1 christos pshl #-4, a0 44 1.1 christos assert_sreg 0x10000, a0 45 1.1 christos 46 1.1 christos pshl #5, a0 47 1.1 christos assert_sreg 0x200000, a0 48 1.1 christos pshl #-5, a0 49 1.1 christos assert_sreg 0x10000, a0 50 1.1 christos 51 1.1 christos pshl #6, a0 52 1.1 christos assert_sreg 0x400000, a0 53 1.1 christos pshl #-6, a0 54 1.1 christos assert_sreg 0x10000, a0 55 1.1 christos 56 1.1 christos pshl #7, a0 57 1.1 christos assert_sreg 0x800000, a0 58 1.1 christos pshl #-7, a0 59 1.1 christos assert_sreg 0x10000, a0 60 1.1 christos 61 1.1 christos pshl #8, a0 62 1.1 christos assert_sreg 0x1000000, a0 63 1.1 christos pshl #-8, a0 64 1.1 christos assert_sreg 0x10000, a0 65 1.1 christos 66 1.1 christos pshl #9, a0 67 1.1 christos assert_sreg 0x2000000, a0 68 1.1 christos pshl #-9, a0 69 1.1 christos assert_sreg 0x10000, a0 70 1.1 christos 71 1.1 christos pshl #10, a0 72 1.1 christos assert_sreg 0x4000000, a0 73 1.1 christos pshl #-10, a0 74 1.1 christos assert_sreg 0x10000, a0 75 1.1 christos 76 1.1 christos pshl #11, a0 77 1.1 christos assert_sreg 0x8000000, a0 78 1.1 christos pshl #-11, a0 79 1.1 christos assert_sreg 0x10000, a0 80 1.1 christos 81 1.1 christos pshl #12, a0 82 1.1 christos assert_sreg 0x10000000, a0 83 1.1 christos pshl #-12, a0 84 1.1 christos assert_sreg 0x10000, a0 85 1.1 christos 86 1.1 christos pshl #13, a0 87 1.1 christos assert_sreg 0x20000000, a0 88 1.1 christos pshl #-13, a0 89 1.1 christos assert_sreg 0x10000, a0 90 1.1 christos 91 1.1 christos pshl #14, a0 92 1.1 christos assert_sreg 0x40000000, a0 93 1.1 christos pshl #-14, a0 94 1.1 christos assert_sreg 0x10000, a0 95 1.1 christos 96 1.1 christos pshl #15, a0 97 1.1 christos assert_sreg 0x80000000, a0 98 1.1 christos pshl #-15, a0 99 1.1 christos assert_sreg 0x10000, a0 100 1.1 christos 101 1.1 christos pshl #16, a0 102 1.1 christos assert_sreg 0x00000000, a0 103 1.1 christos pshl #-16, a0 104 1.1 christos assert_sreg 0x0, a0 105 1.1 christos 106 1.1 christos test_grs_a5a5 107 1.1 christos assert_sreg2 0xa5a5a5a5, a1 108 1.1 christos assert_sreg 0xa5a5a5a5, x0 109 1.1 christos assert_sreg 0xa5a5a5a5, x1 110 1.1 christos assert_sreg 0xa5a5a5a5, y0 111 1.1 christos assert_sreg 0xa5a5a5a5, y1 112 1.1 christos assert_sreg2 0xa5a5a5a5, m0 113 1.1 christos assert_sreg2 0xa5a5a5a5, m1 114 1.1 christos 115 1.1 christos 116 1.1 christos pass 117 1.1 christos exit 0 118 1.1 christos 119