pshli.s revision 1.1 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