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