Commit | Line | Data |
---|---|---|
800eeca4 JW |
1 | .text |
2 | .type _start,@function | |
3 | _start: | |
4 | ||
5 | pmpyshr2 r4 = r5, r6, 0 | |
6 | pmpyshr2.u r4 = r5, r6, 16 | |
7 | ||
8 | pmpy2.r r4 = r5, r6 | |
9 | pmpy2.l r4 = r5, r6 | |
10 | ||
11 | mix1.r r4 = r5, r6 | |
12 | mix2.r r4 = r5, r6 | |
13 | mix4.r r4 = r5, r6 | |
14 | mix1.l r4 = r5, r6 | |
15 | mix2.l r4 = r5, r6 | |
16 | mix4.l r4 = r5, r6 | |
17 | ||
18 | pack2.uss r4 = r5, r6 | |
19 | pack2.sss r4 = r5, r6 | |
20 | pack4.sss r4 = r5, r6 | |
21 | ||
22 | unpack1.h r4 = r5, r6 | |
23 | unpack2.h r4 = r5, r6 | |
24 | unpack4.h r4 = r5, r6 | |
25 | unpack1.l r4 = r5, r6 | |
26 | unpack2.l r4 = r5, r6 | |
27 | unpack4.l r4 = r5, r6 | |
28 | ||
29 | pmin1.u r4 = r5, r6 | |
30 | pmax1.u r4 = r5, r6 | |
31 | ||
32 | pmin2 r4 = r5, r6 | |
33 | pmax2 r4 = r5, r6 | |
34 | ||
35 | psad1 r4 = r5, r6 | |
36 | ||
37 | mux1 r4 = r5, @rev | |
38 | mux1 r4 = r5, @mix | |
39 | mux1 r4 = r5, @shuf | |
40 | mux1 r4 = r5, @alt | |
41 | mux1 r4 = r5, @brcst | |
42 | ||
43 | mux2 r4 = r5, 0 | |
44 | mux2 r4 = r5, 0xff | |
45 | mux2 r4 = r5, 0xaa | |
46 | ||
47 | pshr2 r4 = r5, r6 | |
48 | pshr2 r4 = r5, 0 | |
49 | pshr2 r4 = r5, 8 | |
50 | pshr2 r4 = r5, 31 | |
51 | ||
52 | pshr4 r4 = r5, r6 | |
53 | pshr4 r4 = r5, 0 | |
54 | pshr4 r4 = r5, 8 | |
55 | pshr4 r4 = r5, 31 | |
56 | ||
57 | pshr2.u r4 = r5, r6 | |
58 | pshr2.u r4 = r5, 0 | |
59 | pshr2.u r4 = r5, 8 | |
60 | pshr2.u r4 = r5, 31 | |
61 | ||
62 | pshr4.u r4 = r5, r6 | |
63 | pshr4.u r4 = r5, 0 | |
64 | pshr4.u r4 = r5, 8 | |
65 | pshr4.u r4 = r5, 31 | |
66 | ||
67 | shr r4 = r5, r6 | |
68 | shr.u r4 = r5, r6 | |
69 | ||
70 | pshl2 r4 = r5, r6 | |
71 | pshl2 r4 = r5, 0 | |
72 | pshl2 r4 = r5, 8 | |
73 | pshl2 r4 = r5, 31 | |
74 | ||
75 | pshl4 r4 = r5, r6 | |
76 | pshl4 r4 = r5, 0 | |
77 | pshl4 r4 = r5, 8 | |
78 | pshl4 r4 = r5, 31 | |
79 | ||
80 | shl r4 = r5, r6 | |
81 | ||
82 | popcnt r4 = r5 | |
83 | ||
84 | shrp r4 = r5, r6, 0 | |
85 | shrp r4 = r5, r6, 12 | |
86 | shrp r4 = r5, r6, 63 | |
87 | ||
88 | extr r4 = r5, 0, 16 | |
89 | extr r4 = r5, 0, 63 | |
90 | extr r4 = r5, 10, 40 | |
91 | ||
92 | extr.u r4 = r5, 0, 16 | |
93 | extr.u r4 = r5, 0, 63 | |
94 | extr.u r4 = r5, 10, 40 | |
95 | ||
96 | dep.z r4 = r5, 0, 16 | |
97 | dep.z r4 = r5, 0, 63 | |
98 | dep.z r4 = r5, 10, 40 | |
99 | dep.z r4 = 0, 0, 16 | |
100 | dep.z r4 = 127, 0, 63 | |
101 | dep.z r4 = -128, 5, 50 | |
102 | dep.z r4 = 0x55, 10, 40 | |
103 | ||
104 | dep r4 = 0, r5, 0, 16 | |
105 | dep r4 = -1, r5, 0, 63 | |
8d82e76a JW |
106 | // Insert padding NOPs to force the same template selection as IAS. |
107 | nop.m 0 | |
108 | nop.f 0 | |
800eeca4 JW |
109 | dep r4 = r5, r6, 10, 7 |
110 | ||
111 | movl r4 = 0 | |
112 | movl r4 = 0xffffffffffffffff | |
113 | movl r4 = 0x1234567890abcdef | |
114 | ||
115 | break.i 0 | |
116 | break.i 0x1fffff | |
117 | ||
118 | nop.i 0 | |
119 | nop.i 0x1fffff | |
120 | ||
121 | chk.s.i r4, _start | |
122 | ||
123 | mov r4 = b0 | |
124 | mov b0 = r4 | |
125 | ||
126 | mov pr = r4, 0 | |
127 | mov pr = r4, 0x1234 | |
128 | mov pr = r4, 0x1ffff | |
129 | ||
130 | mov pr.rot = 0 | |
c4479208 JW |
131 | // ??? This was originally 0x3ffffff, but that generates an assembler warning |
132 | // that the testsuite infrastructure isn't set up to ignore. | |
800eeca4 JW |
133 | mov pr.rot = 0x3ff0000 |
134 | mov pr.rot = -0x4000000 | |
135 | ||
136 | zxt1 r4 = r5 | |
137 | zxt2 r4 = r5 | |
138 | zxt4 r4 = r5 | |
139 | ||
140 | sxt1 r4 = r5 | |
141 | sxt2 r4 = r5 | |
142 | sxt4 r4 = r5 | |
143 | ||
144 | czx1.l r4 = r5 | |
145 | czx2.l r4 = r5 | |
146 | czx1.r r4 = r5 | |
147 | czx2.r r4 = r5 | |
148 | ||
149 | tbit.z p2, p3 = r4, 0 | |
150 | tbit.z.unc p2, p3 = r4, 1 | |
151 | tbit.z.and p2, p3 = r4, 2 | |
152 | tbit.z.or p2, p3 = r4, 3 | |
153 | tbit.z.or.andcm p2, p3 = r4, 4 | |
154 | tbit.z.orcm p2, p3 = r4, 5 | |
155 | tbit.z.andcm p2, p3 = r4, 6 | |
156 | tbit.z.and.orcm p2, p3 = r4, 7 | |
157 | tbit.nz p2, p3 = r4, 8 | |
158 | tbit.nz.unc p2, p3 = r4, 9 | |
159 | tbit.nz.and p2, p3 = r4, 10 | |
160 | tbit.nz.or p2, p3 = r4, 11 | |
161 | tbit.nz.or.andcm p2, p3 = r4, 12 | |
162 | tbit.nz.orcm p2, p3 = r4, 13 | |
163 | tbit.nz.andcm p2, p3 = r4, 14 | |
164 | tbit.nz.and.orcm p2, p3 = r4, 15 | |
165 | ||
166 | tnat.z p2, p3 = r4 | |
167 | tnat.z.unc p2, p3 = r4 | |
168 | tnat.z.and p2, p3 = r4 | |
169 | tnat.z.or p2, p3 = r4 | |
170 | tnat.z.or.andcm p2, p3 = r4 | |
171 | tnat.z.orcm p2, p3 = r4 | |
172 | tnat.z.andcm p2, p3 = r4 | |
173 | tnat.z.and.orcm p2, p3 = r4 | |
174 | tnat.nz p2, p3 = r4 | |
175 | tnat.nz.unc p2, p3 = r4 | |
176 | tnat.nz.and p2, p3 = r4 | |
177 | tnat.nz.or p2, p3 = r4 | |
178 | tnat.nz.or.andcm p2, p3 = r4 | |
179 | tnat.nz.orcm p2, p3 = r4 | |
180 | tnat.nz.andcm p2, p3 = r4 | |
181 | tnat.nz.and.orcm p2, p3 = r4 | |
182 | ||
c4479208 JW |
183 | mov b3 = r4, .L1 |
184 | mov.imp b3 = r4, .L1 | |
185 | .space 240 | |
800eeca4 | 186 | .L1: |
c4479208 JW |
187 | mov.sptk b3 = r4, .L2 |
188 | mov.sptk.imp b3 = r4, .L2 | |
189 | .space 240 | |
800eeca4 | 190 | .L2: |
c4479208 JW |
191 | mov.dptk b3 = r4, .L3 |
192 | mov.dptk.imp b3 = r4, .L3 | |
193 | .space 240 | |
800eeca4 | 194 | .L3: |
c4479208 JW |
195 | |
196 | mov.ret b3 = r4, .L4 | |
197 | mov.ret.imp b3 = r4, .L4 | |
198 | .space 240 | |
800eeca4 | 199 | .L4: |
c4479208 JW |
200 | mov.ret.sptk b3 = r4, .L5 |
201 | mov.ret.sptk.imp b3 = r4, .L5 | |
202 | .space 240 | |
800eeca4 | 203 | .L5: |
c4479208 JW |
204 | mov.ret.dptk b3 = r4, .L6 |
205 | mov.ret.dptk.imp b3 = r4, .L6 | |
206 | .space 240 | |
800eeca4 JW |
207 | .L6: |
208 | ||
c10d9d8f JW |
209 | # instructions added by SDM2.1: |
210 | ||
211 | hint @pause | |
212 | hint.i 0 | |
213 | hint.i @pause | |
214 | hint.i 0x1fffff | |
204cd129 NC |
215 | (p7) hint @pause |
216 | (p7) hint.i 0 | |
217 | (p7) hint.i @pause | |
218 | (p7) hint.i 0x1fffff | |
219 | (p7) hint @pause | |
220 | (p7) hint.i 0 | |
221 | (p7) hint.i @pause | |
222 | (p7) hint.i 0x1fffff | |
59cf82fe L |
223 | |
224 | # instructions added by SDM2.2: | |
225 | ||
226 | tf.z p2, p3 = 39 | |
227 | tf.z.unc p2, p3 = 39 | |
228 | tf.z.and p2, p3 = 39 | |
229 | tf.z.or p2, p3 = 39 | |
230 | tf.z.or.andcm p2, p3 = 39 | |
231 | tf.z.orcm p2, p3 = 39 | |
232 | tf.z.andcm p2, p3 = 39 | |
233 | tf.z.and.orcm p2, p3 = 39 | |
234 | tf.nz p2, p3 = 39 | |
235 | tf.nz.unc p2, p3 = 39 | |
236 | tf.nz.and p2, p3 = 39 | |
237 | tf.nz.or p2, p3 = 39 | |
238 | tf.nz.or.andcm p2, p3 = 39 | |
239 | tf.nz.orcm p2, p3 = 39 | |
240 | tf.nz.andcm p2, p3 = 39 | |
241 | tf.nz.and.orcm p2, p3 = 39 | |
242 | ||
243 | (p7) tf.z p2, p3 = 39 | |
244 | (p7) tf.z.unc p2, p3 = 39 | |
245 | (p7) tf.z.and p2, p3 = 39 | |
246 | (p7) tf.z.or p2, p3 = 39 | |
247 | (p7) tf.z.or.andcm p2, p3 = 39 | |
248 | (p7) tf.z.orcm p2, p3 = 39 | |
249 | (p7) tf.z.andcm p2, p3 = 39 | |
250 | (p7) tf.z.and.orcm p2, p3 = 39 | |
251 | (p7) tf.nz p2, p3 = 39 | |
252 | (p7) tf.nz.unc p2, p3 = 39 | |
253 | (p7) tf.nz.and p2, p3 = 39 | |
254 | (p7) tf.nz.or p2, p3 = 39 | |
255 | (p7) tf.nz.or.andcm p2, p3 = 39 | |
256 | (p7) tf.nz.orcm p2, p3 = 39 | |
257 | (p7) tf.nz.andcm p2, p3 = 39 | |
258 | (p7) tf.nz.and.orcm p2, p3 = 39 |