1 // Copyright 2016 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 #include "../../../../../runtime/textflag.h"
6
7 TEXT main·foo(SB),DUPOK|NOSPLIT,$16-0 // TEXT main.foo(SB), DUPOK|NOSPLIT, $16-0
8 MOVD R1, R2 // b9040021
9 MOVW R3, R4 // b9140043
10 MOVH R5, R6 // b9070065
11 MOVB R7, R8 // b9060087
12 MOVWZ R1, R2 // b9160021
13 MOVHZ R2, R3 // b9850032
14 MOVBZ R4, R5 // b9840054
15 MOVDBR R1, R2 // b90f0021
16 MOVWBR R3, R4 // b91f0043
17
18 MOVDEQ R0, R1 // b9e28010
19 MOVDGE R2, R3 // b9e2a032
20 MOVDGT R4, R5 // b9e22054
21 MOVDLE R6, R7 // b9e2c076
22 MOVDLT R8, R9 // b9e24098
23 MOVDNE R10, R11 // b9e270ba
24
25 LOCR $3, R2, R1 // b9f23012
26 LOCGR $7, R5, R6 // b9e27065
27
28 MOVD (R15), R1 // e310f0000004
29 MOVW (R15), R2 // e320f0000014
30 MOVH (R15), R3 // e330f0000015
31 MOVB (R15), R4 // e340f0000077
32 MOVWZ (R15), R5 // e350f0000016
33 MOVHZ (R15), R6 // e360f0000091
34 MOVBZ (R15), R7 // e370f0000090
35 MOVDBR (R15), R8 // e380f000000f
36 MOVWBR (R15), R9 // e390f000001e
37
38 MOVD R1, n-8(SP) // e310f0100024
39 MOVW R2, n-8(SP) // 5020f010
40 MOVH R3, n-8(SP) // 4030f010
41 MOVB R4, n-8(SP) // 4240f010
42 MOVWZ R5, n-8(SP) // 5050f010
43 MOVHZ R6, n-8(SP) // 4060f010
44 MOVBZ R7, n-8(SP) // 4270f010
45 MOVDBR R8, n-8(SP) // e380f010002f
46 MOVWBR R9, n-8(SP) // e390f010003e
47
48 MOVD $-8589934592, R1 // c01efffffffe
49 MOVW $-131072, R2 // c021fffe0000
50 MOVH $-512, R3 // a739fe00
51 MOVB $-1, R4 // a749ffff
52
53 MOVD $32767, n-8(SP) // e548f0107fff
54 MOVD $-1, -524288(R1) // e3a010008071e548a000ffff
55 MOVW $32767, n-8(SP) // e54cf0107fff
56 MOVW $-32768, 4096(R2) // e3a020000171e54ca0008000
57 MOVH $512, n-8(SP) // e544f0100200
58 MOVH $-512, 524288(R3) // c0a10008000041aa3000e544a000fe00
59 MOVB $-1, n-8(SP) // 92fff010
60 MOVB $255, 4096(R4) // ebff40000152
61 MOVB $-128, -524288(R5) // eb8050008052
62 MOVB $1, -524289(R6) // c0a1fff7ffff41aa60009201a000
63
64 // RX (12-bit displacement) and RXY (20-bit displacement) instruction encoding (e.g: ST vs STY)
65 MOVW R1, 4095(R2)(R3) // 50132fff
66 MOVW R1, 4096(R2)(R3) // e31320000150
67 MOVWZ R1, 4095(R2)(R3) // 50132fff
68 MOVWZ R1, 4096(R2)(R3) // e31320000150
69 MOVH R1, 4095(R2)(R3) // 40132fff
70 MOVHZ R1, 4095(R2)(R3) // 40132fff
71 MOVH R1, 4096(R2)(R3) // e31320000170
72 MOVHZ R1, 4096(R2)(R3) // e31320000170
73 MOVB R1, 4095(R2)(R3) // 42132fff
74 MOVBZ R1, 4095(R2)(R3) // 42132fff
75 MOVB R1, 4096(R2)(R3) // e31320000172
76 MOVBZ R1, 4096(R2)(R3) // e31320000172
77
78 ADD R1, R2 // b9e81022
79 ADD R1, R2, R3 // b9e81032
80 ADD $8192, R1 // a71b2000
81 ADD $8192, R1, R2 // ec21200000d9
82 ADD $32768, R1 // c21800008000
83 ADD $32768, R1, R2 // b9040021c22800008000
84 ADDC R1, R2 // b9ea1022
85 ADDC $1, R1, R2 // ec21000100db
86 ADDC $-1, R1, R2 // ec21ffff00db
87 ADDC R1, R2, R3 // b9ea1032
88 ADDW R1, R2 // 1a21
89 ADDW R1, R2, R3 // b9f81032
90 ADDW $8192, R1 // a71a2000
91 ADDW $8192, R1, R2 // ec21200000d8
92 ADDE R1, R2 // b9880021
93 SUB R3, R4 // b9090043
94 SUB R3, R4, R5 // b9e93054
95 SUB $8192, R3 // a73be000
96 SUB $8192, R3, R4 // ec43e00000d9
97 SUBC R1, R2 // b90b0021
98 SUBC $1, R1, R2 // ec21ffff00db
99 SUBC R2, R3, R4 // b9eb2043
100 SUBW R3, R4 // 1b43
101 SUBW R3, R4, R5 // b9f93054
102 SUBW $8192, R1 // c21500002000
103 SUBW $8192, R1, R2 // 1821c22500002000
104 MULLW R6, R7 // b91c0076
105 MULLW R6, R7, R8 // b9040087b91c0086
106 MULLW $8192, R6 // a76c2000
107 MULLW $8192, R6, R7 // 1876a77c2000
108 MULLW $-32769, R8 // c281ffff7fff
109 MULLW $-32769, R8, R9 // 1898c291ffff7fff
110 MULLD $-2147483648, R1 // c21080000000
111 MULLD $-2147483648, R1, R2 // b9040021c22080000000
112 MULHD R9, R8 // b90400b8b98600a9ebb9003f000ab98000b8b90900abebb8003f000ab98000b9b9e9b08a
113 MULHD R7, R2, R1 // b90400b2b98600a7ebb7003f000ab98000b2b90900abebb2003f000ab98000b7b9e9b01a
114 MULHDU R3, R4 // b90400b4b98600a3b904004a
115 MULHDU R5, R6, R7 // b90400b6b98600a5b904007a
116 MLGR R1, R2 // b9860021
117 DIVD R1, R2 // b90400b2b90d00a1b904002b
118 DIVD R1, R2, R3 // b90400b2b90d00a1b904003b
119 DIVW R4, R5 // b90400b5b91d00a4b904005b
120 DIVW R4, R5, R6 // b90400b5b91d00a4b904006b
121 DIVDU R7, R8 // a7a90000b90400b8b98700a7b904008b
122 DIVDU R7, R8, R9 // a7a90000b90400b8b98700a7b904009b
123 DIVWU R1, R2 // a7a90000b90400b2b99700a1b904002b
124 DIVWU R1, R2, R3 // a7a90000b90400b2b99700a1b904003b
125 MODD R1, R2 // b90400b2b90d00a1b904002a
126 MODD R1, R2, R3 // b90400b2b90d00a1b904003a
127 MODW R4, R5 // b90400b5b91d00a4b904005a
128 MODW R4, R5, R6 // b90400b5b91d00a4b904006a
129 MODDU R7, R8 // a7a90000b90400b8b98700a7b904008a
130 MODDU R7, R8, R9 // a7a90000b90400b8b98700a7b904009a
131 MODWU R1, R2 // a7a90000b90400b2b99700a1b904002a
132 MODWU R1, R2, R3 // a7a90000b90400b2b99700a1b904003a
133 NEG R1 // b9030011
134 NEG R1, R2 // b9030021
135 NEGW R1 // b9130011
136 NEGW R1, R2 // b9130021
137 FLOGR R2, R2 // b9830022
138 POPCNT R3, R4 // b9e10043
139
140 AND R1, R2 // b9800021
141 AND R1, R2, R3 // b9e42031
142 AND $-2, R1 // a517fffe
143 AND $-65536, R1 // c01bffff0000
144 AND $1, R1 // c0a100000001b980001a
145 ANDW R1, R2 // 1421
146 ANDW R1, R2, R3 // b9f42031
147 ANDW $1, R1 // c01b00000001
148 ANDW $131071, R1 // a5160001
149 ANDW $65536, R1 // c01b00010000
150 ANDW $-2, R1 // a517fffe
151 OR R1, R2 // b9810021
152 OR R1, R2, R3 // b9e62031
153 OR $1, R1 // a51b0001
154 OR $131071, R1 // c01d0001ffff
155 OR $65536, R1 // c01d00010000
156 OR $-2, R1 // c0a1fffffffeb981001a
157 ORW R1, R2 // 1621
158 ORW R1, R2, R3 // b9f62031
159 ORW $1, R1 // a51b0001
160 ORW $131071, R1 // c01d0001ffff
161 ORW $65536, R1 // a51a0001
162 ORW $-2, R1 // c01dfffffffe
163 XOR R1, R2 // b9820021
164 XOR R1, R2, R3 // b9e72031
165 XOR $1, R1 // c01700000001
166 XOR $131071, R1 // c0170001ffff
167 XOR $65536, R1 // c01700010000
168 XOR $-2, R1 // c0a1fffffffeb982001a
169 XORW R1, R2 // 1721
170 XORW R1, R2, R3 // b9f72031
171 XORW $1, R1 // c01700000001
172 XORW $131071, R1 // c0170001ffff
173 XORW $65536, R1 // c01700010000
174 XORW $-2, R1 // c017fffffffe
175
176 ADD -524288(R1), R2 // e32010008008
177 ADD 524287(R3), R4 // e3403fff7f08
178 ADD -524289(R1), R2 // c0a1fff7ffffe32a10000008
179 ADD 524288(R3), R4 // c0a100080000e34a30000008
180 ADD -524289(R1)(R2*1), R3 // c0a1fff7ffff41aa2000e33a10000008
181 ADD 524288(R3)(R4*1), R5 // c0a10008000041aa4000e35a30000008
182 ADDC (R1), R2 // e3201000000a
183 ADDW (R5), R6 // 5a605000
184 ADDW 4095(R7), R8 // 5a807fff
185 ADDW -1(R1), R2 // e3201fffff5a
186 ADDW 4096(R3), R4 // e3403000015a
187 ADDE 4096(R3), R4 // e34030000188
188 ADDE 4096(R3)(R2*1), R4 // e34230000188
189 ADDE 524288(R3)(R4*1), R5 // c0a10008000041aa4000e35a30000088
190 MULLD (R1)(R2*1), R3 // e3321000000c
191 MULLW (R3)(R4*1), R5 // 71543000
192 MULLW 4096(R3), R4 // e34030000151
193 SUB (R1), R2 // e32010000009
194 SUBC (R1), R2 // e3201000000b
195 SUBE (R1), R2 // e32010000089
196 SUBW (R1), R2 // 5b201000
197 SUBW -1(R1), R2 // e3201fffff5b
198 AND (R1), R2 // e32010000080
199 ANDW (R1), R2 // 54201000
200 ANDW -1(R1), R2 // e3201fffff54
201 OR (R1), R2 // e32010000081
202 ORW (R1), R2 // 56201000
203 ORW -1(R1), R2 // e3201fffff56
204 XOR (R1), R2 // e32010000082
205 XORW (R1), R2 // 57201000
206 XORW -1(R1), R2 // e3201fffff57
207
208 // shift and rotate instructions
209 SRD $4, R4, R7 // eb740004000c
210 SRD R1, R4, R7 // eb741000000c
211 SRW $4, R4, R7 // eb74000400de
212 SRW R1, R4, R7 // eb74100000de
213 SLW $4, R3, R6 // eb63000400df
214 SLW R2, R3, R6 // eb63200000df
215 SLD $4, R3, R6 // eb630004000d
216 SLD R2, R3, R6 // eb632000000d
217 SRAD $4, R5, R8 // eb850004000a
218 SRAD R3, R5, R8 // eb853000000a
219 SRAW $4, R5, R8 // eb85000400dc
220 SRAW R3, R5, R8 // eb85300000dc
221 RLL R1, R2, R3 // eb321000001d
222 RLL $4, R2, R3 // eb320004001d
223 RLLG R1, R2, R3 // eb321000001c
224 RLLG $4, R2, R3 // eb320004001c
225
226 RNSBG $0, $31, $32, R1, R2 // ec21001f2054
227 RXSBG $17, $8, $16, R3, R4 // ec4311081057
228 ROSBG $9, $24, $11, R5, R6 // ec6509180b56
229 RNSBGT $0, $31, $32, R7, R8 // ec87801f2054
230 RXSBGT $17, $8, $16, R9, R10 // eca991081057
231 ROSBGT $9, $24, $11, R11, R0 // ec0b89180b56
232 RISBG $0, $31, $32, R1, R2 // ec21001f2055
233 RISBGN $17, $8, $16, R3, R4 // ec4311081059
234 RISBGZ $9, $24, $11, R5, R6 // ec6509980b55
235 RISBGNZ $0, $31, $32, R7, R8 // ec87009f2059
236 RISBHG $17, $8, $16, R9, R10 // eca91108105d
237 RISBLG $9, $24, $11, R11, R0 // ec0b09180b51
238 RISBHGZ $17, $8, $16, R9, R10 // eca91188105d
239 RISBLGZ $9, $24, $11, R11, R0 // ec0b09980b51
240
241 LAA R1, R2, 524287(R3) // eb213fff7ff8
242 LAAG R4, R5, -524288(R6) // eb54600080e8
243 LAAL R7, R8, 8192(R9) // eb87900002fa
244 LAALG R10, R11, -8192(R12) // ebbac000feea
245 LAN R1, R2, (R3) // eb21300000f4
246 LANG R4, R5, (R6) // eb54600000e4
247 LAX R7, R8, (R9) // eb87900000f7
248 LAXG R10, R11, (R12) // ebbac00000e7
249 LAO R1, R2, (R3) // eb21300000f6
250 LAOG R4, R5, (R6) // eb54600000e6
251
252 // load and store multiple
253 LMG n-8(SP), R3, R4 // eb34f0100004
254 LMG -5(R5), R3, R4 // eb345ffbff04
255 LMY n-8(SP), R3, R4 // 9834f010
256 LMY 4096(R1), R3, R4 // eb3410000198
257 STMG R1, R2, n-8(SP) // eb12f0100024
258 STMG R1, R2, -5(R3) // eb123ffbff24
259 STMY R1, R2, n-8(SP) // 9012f010
260 STMY R1, R2, 4096(R3) // eb1230000190
261
262 XC $8, (R15), n-8(SP) // d707f010f000
263 NC $8, (R15), n-8(SP) // d407f010f000
264 OC $8, (R15), n-8(SP) // d607f010f000
265 MVC $8, (R15), n-8(SP) // d207f010f000
266 MVCIN $8, (R15), n-8(SP) // e807f010f000
267 CLC $8, (R15), n-8(SP) // d507f000f010
268 XC $256, -8(R15), -8(R15) // b90400afc2a8fffffff8d7ffa000a000
269 MVC $256, 8192(R1), 8192(R2) // b90400a2c2a800002000b90400b1c2b800002000d2ffa000b000
270
271 CMP R1, R2 // b9200012
272 CMP R3, $32767 // a73f7fff
273 CMP R3, $32768 // c23c00008000
274 CMP R3, $-2147483648 // c23c80000000
275 CMPU R4, R5 // b9210045
276 CMPU R6, $4294967295 // c26effffffff
277 CMPW R7, R8 // 1978
278 CMPW R9, $-32768 // a79e8000
279 CMPW R9, $-32769 // c29dffff7fff
280 CMPW R9, $-2147483648 // c29d80000000
281 CMPWU R1, R2 // 1512
282 CMPWU R3, $4294967295 // c23fffffffff
283
284 TMHH R1, $65535 // a712ffff
285 TMHL R2, $1 // a7230001
286 TMLH R3, $0 // a7300000
287 TMLL R4, $32768 // a7418000
288
289 IPM R3 // b2220030
290 IPM R12 // b22200c0
291
292 SPM R1 // 0410
293 SPM R10 // 04a0
294
295 BRC $7, 0(PC) // a7740000
296 BNE 0(PC) // a7740000
297 BEQ 0(PC) // a7840000
298 BLT 0(PC) // a7440000
299 BLE 0(PC) // a7c40000
300 BGT 0(PC) // a7240000
301 BGE 0(PC) // a7a40000
302 BLTU 0(PC) // a7540000
303 BLEU 0(PC) // a7d40000
304
305 BRCT R1, 0(PC) // a7160000
306 BRCTG R2, 0(PC) // a7270000
307
308 CMPBNE R1, R2, 0(PC) // ec1200007064
309 CMPBEQ R3, R4, 0(PC) // ec3400008064
310 CMPBLT R5, R6, 0(PC) // ec5600004064
311 CMPBLE R7, R8, 0(PC) // ec780000c064
312 CMPBGT R9, R1, 0(PC) // ec9100002064
313 CMPBGE R2, R3, 0(PC) // ec230000a064
314
315 CMPBNE R1, $-127, 0(PC) // ec170000817c
316 CMPBEQ R3, $0, 0(PC) // ec380000007c
317 CMPBLT R5, $128, 0(PC) // ec540000807c
318 CMPBLE R7, $127, 0(PC) // ec7c00007f7c
319 CMPBGT R9, $0, 0(PC) // ec920000007c
320 CMPBGE R2, $128, 0(PC) // ec2a0000807c
321
322 CMPUBNE R1, R2, 0(PC) // ec1200007065
323 CMPUBEQ R3, R4, 0(PC) // ec3400008065
324 CMPUBLT R5, R6, 0(PC) // ec5600004065
325 CMPUBLE R7, R8, 0(PC) // ec780000c065
326 CMPUBGT R9, R1, 0(PC) // ec9100002065
327 CMPUBGE R2, R3, 0(PC) // ec230000a065
328
329 CMPUBNE R1, $256, 0(PC) // ec170000007d
330 CMPUBEQ R3, $0, 0(PC) // ec380000007d
331 CMPUBLT R5, $256, 0(PC) // ec540000007d
332 CMPUBLE R7, $0, 0(PC) // ec7c0000007d
333 CMPUBGT R9, $256, 0(PC) // ec920000007d
334 CMPUBGE R2, $0, 0(PC) // ec2a0000007d
335
336 CRJ $15, R1, R2, 0(PC) // ec120000f076
337 CGRJ $12, R3, R4, 0(PC) // ec340000c064
338 CLRJ $3, R5, R6, 0(PC) // ec5600003077
339 CLGRJ $0, R7, R8, 0(PC) // ec7800000065
340
341 CIJ $4, R9, $127, 0(PC) // ec9400007f7e
342 CGIJ $8, R11, $-128, 0(PC) // ecb80000807c
343 CLIJ $1, R1, $255, 0(PC) // ec110000ff7f
344 CLGIJ $2, R3, $0, 0(PC) // ec320000007d
345
346 LGDR F1, R12 // b3cd00c1
347 LDGR R2, F15 // b3c100f2
348
349 CEFBRA R0, F15 // b39400f0
350 CDFBRA R1, F14 // b39500e1
351 CEGBRA R2, F13 // b3a400d2
352 CDGBRA R3, F12 // b3a500c3
353
354 CELFBR R0, F15 // b39000f0
355 CDLFBR R1, F14 // b39100e1
356 CELGBR R2, F13 // b3a000d2
357 CDLGBR R3, F12 // b3a100c3
358
359 CFEBRA F15, R1 // b398501f
360 CFDBRA F14, R2 // b399502e
361 CGEBRA F13, R3 // b3a8503d
362 CGDBRA F12, R4 // b3a9504c
363
364 CLFEBR F15, R1 // b39c501f
365 CLFDBR F14, R2 // b39d502e
366 CLGEBR F13, R3 // b3ac503d
367 CLGDBR F12, R4 // b3ad504c
368
369 FMOVS $0, F11 // b37400b0
370 FMOVD $0, F12 // b37500c0
371 FMOVS (R1)(R2*1), F0 // 78021000
372 FMOVS n-8(SP), F15 // 78f0f010
373 FMOVD -9999999(R8)(R9*1), F8 // c0a1ff67698141aa9000688a8000
374 FMOVD F4, F5 // 2854
375
376 // RX (12-bit displacement) and RXY (20-bit displacement) instruction encoding (e.g. LD vs LDY)
377 FMOVD (R1), F0 // 68001000
378 FMOVD 4095(R2), F13 // 68d02fff
379 FMOVD 4096(R2), F15 // edf020000165
380 FMOVS 4095(R2)(R3), F13 // 78d32fff
381 FMOVS 4096(R2)(R4), F15 // edf420000164
382 FMOVD F0, 4095(R1) // 60001fff
383 FMOVD F0, 4096(R1) // ed0010000167
384 FMOVS F13, 4095(R2)(R3) // 70d32fff
385 FMOVS F13, 4096(R2)(R3) // edd320000166
386
387 FADDS F0, F15 // b30a00f0
388 FADD F1, F14 // b31a00e1
389 FSUBS F2, F13 // b30b00d2
390 FSUB F3, F12 // b31b00c3
391 FMULS F4, F11 // b31700b4
392 FMUL F5, F10 // b31c00a5
393 FDIVS F6, F9 // b30d0096
394 FDIV F7, F8 // b31d0087
395 FABS F1, F2 // b3100021
396 FSQRTS F3, F4 // b3140043
397 FSQRT F5, F15 // b31500f5
398 FIEBR $0, F0, F1 // b3570010
399 FIDBR $7, F2, F3 // b35f7032
400 FMADD F1, F1, F1 // b31e1011
401 FMADDS F1, F2, F3 // b30e3012
402 FMSUB F4, F5, F5 // b31f5045
403 FMSUBS F6, F6, F7 // b30f7066
404 LPDFR F1, F2 // b3700021
405 LNDFR F3, F4 // b3710043
406 CPSDR F5, F6, F7 // b3725076
407 LTEBR F1, F2 // b3020021
408 LTDBR F3, F4 // b3120043
409 TCEB F5, $8 // ed5000080010
410 TCDB F15, $4095 // edf00fff0011
411
412 UNDEF // 00000000
413 BRRK // 0001
414 NOPH // 0700
415
416 SYNC // 07e0
417
418 KM R2, R4 // b92e0024
419 KMC R2, R6 // b92f0026
420 KLMD R2, R8 // b93f0028
421 KIMD R0, R4 // b93e0004
422 KDSA R0, R8 // b93a0008
423 KMA R2, R6, R4 // b9296024
424 KMCTR R2, R6, R4 // b92d6024
425
426 // vector add and sub instructions
427 VAB V3, V4, V4 // e743400000f3
428 VAH V3, V4, V4 // e743400010f3
429 VAF V3, V4, V4 // e743400020f3
430 VAG V3, V4, V4 // e743400030f3
431 VAQ V3, V4, V4 // e743400040f3
432 VAB V1, V2 // e721200000f3
433 VAH V1, V2 // e721200010f3
434 VAF V1, V2 // e721200020f3
435 VAG V1, V2 // e721200030f3
436 VAQ V1, V2 // e721200040f3
437 VSB V3, V4, V4 // e744300000f7
438 VSH V3, V4, V4 // e744300010f7
439 VSF V3, V4, V4 // e744300020f7
440 VSG V3, V4, V4 // e744300030f7
441 VSQ V3, V4, V4 // e744300040f7
442 VSB V1, V2 // e722100000f7
443 VSH V1, V2 // e722100010f7
444 VSF V1, V2 // e722100020f7
445 VSG V1, V2 // e722100030f7
446 VSQ V1, V2 // e722100040f7
447
448 VCEQB V1, V3, V3 // e731300000f8
449 VL (R15), V1 // e710f0000006
450 VST V1, (R15) // e710f000000e
451 VL (R15), V31 // e7f0f0000806
452 VST V31, (R15) // e7f0f000080e
453 VESLB $5, V14 // e7ee00050030
454 VESRAG $0, V15, V16 // e70f0000383a
455 VLM (R15), V8, V23 // e787f0000436
456 VSTM V8, V23, (R15) // e787f000043e
457 VONE V1 // e710ffff0044
458 VZERO V16 // e70000000844
459 VGBM $52428, V31 // e7f0cccc0844
460 VREPIB $255, V4 // e74000ff0045
461 VREPIH $-1, V16 // e700ffff1845
462 VREPIF $-32768, V0 // e70080002045
463 VREPIG $32767, V31 // e7f07fff3845
464 VREPG $1, V4, V16 // e7040001384d
465 VREPB $4, V31, V1 // e71f0004044d
466 VFTCIDB $4095, V1, V2 // e721fff0304a
467 WFTCIDB $3276, V15, V16 // e70fccc8384a
468 VPOPCT V8, V19 // e73800000850
469 VFEEZBS V1, V2, V31 // e7f120300880
470 WFCHDBS V22, V23, V4 // e746701836eb
471 VMNH V1, V2, V30 // e7e1200018fe
472 VERLLVF V2, V30, V27 // e7be20002c73
473 VSCBIB V0, V23, V24 // e78700000cf5
474 VN V2, V1, V0 // e70210000068
475 VNC V2, V1, V0 // e70210000069
476 VO V2, V1, V0 // e7021000006a
477 VX V2, V1, V0 // e7021000006d
478 VN V16, V1 // e71010000468
479 VNC V16, V1 // e71010000469
480 VO V16, V1 // e7101000046a
481 VX V16, V1 // e7101000046d
482 VNOT V16, V1 // e7101000046b
483 VCLZF V16, V17 // e71000002c53
484 VLVGP R3, R4, V8 // e78340000062
485 VGEG $1, 8(R15)(V30*1), V31 // e7fef0081c12
486 VSCEG $1, V31, 16(R15)(V30*1) // e7fef0101c1a
487 VGEF $0, 2048(R15)(V1*1), V2 // e721f8000013
488 VSCEF $0, V2, 4095(R15)(V1*1) // e721ffff001b
489 VLL R0, (R15), V1 // e710f0000037
490 VSTL R0, V16, (R15) // e700f000083f
491 VGMH $8, $16, V12 // e7c008101046
492 VLEIB $15, $255, V0 // e70000fff040
493 VLEIH $7, $-32768, V15 // e7f080007041
494 VLEIF $2, $-43, V16 // e700ffd52843
495 VLEIG $1, $32767, V31 // e7f07fff1842
496 VSLDB $3, V1, V16, V18 // e72100030a77
497 VERIMB $2, V31, V1, V2 // e72f10020472
498 VSEL V1, V2, V3, V4 // e7412000308d
499 VGFMAH V21, V31, V24, V0 // e705f10087bc
500 VFMADB V16, V8, V9, V10 // e7a08300948f
501 WFMADB V17, V18, V19, V20 // e74123083f8f
502 VFMSDB V2, V25, V24, V31 // e7f293008b8e
503 WFMSDB V31, V2, V3, V4 // e74f2308348e
504 VPERM V31, V0, V2, V3 // e73f0000248c
505 VPDI $1, V2, V31, V1 // e712f0001284
506 VLEG $1, (R3), V1 // e71030001002
507 VLEF $2, (R0), V31 // e7f000002803
508 VLEH $3, (R12), V16 // e700c0003801
509 VLEB $15, 4095(R9), V15 // e7f09ffff000
510 VSTEG $1, V30, (R1)(R2*1) // e7e21000180a
511 VSTEF $3, V2, (R9) // e7209000300b
512 VSTEH $7, V31, (R2) // e7f020007809
513 VSTEB $15, V29, 4094(R12) // e7d0cffef808
514 VMSLG V21, V22, V23, V24 // e78563007fb8
515 VMSLEG V21, V22, V23, V24 // e78563807fb8
516 VMSLOG V21, V22, V23, V24 // e78563407fb8
517 VMSLEOG V21, V22, V23, V24 // e78563c07fb8
518 VSUMGH V1, V2, V3 // e73120001065
519 VSUMGF V16, V17, V18 // e72010002e65
520 VSUMQF V4, V5, V6 // e76450002067
521 VSUMQG V19, V20, V21 // e75340003e67
522 VSUMB V7, V8, V9 // e79780000064
523 VSUMH V22, V23, V24 // e78670001e64
524
525 RET
526 RET foo(SB)
527
528 TEXT main·init(SB),DUPOK|NOSPLIT,$0 // TEXT main.init(SB), DUPOK|NOSPLIT, $0
529 RET
530
531 TEXT main·main(SB),DUPOK|NOSPLIT,$0 // TEXT main.main(SB), DUPOK|NOSPLIT, $0
532 BL main·foo(SB) // CALL main.foo(SB)
533 RET
534
View as plain text