aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/asm/internal/asm/testdata/arm64enc.s
blob: e802ee76f5b9ee6efb23b33d0a97e10680159ae8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// The cases are auto-generated by disassembler.
// The uncommented cases means they can be handled by assembler
// and they are consistent with disassembler decoding.
// TODO means they cannot be handled by current assembler.

#include "../../../../../runtime/textflag.h"

TEXT asmtest(SB),DUPOK|NOSPLIT,$-8

   AND $(1<<63), R1                           // AND $-9223372036854775808, R1     // 21004192
   ADCW ZR, R8, R10                           // 0a011f1a
   ADC R0, R2, R12                            // 4c00009a
   ADCSW R9, R21, R6                          // a602093a
   ADCS R23, R22, R22                         // d60217ba
   ADDW R5.UXTH, R8, R9                       // 0921250b
   ADD R8.SXTB<<3, R23, R14                   // ee8e288b
   ADDW $3076, R17, R3                        // 23123011
   ADDW $(3076<<12), R17, R3                  // ADDW $12599296, R17, R3           // 23127011
   ADD $2280, R25, R11                        // 2ba32391
   ADD $(2280<<12), R25, R11                  // ADD $9338880, R25, R11            // 2ba36391
   ADDW R13->5, R11, R7                       // 67158d0b
   ADD R25<<54, R17, R16                      // 30da198b
   ADDSW R12.SXTX<<1, R29, R7                 // a7e72c2b
   ADDS R24.UXTX<<4, R25, R21                 // 357338ab
   ADDSW $(3525<<12), R3, R11                 // ADDSW $14438400, R3, R11          // 6b147731
   ADDS $(3525<<12), R3, R11                  // ADDS $14438400, R3, R11           // 6b1477b1
   ADDSW R7->22, R14, R13                     // cd59872b
   ADDS R14>>7, ZR, R4                        // e41f4eab
   AND $-9223372036854775808, R1, R1          // 21004192
   ANDW $4026540031, R29, R2                  // a2430412
   AND $34903429696192636, R12, R19           // 93910e92
   ANDW R9@>7, R19, R26                       // 7a1ec90a
   AND R9@>7, R19, R26                        // 7a1ec98a
   TSTW $2863311530, R24                      // 1ff30172
   TST R2, R0                                 // 1f0002ea
   TST $7, R2                                 // 5f0840f2
   ANDS R2, R0, ZR                            // 1f0002ea
   ANDS $7, R2, ZR                            // 5f0840f2
   ANDSW $2863311530, R24, ZR                 // 1ff30172
   ANDSW $2863311530, R24, R23                // 17f30172
   ANDS $-140737488289793, R2, R5             // 458051f2
   ANDSW R26->24, R21, R15                    // af629a6a
   ANDS R30@>44, R3, R26                      // 7ab0deea
   ASRW R12, R27, R25                         // 792bcc1a
   ASR R14, R27, R7                           // 672bce9a
   ASR $11, R27, R25                          // 79ff4b93
   ASRW $11, R27, R25                         // 797f0b13
   BLT -1(PC)                                 // ebffff54
   JMP -1(PC)                                 // ffffff17
   BFIW $16, R20, $6, R0                      // 80161033
   BFI $27, R21, $21, R25                     // b95265b3
   BFXILW $3, R27, $23, R14                   // 6e670333
   BFXIL $26, R8, $16, R20                    // 14a55ab3
   BICW R7@>15, R5, R16                       // b03ce70a
   BIC R12@>13, R12, R19                      // 9335ec8a
   BICSW R25->20, R3, R20                     // 7450b96a
   BICS R19->12, R1, R23                      // 3730b3ea
   BICS R19, R1, R23                          // 370033ea
   BICS R19>>0, R1, R23                       // 370073ea
   CALL -1(PC)                                // ffffff97
   CALL (R15)                                 // e0013fd6
   JMP  (R29)                                 // a0031fd6
   BRK $35943                                 // e08c31d4
   CBNZW R2, -1(PC)                           // e2ffff35
   CBNZ R7, -1(PC)                            // e7ffffb5
   CBZW R15, -1(PC)                           // efffff34
   CBZ R1, -1(PC)                             // e1ffffb4
   CCMN MI, ZR, R1, $4                        // e44341ba
   CCMNW AL, R26, $20, $11                    // 4beb543a
   CCMN PL, R24, $6, $1                       // 015b46ba
   CCMNW EQ, R20, R6, $6                      // 8602463a
   CCMN LE, R30, R12, $6                      // c6d34cba
   CCMPW VS, R29, $15, $7                     // a76b4f7a
   CCMP LE, R7, $19, $3                       // e3d853fa
   CCMPW HS, R19, R6, $0                      // 6022467a
   CCMP LT, R30, R6, $7                       // c7b346fa
   CCMN  MI, ZR, R1, $4                       // e44341ba
   CSINCW HS, ZR, R27, R14                    // ee279b1a
   CSINC VC, R2, R1, R1                       // 4174819a
   CSINVW EQ, R2, R21, R17                    // 5100955a
   CSINV LO, R2, R19, R23                     // 573093da
   CINCW LO, R27, R14                         // 6e279b1a
   CINCW HS, R27, ZR                          // 7f379b1a
   CINVW EQ, R2, R17                          // 5110825a
   CINV VS, R12, R7                           // 87718cda
   CINV VS, R30, R30                          // de739eda
   CLREX $4                                   // 5f3403d5
   CLREX $0                                   // 5f3003d5
   CLSW R15, R6                               // e615c05a
   CLS R15, ZR                                // ff15c0da
   CLZW R1, R14                               // 2e10c05a
   CLZ R21, R9                                // a912c0da
   CMNW R21.UXTB<<4, R15                      // ff11352b
   CMN R0.UXTW<<4, R16                        // 1f5220ab
   CMNW R13>>8, R9                            // 3f214d2b
   CMN R6->17, R3                             // 7f4486ab
   CMNW $(2<<12), R5                          // CMNW $8192, R5                // bf084031
   CMN $(8<<12), R12                          // CMN $32768, R12               // 9f2140b1
   CMN R6->0, R3                              // 7f0086ab
   CMN R6, R3                                 // 7f0006ab
   CMNW R30, R5                               // bf001e2b
   CMNW $2, R5                                // bf080031
   CMN ZR, R3                                 // 7f001fab
   CMN R0, R3                                 // 7f0000ab
   CMPW R6.UXTB, R23                          // ff02266b
   CMP R25.SXTH<<2, R26                       // 5fab39eb
   CMP $3817, R29                             // bfa73bf1
   CMP R7>>23, R3                             // 7f5c47eb
   CNEGW PL, R9, R14                          // 2e45895a
   CSNEGW HS, R5, R9, R14                     // ae24895a
   CSNEG PL, R14, R21, R3                     // c35595da
   CNEG  LO, R7, R15                          // ef2487da
   CRC32B R17, R8, R16                        // 1041d11a
   CRC32H R3, R21, R27                        // bb46c31a
   CRC32W R22, R30, R9                        // c94bd61a
   CRC32X R20, R4, R15                        // 8f4cd49a
   CRC32CB R19, R27, R22                      // 7653d31a
   CRC32CH R21, R0, R20                       // 1454d51a
   CRC32CW R9, R3, R21                        // 7558c91a
   CRC32CX R11, R0, R24                       // 185ccb9a
   CSELW LO, R4, R20, R12                     // 8c30941a
   CSEL GE, R0, R12, R14                      // 0ea08c9a
   CSETW GE, R3                               // e3b79f1a
   CSET LT, R30                               // fea79f9a
   CSETMW VC, R5                              // e5639f5a
   CSETM VS, R4                               // e4739fda
   CSINCW LE, R5, R24, R26                    // bad4981a
   CSINC VS, R26, R16, R17                    // 5167909a
   CSINVW AL, R23, R21, R5                    // e5e2955a
   CSINV LO, R2, R11, R14                     // 4e308bda
   CSNEGW HS, R16, R29, R10                   // 0a269d5a
   CSNEG NE, R21, R19, R11                    // ab1693da
   //TODO DC
   DCPS1 $11378                               // 418ea5d4
   DCPS2 $10699                               // 6239a5d4
   DCPS3 $24415                               // e3ebabd4
   DMB $1                                     // bf3103d5
   DMB $0                                     // bf3003d5
   DRPS                                       // e003bfd6
   DSB  $1                                    // 9f3103d5
   EONW R21<<29, R6, R9                       // c974354a
   EON R14>>46, R4, R9                        // 89b86eca
   EOR $-2287828610704211969, R27, R22        // 76e343d2
   EORW R12->27, R10, R19                     // 536d8c4a
   EOR R2<<59, R30, R17                       // d1ef02ca
   ERET                                       // e0039fd6
   EXTRW $7, R8, R10, R25                     // 591d8813
   EXTR $35, R22, R12, R8                     // 888dd693
   SEVL                                       // bf2003d5
   HINT $6                                    // df2003d5
   HINT $0                                    // 1f2003d5
   HLT $65509                                 // a0fc5fd4
   HVC $61428                                 // 82fe1dd4
   ISB $1                                     // df3103d5
   ISB $15                                    // df3f03d5
   LDARW (R12), R29                           // 9dfddf88
   LDARW (R30), R22                           // d6ffdf88
   LDARW (RSP), R22                           // f6ffdf88
   LDAR (R27), R22                            // 76ffdfc8
   LDARB (R25), R2                            // 22ffdf08
   LDARH (R5), R7                             // a7fcdf48
   LDAXPW (R10), (R20, R16)                   // 54c17f88
   LDAXP (R25), (R30, R11)                    // 3eaf7fc8
   LDAXRW (R15), R2                           // e2fd5f88
   LDAXR (R15), R21                           // f5fd5fc8
   LDAXRB (R19), R16                          // 70fe5f08
   LDAXRH (R5), R8                            // a8fc5f48
   //TODO LDNP 0xcc(RSP), ZR, R12             // ecff5928
   //TODO LDNP 0x40(R28), R9, R5              // 852744a8
   //TODO LDPSW -0xd0(R2), R0, R12            // 4c00e668
   //TODO LDPSW 0x5c(R4), R8, R5              // 85a0cb69
   //TODO LDPSW 0x6c(R12), R2, R27            // 9b894d69
   MOVWU.P -84(R15), R9                       // e9c55ab8
   MOVD.P -46(R10), R8                        // 48255df8
   MOVD.P (R10), R8                           // 480540f8
   MOVWU.W -141(R3), R16                      // 703c57b8
   MOVD.W -134(R0), R29                       // 1dac57f8
   MOVWU 4156(R1), R25                        // 393c50b9
   MOVD 14616(R10), R9                        // 498d5cf9
   MOVWU (R4)(R12.SXTW<<2), R7                // 87d86cb8
   MOVD (R7)(R11.UXTW<<3), R25                // f9586bf8
   MOVBU.P 42(R2), R12                        // 4ca44238
   MOVBU.W -27(R2), R14                       // 4e5c5e38
   MOVBU 2916(R24), R3                        // 03936d39
   MOVBU (R19)(R14<<0), R23                   // 777a6e38
   MOVBU (R2)(R8.SXTX), R19                   // 53e86838
   MOVBU (R27)(R23), R14                      // MOVBU (R27)(R23*1), R14     // 6e6b7738
   MOVHU.P 107(R14), R13                      // cdb54678
   MOVHU.W 192(R3), R2                        // 620c4c78
   MOVHU 6844(R4), R19                        // 93787579
   MOVHU (R5)(R25.SXTW), R15                  // afc87978
   //TODO MOVBW.P 77(R19), R11                // 6bd6c438
   MOVB.P 36(RSP), R27                        // fb478238
   //TODO MOVBW.W -57(R19), R13               // 6d7edc38
   MOVB.W -178(R16), R24                      // 18ee9438
   //TODO MOVBW 430(R8), R22                  // 16b9c639
   MOVB 997(R9), R23                          // 37958f39
   //TODO MOVBW (R2<<1)(R21), R15             // af7ae238
   //TODO MOVBW (R26)(R0), R21                // 1568fa38
   MOVB (R5)(R15), R16                        // MOVB (R5)(R15*1), R16         // b068af38
   MOVB (R19)(R26.SXTW), R19                  // 73caba38
   MOVB (R29)(R30), R14                       // MOVB (R29)(R30*1), R14        // ae6bbe38
   //TODO MOVHW.P 218(R22), R25               // d9a6cd78
   MOVH.P 179(R23), R5                        // e5368b78
   //TODO MOVHW.W 136(R2), R27                // 5b8cc878
   MOVH.W -63(R25), R22                       // 361f9c78
   //TODO MOVHW 5708(R25), R21                // 359bec79
   MOVH 54(R2), R13                           // 4d6c8079
   //TODO MOVHW (R22)(R24.SXTX), R4           // c4eaf878
   MOVH (R26)(R30.UXTW<<1), ZR                // 5f5bbe78
   MOVW.P -58(R16), R2                        // 02669cb8
   MOVW.W -216(R19), R8                       // 688e92b8
   MOVW 4764(R23), R10                        // ea9e92b9
   MOVW (R8)(R3.UXTW), R17                    // 1149a3b8
   //TODO LDTR -0x1e(R3), R4                  // 64285eb8
   //TODO LDTR -0xe5(R3), R10                 // 6ab851f8
   //TODO LDTRB 0xf0(R13), R10                // aa094f38
   //TODO LDTRH 0xe8(R13), R23                // b7894e78
   //TODO LDTRSB -0x24(R20), R5               // 85cadd38
   //TODO LDTRSB -0x75(R9), R13               // 2db99838
   //TODO LDTRSH 0xef(R3), LR                 // 7ef8ce78
   //TODO LDTRSH 0x96(R19), R24               // 786a8978
   //TODO LDTRSW 0x1e(LR), R5                 // c5eb81b8
   //TODO LDUR 0xbf(R13), R1                  // a1f14bb8
   //TODO LDUR -0x3c(R22), R3                 // c3425cf8
   //TODO LDURB -0xff(R17), R14               // 2e125038
   //TODO LDURH 0x80(R1), R6                  // 26004878
   //TODO LDURSB 0xde(LR), R3                 // c3e3cd38
   //TODO LDURSB 0x96(R9), R7                 // 27618938
   //TODO LDURSH -0x49(R11), R28              // 7c71db78
   //TODO LDURSH -0x1f(R0), R29               // 1d109e78
   //TODO LDURSW 0x48(R6), R20                // d48084b8
   LDXPW (R24), (R23, R11)                    // 172f7f88
   LDXP (R0), (R16, R13)                      // 10347fc8
   LDXRW (RSP), R30                           // fe7f5f88
   LDXR (R27), R12                            // 6c7f5fc8
   LDXRB (R0), R4                             // 047c5f08
   LDXRH (R12), R26                           // 9a7d5f48
   LSLW R11, R10, R15                         // 4f21cb1a
   LSL R27, R24, R21                          // 1523db9a
   LSLW $5, R7, R22                           // f6681b53
   LSL $57, R17, R2                           // 221a47d3
   LSRW R9, R3, R12                           // 6c24c91a
   LSR R10, R5, R2                            // a224ca9a
   LSRW $1, R3, R16                           // 707c0153
   LSR $12, R1, R20                           // 34fc4cd3
   MADDW R13, R23, R3, R10                    // 6a5c0d1b
   MADD R5, R23, R10, R4                      // 445d059b
   MNEGW R0, R9, R21                          // 35fd001b
   MNEG R14, R27, R23                         // 77ff0e9b
   MOVD  R2, R7                               // e70302aa
   MOVW $-24, R20                             // f4028012
   MOVD $-51096, ZR                           // fff29892
   MOVW $2507014144, R20                      // d4adb252
   MOVD $1313925191285342208, R7              // 8747e2d2
   ORRW $16252928, ZR, R21                    // f5130d32
   MOVD $-4260607558625, R11                  // eb6b16b2
   MOVD R30, R7                               // e7031eaa
   MOVKW $(3905<<0), R21                      // MOVKW $3905, R21              // 35e88172
   MOVKW $(3905<<16), R21                     // MOVKW $255918080, R21         // 35e8a172
   MOVK $(3905<<32), R21                      // MOVK $16771847290880, R21     // 35e8c1f2
   MOVD $0, R5                                // 050080d2
   MSR $1, SPSel                              // bf4100d5
   MSR $9, DAIFSet                            // df4903d5
   MSR $6, DAIFClr                            // ff4603d5
   MRS ELR_EL1, R8                            // 284038d5
   MSR R16, ELR_EL1                           // 304018d5
   MRS DCZID_EL0, R3                          // e3003bd5
   MSUBW R1, R1, R12, R5                      // 8585011b
   MSUB R19, R16, R26, R2                     // 42c3139b
   MULW R26, R5, R22                          // b67c1a1b
   MUL R4, R3, R0                             // 607c049b
   MVNW R3@>13, R8                            // e837e32a
   MVN R13>>31, R9                            // e97f6daa
   NEGSW R23<<1, R30                          // fe07176b
   NEGS R20>>35, R22                          // f68f54eb
   NGCW R13, R8                               // e8030d5a
   NGC R2, R7                                 // e70302da
   NGCSW R10, R5                              // e5030a7a
   NGCS R24, R16                              // f00318fa
   NOOP                                        // 1f2003d5
   ORNW R4@>11, R16, R3                       // 032ee42a
   ORN R22@>19, R3, R3                        // 634cf6aa
   ORRW $4294443071, R15, R24                 // f8490d32
   ORR $-3458764513820540929, R12, R22        // 96f542b2
   ORRW R13<<4, R8, R26                       // 1a110d2a
   ORR R3<<22, R5, R6                         // a65803aa
   PRFM (R8), $25                             // 190180f9
   PRFM (R2), PLDL1KEEP                       // 400080f9
   //TODO PRFM (R27)(R30.SXTW<<3), PLDL2STRM  // 63dbbff8
   //TODO PRFUM 22(R16), PSTL1KEEP            // 106281f8
   RBITW R9, R22                              // 3601c05a
   RBIT R11, R4                               // 6401c0da
   RET                                        // c0035fd6
   REVW R8, R10                               // 0a09c05a
   REV R1, R2                                 // 220cc0da
   REV16W R21, R19                            // b306c05a
   REV16 R25, R4                              // 2407c0da
   REV32 R27, R21                             // 750bc0da
   EXTRW $27, R4, R25, R19                    // 336f8413
   EXTR $17, R10, R29, R15                    // af47ca93
   ROR $14, R14, R15                          // cf39ce93
   RORW $28, R14, R15                         // cf718e13
   RORW R3, R12, R3                           // 832dc31a
   ROR R0, R23, R2                            // e22ec09a
   SBCW R4, R8, R24                           // 1801045a
   SBC R25, R10, R26                          // 5a0119da
   SBCSW R27, R19, R19                        // 73021b7a
   SBCS R5, R9, R5                            // 250105fa
   SBFIZW $9, R10, $18, R22                   // 56451713
   SBFIZ $6, R11, $15, R20                    // 74397a93
   SBFXW $8, R15, $10, R20                    // f4450813
   SBFX $2, R27, $54, R7                      // 67df4293
   SDIVW R22, R14, R9                         // c90dd61a
   SDIV R13, R21, R9                          // a90ecd9a
   SEV                                        // 9f2003d5
   SEVL                                       // bf2003d5
   SMADDL R3, R7, R11, R9                     // 691d239b
   SMSUBL R5, R19, R11, R29                   // 7dcd259b
   SMNEGL R26, R3, R15                        // 6ffc3a9b
   SMULH R17, R21, R21                        // b57e519b
   SMULL R0, R5, R0                           // a07c209b
   SMC $37977                                 // 238b12d4
   STLRW R16, (R22)                           // d0fe9f88
   STLR R3, (R24)                             // 03ff9fc8
   STLRB R11, (R22)                           // cbfe9f08
   STLRH R16, (R23)                           // f0fe9f48
   STLXR R7, (R27), R8                        // 67ff08c8
   STLXRW R13, (R15), R14                     // edfd0e88
   STLXRB R24, (R23), R8                      // f8fe0808
   STLXRH R19, (R27), R11                     // 73ff0b48
   STLXP (R6, R3), (R10), R2                  // 468d22c8
   STLXPW (R6, R11), (R22), R21               // c6ae3588
   //TODO STNPW 44(R1), R3, R10               // 2a8c0528
   //TODO STNP 0x108(R3), ZR, R7              // 67fc10a8
   LDP.P -384(R3), (R22, R26)                 // 7668e8a8
   LDP.W 280(R8), (R19, R11)                  // 13add1a9
   STP.P (R22, R27), 352(R0)                  // 166c96a8
   STP.W (R17, R11), 96(R8)                   // 112d86a9
   MOVW.P R20, -28(R1)                        // 34441eb8
   MOVD.P R17, 191(R16)                       // 11f60bf8
   MOVW.W R1, -171(R14)                       // c15d15b8
   MOVD.W R14, -220(R13)                      // ae4d12f8
   MOVW R3, 14828(R24)                        // 03ef39b9
   MOVD R0, 20736(R17)                        // 208228f9
   MOVB.P ZR, -117(R7)                        // ffb41838
   MOVB.W R27, -96(R13)                       // bb0d1a38
   MOVB R17, 2200(R13)                        // b1612239
   MOVH.P R7, -72(R4)                         // 87841b78
   MOVH.W R12, -125(R14)                      // cc3d1878
   MOVH R19, 3686(R26)                        // 53cf1c79
   MOVW R21, 34(R0)                           // 152002b8
   MOVD R25, -137(R17)                        // 397217f8
   MOVW R4, (R12)(R22.UXTW<<2)                // 845936b8
   MOVD R27, (R5)(R15.UXTW<<3)                // bb582ff8
   MOVB R2, (R10)(R16)                        // MOVB R2, (R10)(R16*1)         // 42693038
   MOVB R2, (R29)(R26)                        // MOVB R2, (R29)(R26*1)         // a26b3a38
   MOVH R11, -80(R23)                         // eb021b78
   MOVH R11, (R27)(R14.SXTW<<1)               // 6bdb2e78
   MOVB R19, (R0)(R4)                         // MOVB R19, (R0)(R4*1)          // 13682438
   MOVB R1, (R6)(R4)                          // MOVB R1, (R6)(R4*1)           // c1682438
   MOVH R3, (R11)(R13<<1)                     // 63792d78
   //TODO STTR 55(R4), R29                    // 9d7803b8
   //TODO STTR 124(R5), R25                   // b9c807f8
   //TODO STTRB -28(R23), R16                 // f04a1e38
   //TODO STTRH 9(R10), R19                   // 53990078
   STXP (R1, R2), (R3), R10                   // 61082ac8
   STXP (R1, R2), (RSP), R10                  // e10b2ac8
   STXPW (R1, R2), (R3), R10                  // 61082a88
   STXPW (R1, R2), (RSP), R10                 // e10b2a88
   STXRW R2, (R19), R20                       // 627e1488
   STXR R15, (R21), R13                       // af7e0dc8
   STXRB R7, (R9), R24                        // 277d1808
   STXRH R12, (R3), R8                        // 6c7c0848
   SUBW R20.UXTW<<2, R23, R19                 // f34a344b
   SUB R5.SXTW<<2, R1, R26                    // 3ac825cb
   SUB $(1923<<12), R4, R27                   // SUB $7876608, R4, R27         // 9b0c5ed1
   SUBW $(1923<<12), R4, R27                  // SUBW $7876608, R4, R27        // 9b0c5e51
   SUBW R12<<29, R7, R8                       // e8740c4b
   SUB R12<<61, R7, R8                        // e8f40ccb
   SUBSW R2.SXTH<<3, R13, R6                  // a6ad226b
   SUBS R21.UXTX<<2, R27, R4                  // 646b35eb
   SUBSW $(44<<12), R6, R9                    // SUBSW $180224, R6, R9         // c9b04071
   SUBS $(1804<<12), R13, R9                  // SUBS $7389184, R13, R9        // a9315cf1
   SUBSW R22->28, R6, R7                      // c770966b
   SUBSW R22>>28, R6, R7                      // c770566b
   SUBS R26<<15, R6, R16                      // d03c1aeb
   SVC $0                                     // 010000d4
   SVC $7165                                  // a17f03d4
   SXTBW R8, R25                              // 191d0013
   SXTB R13, R9                               // a91d4093
   SXTHW R8, R8                               // 083d0013
   SXTH R17, R25                              // 393e4093
   SXTW R0, R27                               // 1b7c4093
   SYSL $285440, R12                          // 0c5b2cd5
   //TODO TLBI
   TSTW $0x80000007, R9                       // TSTW $2147483655, R9          // 3f0d0172
   TST $0xfffffff0, LR                        // TST $4294967280, R30          // df6f7cf2
   TSTW R10@>21, R2                           // 5f54ca6a
   TST R17<<11, R24                           // 1f2f11ea
   ANDSW $0x80000007, R9, ZR                  // ANDSW   $2147483655, R9, ZR   // 3f0d0172
   ANDS $0xfffffff0, LR, ZR                   // ANDS    $4294967280, R30, ZR  // df6f7cf2
   ANDSW R10@>21, R2, ZR                      // 5f54ca6a
   ANDS R17<<11, R24, ZR                      // 1f2f11ea
   UBFIZW $3, R19, $14, R14                   // 6e361d53
   UBFIZ $3, R22, $14, R4                     // c4367dd3
   UBFXW $3, R7, $20, R15                     // ef580353
   UBFX $33, R17, $25, R5                     // 25e661d3
   UDIVW R8, R21, R15                         // af0ac81a
   UDIV R2, R19, R21                          // 750ac29a
   UMADDL R0, R20, R17, R17                   // 3152a09b
   UMSUBL R22, R4, R3, R7                     // 6790b69b
   UMNEGL R3, R19, R1                         // 61fea39b
   UMULH R24, R20, R24                        // 987ed89b
   UMULL R19, R22, R19                        // d37eb39b
   UXTBW R2, R6                               // 461c0053
   UXTHW R7, R20                              // f43c0053
   VCNT V0.B8, V0.B8                          // 0058200e
   VCNT V0.B16, V0.B16                        // 0058204e
   WFE                                        // 5f2003d5
   WFI                                        // 7f2003d5
   YIELD                                      // 3f2003d5
   //TODO FABD F0, F5, F11                    // abd4a07e
   //TODO VFABD V30.S2, V8.S2, V24.S2         // 18d5be2e
   //TODO VFABS V5.S4, V24.S4                 // b8f8a04e
   FABSS F2, F28                              // 5cc0201e
   FABSD F0, F14                              // 0ec0601e
   //TODO FACGE F25, F16, F0                  // 00ee797e
   //TODO VFACGE V11.S2, V15.S2, V9.S2        // e9ed2b2e
   //TODO FACGT F20, F16, F27                 // 1beef47e
   //TODO VFACGT V15.S4, V25.S4, V22.S4       // 36efaf6e
   //TODO VFADD V21.D2, V10.D2, V21.D2        // 55d5754e
   FADDS F12, F2, F10                         // 4a282c1e
   FADDD F24, F14, F12                        // cc29781e
   //TODO VFADDP V4.D2, F13                   // 8dd8707e
   //TODO VFADDP V30.S4, V3.S4, V11.S4        // 6bd43e6e
   FCCMPS LE, F17, F12, $14                   // 8ed5311e
   FCCMPD HI, F11, F15, $15                   // ef856b1e
   FCCMPES HS, F28, F13, $13                  // bd253c1e
   FCCMPED LT, F20, F4, $9                    // 99b4741e
   //TODO FCMEQ F7, F11, F26                  // 7ae5675e
   //TODO VFCMEQ V29.S4, V26.S4, V30.S4       // 5ee73d4e
   //TODO FCMEQ $0, F17, F22                  // 36daa05e
   //TODO VFCMEQ $0, V17.D2, V22.D2           // 36dae04e
   //TODO FCMGE F29, F31, F13                 // ede77d7e
   //TODO VFCMGE V8.S2, V31.S2, V2.S2         // e2e7282e
   //TODO FCMGE $0, F18, F27                  // e2e7282e
   //TODO VFCMGE $0, V14.S2, V8.S2            // c8c9a02e
   //TODO FCMGT F20, F2, F8                   // 48e4b47e
   //TODO VFCMGT V26.D2, V15.D2, V23.D2       // f7e5fa6e
   //TODO FCMGT $0, F14, F3                   // c3c9e05e
   //TODO VFCMGT $0, V6.S2, V28.S2            // dcc8a00e
   //TODO FCMLE $0, F26, F25                  // 59dba07e
   //TODO VFCMLE $0, V28.S2, V20.S2           // 94dba02e
   //TODO FCMLT $0, F17, F3                   // 23eae05e
   //TODO VFCMLT $0, V8.S4, V7.S4             // 07e9a04e
   FCMPS F3, F17                              // 2022231e
   FCMPS $(0.0), F8                           // 0821201e
   FCMPD F11, F27                             // 60236b1e
   FCMPD $(0.0), F25                          // 2823601e
   FCMPES F16, F30                            // d023301e
   FCMPES $(0.0), F29                         // b823201e
   FCMPED F13, F10                            // 50216d1e
   FCMPED $(0.0), F25                         // 3823601e
   FCSELS EQ, F26, F27, F25                   // 590f3b1e
   FCSELD PL, F8, F22, F7                     // 075d761e
   //TODO FCVTAS F4, F28                      // 9cc8215e
   //TODO VFCVTAS V21.D2, V27.D2              // bbca614e
   //TODO FCVTAS F27, R7                      // 6703241e
   //TODO FCVTAS F19, R26                     // 7a02249e
   //TODO FCVTAS F4, R0                       // 8000641e
   //TODO FCVTAS F3, R19                      // 7300649e
   //TODO FCVTAU F18, F28                     // 5cca217e
   //TODO VFCVTAU V30.S4, V27.S4              // dbcb216e
   //TODO FCVTAU F0, R2                       // 0200251e
   //TODO FCVTAU F0, R24                      // 1800259e
   //TODO FCVTAU F31, R10                     // ea03651e
   //TODO FCVTAU F3, R8                       // 6800659e
   //TODO VFCVTL V11.S2, V21.D2               // 7579610e
   //TODO VFCVTL2 V15.H8, V25.S4              // f979214e
   //TODO FCVTMS F21, F28                     // bcba215e
   //TODO VFCVTMS V5.D2, V2.D2                // a2b8614e
   //TODO FCVTMS F31, R19                     // f303301e
   //TODO FCVTMS F23, R16                     // f002309e
   //TODO FCVTMS F16, R22                     // 1602701e
   //TODO FCVTMS F14, R19                     // d301709e
   //TODO FCVTMU F14, F8                      // c8b9217e
   //TODO VFCVTMU V7.D2, V1.D2                // e1b8616e
   //TODO FCVTMU F2, R0                       // 4000311e
   //TODO FCVTMU F23, R19                     // f302319e
   //TODO FCVTMU F16, R17                     // 1102711e
   //TODO FCVTMU F12, R19                     // 9301719e
   //TODO VFCVTN V23.D2, V26.S2               // fa6a610e
   //TODO VFCVTN2 V2.D2, V31.S4               // 5f68614e
   //TODO FCVTNS F3, F27                      // 7ba8215e
   //TODO VFCVTNS V11.S2, V12.S2              // 6ca9210e
   //TODO FCVTNS F14, R9                      // c901201e
   //TODO FCVTNS F0, R27                      // 1b00209e
   //TODO FCVTNS F23, R0                      // e002601e
   //TODO FCVTNS F6, R30                      // de00609e
   //TODO FCVTNU F12, F9                      // 89a9217e
   //TODO VFCVTNU V3.D2, V20.D2               // 74a8616e
   //TODO FCVTNU F20, R11                     // 8b02211e
   //TODO FCVTNU F23, R19                     // f302219e
   //TODO FCVTNU F4, R5                       // 8500611e
   //TODO FCVTNU F11, R19                     // 7301619e
   //TODO FCVTPS F20, F26                     // 9aaae15e
   //TODO VFCVTPS V29.S4, V13.S4              // adaba14e
   //TODO FCVTPS F5, R29                      // bd00281e
   //TODO FCVTPS F3, R3                       // 6300289e
   //TODO FCVTPS F4, R25                      // 9900681e
   //TODO FCVTPS F29, R15                     // af03689e
   //TODO FCVTPU F13, F3                      // a3a9e17e
   //TODO VFCVTPU V6.S4, V24.S4               // d8a8a16e
   //TODO FCVTPU F17, R17                     // 3102291e
   //TODO FCVTPU F7, R23                      // f700299e
   //TODO FCVTPU F10, R3                      // 4301691e
   //TODO FCVTPU F24, R27                     // 1b03699e
   //TODO FCVTXN F14, F0                      // c069617e
   //TODO VFCVTXN V1.D2, V17.S2               // 3168612e
   //TODO VFCVTXN2 V0.D2, V21.S4              // 1568616e
   //TODO FCVTZS $26, F29, F19                // b3ff665f
   //TODO VFCVTZS $45, V14.D2, V18.D2         // d2fd534f
   //TODO FCVTZS F8, F7                       // 07b9a15e
   //TODO VFCVTZS V2.S2, V4.S2                // 44b8a10e
   //TODO FCVTZS $26, F7, R11                 // eb98181e
   //TODO FCVTZS $7, F4, ZR                   // 9fe4189e
   //TODO FCVTZS $28, F13, R14                // ae91581e
   //TODO FCVTZS $8, F27, R3                  // 63e3589e
   FCVTZSSW F7, R15                           // ef00381e
   FCVTZSS F16, ZR                            // 1f02389e
   FCVTZSDW F19, R3                           // 6302781e
   FCVTZSD F7, R7                             // e700789e
   //TODO FCVTZU $17, F18, F28                // 5cfe2f7f
   //TODO VFCVTZU $19, V20.D2, V11.D2         // 8bfe6d6f
   //TODO FCVTZU F22, F8                      // c8bae17e
   //TODO VFCVTZU V0.S4, V1.S4                // 01b8a16e
   //TODO FCVTZU $14, F24, R20                // 14cb191e
   //TODO FCVTZU $6, F25, R17                 // 31eb199e
   //TODO FCVTZU $5, F17, R10                 // 2aee591e
   //TODO FCVTZU $6, F7, R19                  // f3e8599e
   FCVTZUSW F2, R9                            // 4900391e
   FCVTZUS F12, R29                           // 9d01399e
   FCVTZUDW F27, R22                          // 7603791e
   FCVTZUD F25, R22                           // 3603799e
   //TODO VFDIV V6.D2, V1.D2, V27.D2          // 3bfc666e
   FDIVS F16, F10, F20                        // 5419301e
   FDIVD F11, F25, F30                        // 3e1b6b1e
   FMADDS F15, F2, F8, F1                     // 01090f1f
   FMADDD F15, F21, F25, F9                   // 29574f1f
   //TODO VFMAX V23.D2, V27.D2, V14.D2        // 6ef7774e
   FMAXS F5, F28, F27                         // 9b4b251e
   FMAXD F12, F31, F31                        // ff4b6c1e
   //TODO VFMAXNM V3.D2, V12.D2, V27.D2       // 9bc5634e
   FMAXNMS F11, F24, F12                      // 0c6b2b1e
   FMAXNMD F20, F6, F16                       // d068741e
   //TODO VFMAXNMP V3.S2, F2                  // 62c8307e
   //TODO VFMAXNMP V25.S2, V4.S2, V2.S2       // 82c4392e
   //TODO VFMAXNMV V14.S4, F15                // cfc9306e
   //TODO VFMAXP V3.S2, F27                   // 7bf8307e
   //TODO VFMAXP V29.S2, V30.S2, V9.S2        // c9f73d2e
   //TODO VFMAXV V13.S4, F14                  // aef9306e
   //TODO VFMIN V19.D2, V30.D2, V7.D2         // c7f7f34e
   FMINS F26, F18, F30                        // 5e5a3a1e
   FMIND F29, F4, F21                         // 95587d1e
   //TODO VFMINNM V21.S4, V5.S4, V1.S4        // a1c4b54e
   FMINNMS F23, F20, F1                       // 817a371e
   FMINNMD F8, F3, F24                        // 7878681e
   //TODO VFMINNMP V16.D2, F12                // 0ccaf07e
   //TODO VFMINNMP V10.S4, V25.S4, V27.S4     // 3bc7aa6e
   //TODO VFMINNMV V8.S4, F3                  // 03c9b06e
   //TODO VFMINP V10.S2, F20                  // 54f9b07e
   //TODO VFMINP V1.D2, V10.D2, V3.D2         // 43f5e16e
   //TODO VFMINV V11.S4, F9                   // 69f9b06e
   //TODO VFMLA V6.S[0], F2, F14              // 4e10865f
   //TODO VFMLA V28.S[2], V2.S2, V30.S2       // 5e189c0f
   VFMLA V29.S2, V20.S2, V14.S2               // 8ece3d0e
   //TODO VFMLS V24.D[1], F3, F17             // 7158d85f
   //TODO VFMLS V10.S[0], V11.S2, V10.S2      // 6a518a0f
   VFMLS V29.S2, V27.S2, V17.S2               // 71cfbd0e
   //TODO FMOVS $(-1.625), F13                // 0d503f1e
   //TODO FMOVD $12.5, F30                    // 1e30651e
   //TODO VFMOV R7, V25.D[1]                  // f900af9e
   FMOVD F2, R15                              // 4f00669e
   FMOVD R3, F11                              // 6b00679e
   FMOVS F20, R29                             // 9d02261e
   FMOVS R8, F15                              // 0f01271e
   FMOVD F2, F9                               // 4940601e
   FMOVS F4, F27                              // 9b40201e
   //TODO VFMOV $3.125, V8.D2                 // 28f5006f
   FMSUBS F13, F21, F13, F19                  // b3d50d1f
   FMSUBD F11, F7, F15, F31                   // ff9d4b1f
   //TODO VFMUL V9.S[2], F21, F19             // b39a895f
   //TODO VFMUL V26.S[2], V26.S2, V2.S2       // 429b9a0f
   //TODO VFMUL V21.D2, V17.D2, V25.D2        // 39de756e
   FMULS F0, F6, F24                          // d808201e
   FMULD F5, F29, F9                          // a90b651e
   //TODO VFMULX V26.S[2], F20, F8            // 889a9a7f
   //TODO VFMULX V12.D[1], V21.D2, V31.D2     // bf9acc6f
   //TODO FMULX F16, F1, F31                  // 3fdc705e
   //TODO VFMULX V29.S2, V13.S2, V31.S2       // bfdd3d0e
   //TODO VFNEG V18.S2, V12.S2                // 4cfaa02e
   FNEGS F16, F5                              // 0542211e
   FNEGD F31, F31                             // ff43611e
   FNMADDS F17, F22, F6, F20                  // d458311f
   FNMADDD F15, F0, F26, F20                  // 54036f1f
   FNMSUBS F14, F16, F27, F14                 // 6ec32e1f
   FNMSUBD F29, F25, F8, F10                  // 0ae57d1f
   FNMULS F24, F22, F18                       // d28a381e
   FNMULD F14, F30, F7                        // c78b6e1e
   //TODO FRECPE F9, F2                       // 22d9e15e
   //TODO VFRECPE V0.S2, V28.S2               // 1cd8a10e
   //TODO FRECPS F28, F10, F9                 // 49fd3c5e
   //TODO VFRECPS V27.D2, V12.D2, V24.D2      // 98fd7b4e
   //TODO FRECPX F28, F3                      // 83fbe15e
   //TODO VFRINTA V14.S2, V25.S2              // d989212e
   FRINTAS F0, F21                            // 1540261e
   FRINTAD F8, F22                            // 1641661e
   //TODO VFRINTI V21.D2, V31.D2              // bf9ae16e
   FRINTIS F17, F17                           // 31c2271e
   FRINTID F9, F15                            // 2fc1671e
   //TODO VFRINTM V9.D2, V27.D2               // 3b99614e
   FRINTMS F24, F16                           // 1043251e
   FRINTMD F5, F2                             // a240651e
   //TODO VFRINTN V30.S4, V2.S4               // c28b214e
   FRINTNS F26, F14                           // 4e43241e
   FRINTND F28, F12                           // 8c43641e
   //TODO VFRINTP V27.D2, V31.D2              // 7f8be14e
   FRINTPS F27, F4                            // 64c3241e
   FRINTPD F6, F22                            // d6c0641e
   //TODO VFRINTX V25.D2, V0.D2               // 209b616e
   FRINTXS F26, F10                           // 4a43271e
   FRINTXD F16, F12                           // 0c42671e
   //TODO VFRINTZ V25.S4, V27.S4              // 3b9ba14e
   FRINTZS F3, F28                            // 7cc0251e
   FRINTZD F24, F6                            // 06c3651e
   //TODO FRSQRTE F29, F5                     // a5dbe17e
   //TODO VFRSQRTE V18.S2, V1.S2              // 41daa12e
   //TODO FRSQRTS F17, F7, F24                // f8fcf15e
   //TODO VFRSQRTS V14.S2, V10.S2, V24.S2     // 58fdae0e
   //TODO VFSQRT V2.D2, V21.D2                // 55f8e16e
   FSQRTS F0, F9                              // 09c0211e
   FSQRTD F14, F27                            // dbc1611e
   FSUBS F25, F23, F0                         // e03a391e
   FSUBD F11, F13, F24                        // b8396b1e
   //TODO SCVTFSS F30, F20                    // d4db215e
   //TODO VSCVTF V7.S2, V17.S2                // f1d8210e
   SCVTFWS R3, F16                            // 7000221e
   SCVTFWD R20, F4                            // 8402621e
   SCVTFS R16, F12                            // 0c02229e
   SCVTFD R26, F14                            // 4e03629e
   UCVTFWS R6, F4                             // c400231e
   UCVTFWD R10, F23                           // 5701631e
   UCVTFS R24, F29                            // 1d03239e
   UCVTFD R20, F11                            // 8b02639e
   VADD V16, V19, V14                                          // 6e86f05e
   VADD V5.H8, V18.H8, V9.H8                                   // 4986654e
   VADDP V7.H8, V25.H8, V17.H8                                 // 31bf674e
   VADDV V3.H8, V0                                             // 60b8714e
   AESD V22.B16, V19.B16                                       // d35a284e
   AESE V31.B16, V29.B16                                       // fd4b284e
   AESIMC V12.B16, V27.B16                                     // 9b79284e
   AESMC V14.B16, V28.B16                                      // dc69284e
   VAND V4.B16, V4.B16, V9.B16                                 // 891c244e
   VCMEQ V24.S4, V13.S4, V12.S4                                // ac8db86e
   VCNT V13.B8, V11.B8                                         // ab59200e
   VMOV V31.B[15], V18                                         // f2071f5e
   VDUP V31.B[13], V20.B16                                     // f4071b4e
   VEOR V4.B8, V18.B8, V7.B8                                   // 471e242e
   VEXT $4, V2.B8, V1.B8, V3.B8                                // 2320022e
   VEXT $8, V2.B16, V1.B16, V3.B16                             // 2340026e
   VMOV V11.B[11], V16.B[12]                                   // 705d196e
   VMOV R20, V21.B[2]                                          // 951e054e
   VLD1 (R2), [V21.B16]                                        // 5570404c
   VLD1 (R24), [V18.D1, V19.D1, V20.D1]                        // 126f400c
   VLD1 (R29), [V14.D1, V15.D1, V16.D1, V17.D1]                // ae2f400c
   VLD1.P 16(R23), [V1.B16]                                    // e172df4c
   VLD1.P (R6)(R11), [V31.D1]                                  // VLD1.P (R6)(R11*1), [V31.D1]                 // df7ccb0c
   VLD1.P 16(R7), [V31.D1, V0.D1]                              // ffacdf0c
   VLD1.P (R19)(R4), [V24.B8, V25.B8]                          // VLD1.P (R19)(R4*1), [V24.B8, V25.B8]         // 78a2c40c
   VLD1.P (R20)(R8), [V7.H8, V8.H8, V9.H8]                     // VLD1.P (R20)(R8*1), [V7.H8, V8.H8, V9.H8]    // 8766c84c
   VLD1.P 32(R30), [V5.B8, V6.B8, V7.B8, V8.B8]                // c523df0c
   VLD1 (R19), V14.B[15]                                       // 6e1e404d
   VLD1 (R29), V0.H[1]                                         // a04b400d
   VLD1 (R27), V2.S[0]                                         // 6283400d
   VLD1 (R21), V5.D[1]                                         // a586404d
   VLD1.P 1(R19), V10.B[14]                                    // 6a1adf4d
   VLD1.P (R3)(R14), V16.B[11]                                 // VLD1.P (R3)(R14*1), V16.B[11]                // 700cce4d
   VLD1.P 2(R1), V28.H[2]                                      // 3c50df0d
   VLD1.P (R13)(R20), V9.H[2]                                  // VLD1.P (R13)(R20*1), V9.H[2]                 // a951d40d
   VLD1.P 4(R17), V1.S[3]                                      // 2192df4d
   VLD1.P (R14)(R2), V17.S[2]                                  // VLD1.P (R14)(R2*1), V17.S[2]                 // d181c24d
   VLD1.P 8(R5), V30.D[1]                                      // be84df4d
   VLD1.P (R27)(R13), V27.D[0]                                 // VLD1.P (R27)(R13*1), V27.D[0]                // 7b87cd0d
   //TODO FMOVS.P -29(RSP), F8                                 // e8375ebc
   //TODO FMOVS.W 71(R29), F28                                 // bc7f44bc
   FMOVS 6160(R4), F23                                         // 971058bd
   VMOV V18.B[10], V27                                         // 5b06155e
   VMOV V12.B[2], V28.B[12]                                    // 9c15196e
   VMOV R30, V4.B[13]                                          // c41f1b4e
   VMOV V2.B16, V4.B16                                         // 441ca24e
   VMOV V13.S[0], R20                                          // b43d040e
   VMOV V13.D[0], R20                                          // b43d084e
   VMOVI $146, V22.B16                                         // 56e6044f
   VORR V25.B16, V22.B16, V15.B16                              // cf1eb94e
   VPMULL V2.D1, V1.D1, V3.Q1                                  // 23e0e20e
   VPMULL2 V2.D2, V1.D2, V4.Q1                                 // 24e0e24e
   VPMULL V2.B8, V1.B8, V3.H8                                  // 23e0220e
   VPMULL2 V2.B16, V1.B16, V4.H8                               // 24e0224e
   VRBIT V10.B16, V21.B16                                      // 5559606e
   VREV32 V2.H8, V1.H8                                         // 4108606e
   VREV16 V2.B8, V1.B8                                         // 4118200e
   VREV16 V5.B16, V16.B16                                      // b018204e
   SCVTFWS R6, F17                                             // d100221e
   SCVTFWD R3, F15                                             // 6f00621e
   SCVTFS R20, F25                                             // 9902229e
   SCVTFD R13, F9                                              // a901629e
   SHA1C V8.S4, V8, V2                                         // 0201085e
   SHA1H V17, V25                                              // 390a285e
   SHA1M V0.S4, V27, V27                                       // 7b23005e
   SHA1P V3.S4, V20, V27                                       // 9b12035e
   SHA1SU0 V17.S4, V13.S4, V16.S4                              // b031115e
   SHA1SU1 V24.S4, V23.S4                                      // 171b285e
   SHA256H2 V6.S4, V16, V11                                    // 0b52065e
   SHA256H V4.S4, V2, V11                                      // 4b40045e
   SHA256SU0 V0.S4, V16.S4                                     // 1028285e
   SHA256SU1 V31.S4, V3.S4, V15.S4                             // 6f601f5e
   VSHL $7, V22.D2, V25.D2                                     // d956474f
   VST1 [V14.H4, V15.H4, V16.H4], (R27)                        // 6e67000c
   VST1 [V2.S4, V3.S4, V4.S4, V5.S4], (R14)                    // c229004c
   VST1.P [V25.S4], (R7)(R29)                                  // VST1.P [V25.S4], (R7)(R29*1)                          // f9789d4c
   VST1.P [V25.D2, V26.D2], 32(R7)                             // f9ac9f4c
   VST1.P [V14.D1, V15.D1], (R7)(R23)                          // VST1.P [V14.D1, V15.D1], (R7)(R23*1)                  // eeac970c
   VST1.P [V25.D2, V26.D2, V27.D2], 48(R27)                    // 796f9f4c
   VST1.P [V13.H8, V14.H8, V15.H8], (R3)(R14)                  // VST1.P [V13.H8, V14.H8, V15.H8], (R3)(R14*1)          // 6d648e4c
   VST1.P [V16.S4, V17.S4, V18.S4, V19.S4], 64(R6)             // d0289f4c
   VST1.P [V19.H4, V20.H4, V21.H4, V22.H4], (R4)(R16)          // VST1.P [V19.H4, V20.H4, V21.H4, V22.H4], (R4)(R16*1)  // 9324900c
   VST1 V12.B[3], (R1)                                         // 2c0c000d
   VST1 V12.B[3], (R1)                                         // 2c0c000d
   VST1 V25.S[2], (R20)                                        // 9982004d
   VST1 V9.D[1], (RSP)                                         // e987004d
   VST1.P V30.B[6], 1(R3)                                      // 7e189f0d
   VST1.P V8.B[0], (R3)(R21)                                   // VST1.P V8.B[0], (R3)(R21*1)                          // 6800950d
   VST1.P V15.H[5], 2(R10)                                     // 4f499f4d
   VST1.P V1.H[7], (R23)(R11)                                  // VST1.P V1.H[7], (R23)(R11*1)                         // e15a8b4d
   VST1.P V26.S[0], 4(R11)                                     // 7a819f0d
   VST1.P V9.S[1], (R16)(R21)                                  // VST1.P V9.S[1], (R16)(R21*1)                         // 0992950d
   VST1.P V16.D[0], 8(R9)                                      // 30859f0d
   VST1.P V23.D[1], (R21)(R16)                                 // VST1.P V23.D[1], (R21)(R16*1)                        // b786904d
   VSUB V1, V12, V23                                           // 9785e17e
   VUADDLV V31.S4, V11                                         // eb3bb06e
   UCVTFWS R11, F19                                            // 7301231e
   UCVTFWD R26, F13                                            // 4d03631e
   UCVTFS R23, F11                                             // eb02239e
   UCVTFD R5, F29                                              // bd00639e
   VMOV V0.B[1], R11                                           // 0b3c030e
   VMOV V1.H[3], R12                                           // 2c3c0e0e
   VUSHR $6, V22.H8, V23.H8                                    // d7061a6f

   RET