tc-i386.c fix for oss-fuzz gas fuzzing
[binutils-gdb.git] / sim / testsuite / sh / pshai.s
blobcbc3573141e883fe609e8543ad8fbd160a8cadc1
1 # sh testcase for psha <imm>
2 # mach: shdsp
3 # as(shdsp): -defsym sim_cpu=1 -dsp
5 .include "testutils.inc"
7 start
9 psha_imm: ! shift arithmetic, immediate operand
10 set_grs_a5a5
11 lds r0, a0
12 pcopy a0, a1
13 lds r0, x0
14 lds r0, x1
15 lds r0, y0
16 lds r0, y1
17 pcopy x0, m0
18 pcopy y1, m1
20 set_sreg 0x1, a0
21 psha #0, a0
22 assert_sreg 0x1, a0
23 psha #-0, a0
24 assert_sreg 0x1, a0
26 psha #1, a0
27 assert_sreg 0x2, a0
28 psha #-1, a0
29 assert_sreg 0x1, a0
31 psha #2, a0
32 assert_sreg 0x4, a0
33 psha #-2, a0
34 assert_sreg 0x1, a0
36 psha #3, a0
37 assert_sreg 0x8, a0
38 psha #-3, a0
39 assert_sreg 0x1, a0
41 psha #4, a0
42 assert_sreg 0x10, a0
43 psha #-4, a0
44 assert_sreg 0x1, a0
46 psha #5, a0
47 assert_sreg 0x20, a0
48 psha #-5, a0
49 assert_sreg 0x1, a0
51 psha #6, a0
52 assert_sreg 0x40, a0
53 psha #-6, a0
54 assert_sreg 0x1, a0
56 psha #7, a0
57 assert_sreg 0x80, a0
58 psha #-7, a0
59 assert_sreg 0x1, a0
61 psha #8, a0
62 assert_sreg 0x100, a0
63 psha #-8, a0
64 assert_sreg 0x1, a0
66 psha #9, a0
67 assert_sreg 0x200, a0
68 psha #-9, a0
69 assert_sreg 0x1, a0
71 psha #10, a0
72 assert_sreg 0x400, a0
73 psha #-10, a0
74 assert_sreg 0x1, a0
76 psha #11, a0
77 assert_sreg 0x800, a0
78 psha #-11, a0
79 assert_sreg 0x1, a0
81 psha #12, a0
82 assert_sreg 0x1000, a0
83 psha #-12, a0
84 assert_sreg 0x1, a0
86 psha #13, a0
87 assert_sreg 0x2000, a0
88 psha #-13, a0
89 assert_sreg 0x1, a0
91 psha #14, a0
92 assert_sreg 0x4000, a0
93 psha #-14, a0
94 assert_sreg 0x1, a0
96 psha #15, a0
97 assert_sreg 0x8000, a0
98 psha #-15, a0
99 assert_sreg 0x1, a0
101 psha #16, a0
102 assert_sreg 0x10000, a0
103 psha #-16, a0
104 assert_sreg 0x1, a0
106 psha #17, a0
107 assert_sreg 0x20000, a0
108 psha #-17, a0
109 assert_sreg 0x1, a0
111 psha #18, a0
112 assert_sreg 0x40000, a0
113 psha #-18, a0
114 assert_sreg 0x1, a0
116 psha #19, a0
117 assert_sreg 0x80000, a0
118 psha #-19, a0
119 assert_sreg 0x1, a0
121 psha #20, a0
122 assert_sreg 0x100000, a0
123 psha #-20, a0
124 assert_sreg 0x1, a0
126 psha #21, a0
127 assert_sreg 0x200000, a0
128 psha #-21, a0
129 assert_sreg 0x1, a0
131 psha #22, a0
132 assert_sreg 0x400000, a0
133 psha #-22, a0
134 assert_sreg 0x1, a0
136 psha #23, a0
137 assert_sreg 0x800000, a0
138 psha #-23, a0
139 assert_sreg 0x1, a0
141 psha #24, a0
142 assert_sreg 0x1000000, a0
143 psha #-24, a0
144 assert_sreg 0x1, a0
146 psha #25, a0
147 assert_sreg 0x2000000, a0
148 psha #-25, a0
149 assert_sreg 0x1, a0
151 psha #26, a0
152 assert_sreg 0x4000000, a0
153 psha #-26, a0
154 assert_sreg 0x1, a0
156 psha #27, a0
157 assert_sreg 0x8000000, a0
158 psha #-27, a0
159 assert_sreg 0x1, a0
161 psha #28, a0
162 assert_sreg 0x10000000, a0
163 psha #-28, a0
164 assert_sreg 0x1, a0
166 psha #29, a0
167 assert_sreg 0x20000000, a0
168 psha #-29, a0
169 assert_sreg 0x1, a0
171 psha #30, a0
172 assert_sreg 0x40000000, a0
173 psha #-30, a0
174 assert_sreg 0x1, a0
176 psha #31, a0
177 assert_sreg 0x80000000, a0
178 psha #-31, a0
179 assert_sreg 0xffffffff, a0
181 psha #32, a0
182 assert_sreg 0x00000000, a0
183 # I don't grok what should happen here...
184 # psha #-32, a0
185 # assert_sreg 0x0, a0
187 test_grs_a5a5
188 assert_sreg2 0xa5a5a5a5, a1
189 assert_sreg 0xa5a5a5a5, x0
190 assert_sreg 0xa5a5a5a5, x1
191 assert_sreg 0xa5a5a5a5, y0
192 assert_sreg 0xa5a5a5a5, y1
193 assert_sreg2 0xa5a5a5a5, m0
194 assert_sreg2 0xa5a5a5a5, m1
197 pass
198 exit 0