619 __ sha512h2(v7, __ T2D, v6, v1); // sha512h2 q7, q6, v1.2D
620 __ sha512su0(v26, __ T2D, v15); // sha512su0 v26.2D, v15.2D
621 __ sha512su1(v2, __ T2D, v13, v13); // sha512su1 v2.2D, v13.2D, v13.2D
622
623 // SpecialCases
624 __ ccmn(zr, zr, 3u, Assembler::LE); // ccmn xzr, xzr, #3, LE
625 __ ccmnw(zr, zr, 5u, Assembler::EQ); // ccmn wzr, wzr, #5, EQ
626 __ ccmp(zr, 1, 4u, Assembler::NE); // ccmp xzr, 1, #4, NE
627 __ ccmpw(zr, 2, 2, Assembler::GT); // ccmp wzr, 2, #2, GT
628 __ extr(zr, zr, zr, 0); // extr xzr, xzr, xzr, 0
629 __ stlxp(r0, zr, zr, sp); // stlxp w0, xzr, xzr, [sp]
630 __ stlxpw(r2, zr, zr, r3); // stlxp w2, wzr, wzr, [x3]
631 __ stxp(r4, zr, zr, r5); // stxp w4, xzr, xzr, [x5]
632 __ stxpw(r6, zr, zr, sp); // stxp w6, wzr, wzr, [sp]
633 __ dup(v0, __ T16B, zr); // dup v0.16b, wzr
634 __ mov(v1, __ T1D, 0, zr); // mov v1.d[0], xzr
635 __ mov(v1, __ T2S, 1, zr); // mov v1.s[1], wzr
636 __ mov(v1, __ T4H, 2, zr); // mov v1.h[2], wzr
637 __ mov(v1, __ T8B, 3, zr); // mov v1.b[3], wzr
638 __ ld1(v31, v0, __ T2D, Address(__ post(r1, r0))); // ld1 {v31.2d, v0.2d}, [x1], x0
639
640 // FloatImmediateOp
641 __ fmovd(v0, 2.0); // fmov d0, #2.0
642 __ fmovd(v0, 2.125); // fmov d0, #2.125
643 __ fmovd(v0, 4.0); // fmov d0, #4.0
644 __ fmovd(v0, 4.25); // fmov d0, #4.25
645 __ fmovd(v0, 8.0); // fmov d0, #8.0
646 __ fmovd(v0, 8.5); // fmov d0, #8.5
647 __ fmovd(v0, 16.0); // fmov d0, #16.0
648 __ fmovd(v0, 17.0); // fmov d0, #17.0
649 __ fmovd(v0, 0.125); // fmov d0, #0.125
650 __ fmovd(v0, 0.1328125); // fmov d0, #0.1328125
651 __ fmovd(v0, 0.25); // fmov d0, #0.25
652 __ fmovd(v0, 0.265625); // fmov d0, #0.265625
653 __ fmovd(v0, 0.5); // fmov d0, #0.5
654 __ fmovd(v0, 0.53125); // fmov d0, #0.53125
655 __ fmovd(v0, 1.0); // fmov d0, #1.0
656 __ fmovd(v0, 1.0625); // fmov d0, #1.0625
657 __ fmovd(v0, -2.0); // fmov d0, #-2.0
658 __ fmovd(v0, -2.125); // fmov d0, #-2.125
742 __ ldaddal(Assembler::word, r17, r22, r13); // ldaddal w17, w22, [x13]
743 __ ldbical(Assembler::word, r28, r30, sp); // ldclral w28, w30, [sp]
744 __ ldeoral(Assembler::word, r1, r26, r28); // ldeoral w1, w26, [x28]
745 __ ldorral(Assembler::word, r4, r30, r4); // ldsetal w4, w30, [x4]
746 __ ldsminal(Assembler::word, r6, r30, r26); // ldsminal w6, w30, [x26]
747 __ ldsmaxal(Assembler::word, r18, r9, r8); // ldsmaxal w18, w9, [x8]
748 __ lduminal(Assembler::word, r12, r0, r20); // lduminal w12, w0, [x20]
749 __ ldumaxal(Assembler::word, r1, r24, r2); // ldumaxal w1, w24, [x2]
750
751 // LSEOp
752 __ swpl(Assembler::word, r0, r9, r24); // swpl w0, w9, [x24]
753 __ ldaddl(Assembler::word, r26, r16, r30); // ldaddl w26, w16, [x30]
754 __ ldbicl(Assembler::word, r3, r10, r23); // ldclrl w3, w10, [x23]
755 __ ldeorl(Assembler::word, r10, r4, r18); // ldeorl w10, w4, [x18]
756 __ ldorrl(Assembler::word, r2, r11, r8); // ldsetl w2, w11, [x8]
757 __ ldsminl(Assembler::word, r10, r15, r17); // ldsminl w10, w15, [x17]
758 __ ldsmaxl(Assembler::word, r2, r10, r12); // ldsmaxl w2, w10, [x12]
759 __ lduminl(Assembler::word, r12, r15, r13); // lduminl w12, w15, [x13]
760 __ ldumaxl(Assembler::word, r2, r7, r20); // ldumaxl w2, w7, [x20]
761
762 __ bind(forth);
763
764 /*
765 aarch64ops.o: file format elf64-littleaarch64
766
767
768 Disassembly of section .text:
769
770 0000000000000000 <back>:
771 0: 8b0d82fa add x26, x23, x13, lsl #32
772 4: cb49970c sub x12, x24, x9, lsr #37
773 8: ab889dfc adds x28, x15, x8, asr #39
774 c: eb9ee787 subs x7, x28, x30, asr #57
775 10: 0b9b3ec9 add w9, w22, w27, asr #15
776 14: 4b9279a3 sub w3, w13, w18, asr #30
777 18: 2b88474e adds w14, w26, w8, asr #17
778 1c: 6b8c56c0 subs w0, w22, w12, asr #21
779 20: 8a1a51e0 and x0, x15, x26, lsl #20
780 24: aa11f4ba orr x26, x5, x17, lsl #61
781 28: ca0281b8 eor x24, x13, x2, lsl #32
793 58: 4a6176a4 eon w4, w21, w1, lsr #29
794 5c: 6a604eb0 bics w16, w21, w0, lsr #19
795 60: 1105ed91 add w17, w12, #0x17b
796 64: 3100583e adds w30, w1, #0x16
797 68: 5101f8bd sub w29, w5, #0x7e
798 6c: 710f0306 subs w6, w24, #0x3c0
799 70: 9101a1a0 add x0, x13, #0x68
800 74: b10a5cc8 adds x8, x6, #0x297
801 78: d10810aa sub x10, x5, #0x204
802 7c: f10fd061 subs x1, x3, #0x3f4
803 80: 120cb166 and w6, w11, #0xfff1fff1
804 84: 321764bc orr w28, w5, #0xfffffe07
805 88: 52174681 eor w1, w20, #0x7fffe00
806 8c: 720c0247 ands w7, w18, #0x100000
807 90: 9241018e and x14, x12, #0x8000000000000000
808 94: b25a2969 orr x9, x11, #0x1ffc000000000
809 98: d278b411 eor x17, x0, #0x3fffffffffff00
810 9c: f26aad01 ands x1, x8, #0xffffffffffc00003
811 a0: 14000000 b a0 <back+0xa0>
812 a4: 17ffffd7 b 0 <back>
813 a8: 140001f2 b 870 <forth>
814 ac: 94000000 bl ac <back+0xac>
815 b0: 97ffffd4 bl 0 <back>
816 b4: 940001ef bl 870 <forth>
817 b8: 3400000a cbz w10, b8 <back+0xb8>
818 bc: 34fffa2a cbz w10, 0 <back>
819 c0: 34003d8a cbz w10, 870 <forth>
820 c4: 35000008 cbnz w8, c4 <back+0xc4>
821 c8: 35fff9c8 cbnz w8, 0 <back>
822 cc: 35003d28 cbnz w8, 870 <forth>
823 d0: b400000b cbz x11, d0 <back+0xd0>
824 d4: b4fff96b cbz x11, 0 <back>
825 d8: b4003ccb cbz x11, 870 <forth>
826 dc: b500001d cbnz x29, dc <back+0xdc>
827 e0: b5fff91d cbnz x29, 0 <back>
828 e4: b5003c7d cbnz x29, 870 <forth>
829 e8: 10000013 adr x19, e8 <back+0xe8>
830 ec: 10fff8b3 adr x19, 0 <back>
831 f0: 10003c13 adr x19, 870 <forth>
832 f4: 90000013 adrp x19, 0 <back>
833 f8: 36300016 tbz w22, #6, f8 <back+0xf8>
834 fc: 3637f836 tbz w22, #6, 0 <back>
835 100: 36303b96 tbz w22, #6, 870 <forth>
836 104: 3758000c tbnz w12, #11, 104 <back+0x104>
837 108: 375ff7cc tbnz w12, #11, 0 <back>
838 10c: 37583b2c tbnz w12, #11, 870 <forth>
839 110: 128313a0 mov w0, #0xffffe762 // #-6302
840 114: 528a32c7 mov w7, #0x5196 // #20886
841 118: 7289173b movk w27, #0x48b9
842 11c: 92ab3acc mov x12, #0xffffffffa629ffff // #-1507196929
843 120: d2a0bf94 mov x20, #0x5fc0000 // #100401152
844 124: f2c285e8 movk x8, #0x142f, lsl #32
845 128: 9358722f sbfx x15, x17, #24, #5
846 12c: 330e652f bfxil w15, w9, #14, #12
847 130: 53067f3b lsr w27, w25, #6
848 134: 93577c53 sbfx x19, x2, #23, #9
849 138: b34a1aac bfi x12, x21, #54, #7
850 13c: d35a4016 ubfiz x22, x0, #38, #17
851 140: 13946c63 extr w3, w3, w20, #27
852 144: 93c3dbc8 extr x8, x30, x3, #54
853 148: 54000000 b.eq 148 <back+0x148> // b.none
854 14c: 54fff5a0 b.eq 0 <back> // b.none
855 150: 54003900 b.eq 870 <forth> // b.none
856 154: 54000001 b.ne 154 <back+0x154> // b.any
857 158: 54fff541 b.ne 0 <back> // b.any
858 15c: 540038a1 b.ne 870 <forth> // b.any
859 160: 54000002 b.cs 160 <back+0x160> // b.hs, b.nlast
860 164: 54fff4e2 b.cs 0 <back> // b.hs, b.nlast
861 168: 54003842 b.cs 870 <forth> // b.hs, b.nlast
862 16c: 54000002 b.cs 16c <back+0x16c> // b.hs, b.nlast
863 170: 54fff482 b.cs 0 <back> // b.hs, b.nlast
864 174: 540037e2 b.cs 870 <forth> // b.hs, b.nlast
865 178: 54000003 b.cc 178 <back+0x178> // b.lo, b.ul, b.last
866 17c: 54fff423 b.cc 0 <back> // b.lo, b.ul, b.last
867 180: 54003783 b.cc 870 <forth> // b.lo, b.ul, b.last
868 184: 54000003 b.cc 184 <back+0x184> // b.lo, b.ul, b.last
869 188: 54fff3c3 b.cc 0 <back> // b.lo, b.ul, b.last
870 18c: 54003723 b.cc 870 <forth> // b.lo, b.ul, b.last
871 190: 54000004 b.mi 190 <back+0x190> // b.first
872 194: 54fff364 b.mi 0 <back> // b.first
873 198: 540036c4 b.mi 870 <forth> // b.first
874 19c: 54000005 b.pl 19c <back+0x19c> // b.nfrst
875 1a0: 54fff305 b.pl 0 <back> // b.nfrst
876 1a4: 54003665 b.pl 870 <forth> // b.nfrst
877 1a8: 54000006 b.vs 1a8 <back+0x1a8>
878 1ac: 54fff2a6 b.vs 0 <back>
879 1b0: 54003606 b.vs 870 <forth>
880 1b4: 54000007 b.vc 1b4 <back+0x1b4>
881 1b8: 54fff247 b.vc 0 <back>
882 1bc: 540035a7 b.vc 870 <forth>
883 1c0: 54000008 b.hi 1c0 <back+0x1c0> // b.pmore
884 1c4: 54fff1e8 b.hi 0 <back> // b.pmore
885 1c8: 54003548 b.hi 870 <forth> // b.pmore
886 1cc: 54000009 b.ls 1cc <back+0x1cc> // b.plast
887 1d0: 54fff189 b.ls 0 <back> // b.plast
888 1d4: 540034e9 b.ls 870 <forth> // b.plast
889 1d8: 5400000a b.ge 1d8 <back+0x1d8> // b.tcont
890 1dc: 54fff12a b.ge 0 <back> // b.tcont
891 1e0: 5400348a b.ge 870 <forth> // b.tcont
892 1e4: 5400000b b.lt 1e4 <back+0x1e4> // b.tstop
893 1e8: 54fff0cb b.lt 0 <back> // b.tstop
894 1ec: 5400342b b.lt 870 <forth> // b.tstop
895 1f0: 5400000c b.gt 1f0 <back+0x1f0>
896 1f4: 54fff06c b.gt 0 <back>
897 1f8: 540033cc b.gt 870 <forth>
898 1fc: 5400000d b.le 1fc <back+0x1fc>
899 200: 54fff00d b.le 0 <back>
900 204: 5400336d b.le 870 <forth>
901 208: 5400000e b.al 208 <back+0x208>
902 20c: 54ffefae b.al 0 <back>
903 210: 5400330e b.al 870 <forth>
904 214: 5400000f b.nv 214 <back+0x214>
905 218: 54ffef4f b.nv 0 <back>
906 21c: 540032af b.nv 870 <forth>
907 220: d40658e1 svc #0x32c7
908 224: d4014d22 hvc #0xa69
909 228: d4046543 smc #0x232a
910 22c: d4273f60 brk #0x39fb
911 230: d44cad80 hlt #0x656c
912 234: d503201f nop
913 238: d69f03e0 eret
914 23c: d6bf03e0 drps
915 240: d5033fdf isb
916 244: d5033e9f dsb st
917 248: d50332bf dmb oshst
918 24c: d61f0200 br x16
919 250: d63f0280 blr x20
920 254: c80a7d1b stxr w10, x27, [x8]
921 258: c800fea1 stlxr w0, x1, [x21]
922 25c: c85f7fb1 ldxr x17, [x29]
923 260: c85fff9d ldaxr x29, [x28]
924 264: c89ffee1 stlr x1, [x23]
925 268: c8dffe95 ldar x21, [x20]
926 26c: 88167e7b stxr w22, w27, [x19]
1012 3c4: fc6afabd ldr d29, [x21, x10, sxtx #3]
1013 3c8: bc734963 ldr s3, [x11, w19, uxtw]
1014 3cc: fc3d5b8d str d13, [x28, w29, uxtw #3]
1015 3d0: bc25fbb7 str s23, [x29, x5, sxtx #2]
1016 3d4: f9189d05 str x5, [x8, #12600]
1017 3d8: b91ecb1d str w29, [x24, #7880]
1018 3dc: 39187a33 strb w19, [x17, #1566]
1019 3e0: 791f226d strh w13, [x19, #3984]
1020 3e4: f95aa2f3 ldr x19, [x23, #13632]
1021 3e8: b9587bb7 ldr w23, [x29, #6264]
1022 3ec: 395f7176 ldrb w22, [x11, #2012]
1023 3f0: 795d9143 ldrh w3, [x10, #3784]
1024 3f4: 399e7e08 ldrsb x8, [x16, #1951]
1025 3f8: 799a2697 ldrsh x23, [x20, #3346]
1026 3fc: 79df3422 ldrsh w2, [x1, #3994]
1027 400: b99c2624 ldrsw x4, [x17, #7204]
1028 404: fd5c2374 ldr d20, [x27, #14400]
1029 408: bd5fa1d9 ldr s25, [x14, #8096]
1030 40c: fd1d595a str d26, [x10, #15024]
1031 410: bd1b1869 str s9, [x3, #6936]
1032 414: 580022fb ldr x27, 870 <forth>
1033 418: 1800000b ldr w11, 418 <back+0x418>
1034 41c: f8945060 prfum pldl1keep, [x3, #-187]
1035 420: d8000000 prfm pldl1keep, 420 <back+0x420>
1036 424: f8ae6ba0 prfm pldl1keep, [x29, x14]
1037 428: f99a0080 prfm pldl1keep, [x4, #13312]
1038 42c: 1a070035 adc w21, w1, w7
1039 430: 3a0700a8 adcs w8, w5, w7
1040 434: 5a0e0367 sbc w7, w27, w14
1041 438: 7a11009b sbcs w27, w4, w17
1042 43c: 9a000380 adc x0, x28, x0
1043 440: ba1e030c adcs x12, x24, x30
1044 444: da0f0320 sbc x0, x25, x15
1045 448: fa030301 sbcs x1, x24, x3
1046 44c: 0b340b12 add w18, w24, w20, uxtb #2
1047 450: 2b2a278d adds w13, w28, w10, uxth #1
1048 454: cb22aa0f sub x15, x16, w2, sxth #2
1049 458: 6b2d29bd subs w29, w13, w13, uxth #2
1050 45c: 8b2cce8c add x12, x20, w12, sxtw #3
1051 460: ab2b877e adds x30, x27, w11, sxtb #1
1052 464: cb21c8ee sub x14, x7, w1, sxtw #2
1187 680: 0de2eb2c ld4r {v12.2s-v15.2s}, [x25], x2
1188 684: ce648376 sha512h q22, q27, v4.2d
1189 688: ce6184c7 sha512h2 q7, q6, v1.2d
1190 68c: cec081fa sha512su0 v26.2d, v15.2d
1191 690: ce6d89a2 sha512su1 v2.2d, v13.2d, v13.2d
1192 694: ba5fd3e3 ccmn xzr, xzr, #0x3, le
1193 698: 3a5f03e5 ccmn wzr, wzr, #0x5, eq // eq = none
1194 69c: fa411be4 ccmp xzr, #0x1, #0x4, ne // ne = any
1195 6a0: 7a42cbe2 ccmp wzr, #0x2, #0x2, gt
1196 6a4: 93df03ff ror xzr, xzr, #0
1197 6a8: c820ffff stlxp w0, xzr, xzr, [sp]
1198 6ac: 8822fc7f stlxp w2, wzr, wzr, [x3]
1199 6b0: c8247cbf stxp w4, xzr, xzr, [x5]
1200 6b4: 88267fff stxp w6, wzr, wzr, [sp]
1201 6b8: 4e010fe0 dup v0.16b, wzr
1202 6bc: 4e081fe1 mov v1.d[0], xzr
1203 6c0: 4e0c1fe1 mov v1.s[1], wzr
1204 6c4: 4e0a1fe1 mov v1.h[2], wzr
1205 6c8: 4e071fe1 mov v1.b[3], wzr
1206 6cc: 4cc0ac3f ld1 {v31.2d, v0.2d}, [x1], x0
1207 6d0: 1e601000 fmov d0, #2.000000000000000000e+00
1208 6d4: 1e603000 fmov d0, #2.125000000000000000e+00
1209 6d8: 1e621000 fmov d0, #4.000000000000000000e+00
1210 6dc: 1e623000 fmov d0, #4.250000000000000000e+00
1211 6e0: 1e641000 fmov d0, #8.000000000000000000e+00
1212 6e4: 1e643000 fmov d0, #8.500000000000000000e+00
1213 6e8: 1e661000 fmov d0, #1.600000000000000000e+01
1214 6ec: 1e663000 fmov d0, #1.700000000000000000e+01
1215 6f0: 1e681000 fmov d0, #1.250000000000000000e-01
1216 6f4: 1e683000 fmov d0, #1.328125000000000000e-01
1217 6f8: 1e6a1000 fmov d0, #2.500000000000000000e-01
1218 6fc: 1e6a3000 fmov d0, #2.656250000000000000e-01
1219 700: 1e6c1000 fmov d0, #5.000000000000000000e-01
1220 704: 1e6c3000 fmov d0, #5.312500000000000000e-01
1221 708: 1e6e1000 fmov d0, #1.000000000000000000e+00
1222 70c: 1e6e3000 fmov d0, #1.062500000000000000e+00
1223 710: 1e701000 fmov d0, #-2.000000000000000000e+00
1224 714: 1e703000 fmov d0, #-2.125000000000000000e+00
1225 718: 1e721000 fmov d0, #-4.000000000000000000e+00
1226 71c: 1e723000 fmov d0, #-4.250000000000000000e+00
1227 720: 1e741000 fmov d0, #-8.000000000000000000e+00
1228 724: 1e743000 fmov d0, #-8.500000000000000000e+00
1229 728: 1e761000 fmov d0, #-1.600000000000000000e+01
1230 72c: 1e763000 fmov d0, #-1.700000000000000000e+01
1231 730: 1e781000 fmov d0, #-1.250000000000000000e-01
1232 734: 1e783000 fmov d0, #-1.328125000000000000e-01
1233 738: 1e7a1000 fmov d0, #-2.500000000000000000e-01
1234 73c: 1e7a3000 fmov d0, #-2.656250000000000000e-01
1235 740: 1e7c1000 fmov d0, #-5.000000000000000000e-01
1236 744: 1e7c3000 fmov d0, #-5.312500000000000000e-01
1237 748: 1e7e1000 fmov d0, #-1.000000000000000000e+00
1238 74c: 1e7e3000 fmov d0, #-1.062500000000000000e+00
1239 750: f8388098 swp x24, x24, [x4]
1240 754: f8340010 ldadd x20, x16, [x0]
1241 758: f8241175 ldclr x4, x21, [x11]
1242 75c: f83e22d0 ldeor x30, x16, [x22]
1243 760: f82432ef ldset x4, x15, [x23]
1244 764: f83a5186 ldsmin x26, x6, [x12]
1245 768: f82f41ee ldsmax x15, x14, [x15]
1246 76c: f82973b9 ldumin x9, x25, [x29]
1247 770: f82b6194 ldumax x11, x20, [x12]
1248 774: f8b28216 swpa x18, x22, [x16]
1249 778: f8b50358 ldadda x21, x24, [x26]
1250 77c: f8a61206 ldclra x6, x6, [x16]
1251 780: f8b02219 ldeora x16, x25, [x16]
1252 784: f8bc3218 ldseta x28, x24, [x16]
1253 788: f8ba514f ldsmina x26, x15, [x10]
1254 78c: f8ad428e ldsmaxa x13, x14, [x20]
1255 790: f8a173d7 ldumina x1, x23, [x30]
1256 794: f8ae60c2 ldumaxa x14, x2, [x6]
1257 798: f8e38328 swpal x3, x8, [x25]
1258 79c: f8e003db ldaddal x0, x27, [x30]
1259 7a0: f8e513c5 ldclral x5, x5, [x30]
1260 7a4: f8eb2019 ldeoral x11, x25, [x0]
1261 7a8: f8ff3260 ldsetal xzr, x0, [x19]
1262 7ac: f8fd513a ldsminal x29, x26, [x9]
1263 7b0: f8fa41ec ldsmaxal x26, x12, [x15]
1264 7b4: f8eb724b lduminal x11, x11, [x18]
1265 7b8: f8f96316 ldumaxal x25, x22, [x24]
1266 7bc: f8608171 swpl x0, x17, [x11]
1267 7c0: f86600dd ldaddl x6, x29, [x6]
1268 7c4: f86512a5 ldclrl x5, x5, [x21]
1269 7c8: f8732250 ldeorl x19, x16, [x18]
1270 7cc: f87e339b ldsetl x30, x27, [x28]
1271 7d0: f861503c ldsminl x1, x28, [x1]
1272 7d4: f874421d ldsmaxl x20, x29, [x16]
1273 7d8: f86d73aa lduminl x13, x10, [x29]
1274 7dc: f87d62d3 ldumaxl x29, x19, [x22]
1275 7e0: b82a83e4 swp w10, w4, [sp]
1276 7e4: b83503e8 ldadd w21, w8, [sp]
1277 7e8: b833138a ldclr w19, w10, [x28]
1278 7ec: b82220b9 ldeor w2, w25, [x5]
1279 7f0: b82332c8 ldset w3, w8, [x22]
1280 7f4: b83350ad ldsmin w19, w13, [x5]
1281 7f8: b83d42b8 ldsmax w29, w24, [x21]
1282 7fc: b83a7078 ldumin w26, w24, [x3]
1283 800: b83862fa ldumax w24, w26, [x23]
1284 804: b8af8075 swpa w15, w21, [x3]
1285 808: b8b80328 ldadda w24, w8, [x25]
1286 80c: b8b41230 ldclra w20, w16, [x17]
1287 810: b8a22001 ldeora w2, w1, [x0]
1288 814: b8b83064 ldseta w24, w4, [x3]
1289 818: b8ac539f ldsmina w12, wzr, [x28]
1290 81c: b8aa405a ldsmaxa w10, w26, [x2]
1291 820: b8ac73f2 ldumina w12, w18, [sp]
1292 824: b8a163ad ldumaxa w1, w13, [x29]
1293 828: b8e08193 swpal w0, w19, [x12]
1294 82c: b8f101b6 ldaddal w17, w22, [x13]
1295 830: b8fc13fe ldclral w28, w30, [sp]
1296 834: b8e1239a ldeoral w1, w26, [x28]
1297 838: b8e4309e ldsetal w4, w30, [x4]
1298 83c: b8e6535e ldsminal w6, w30, [x26]
1299 840: b8f24109 ldsmaxal w18, w9, [x8]
1300 844: b8ec7280 lduminal w12, w0, [x20]
1301 848: b8e16058 ldumaxal w1, w24, [x2]
1302 84c: b8608309 swpl w0, w9, [x24]
1303 850: b87a03d0 ldaddl w26, w16, [x30]
1304 854: b86312ea ldclrl w3, w10, [x23]
1305 858: b86a2244 ldeorl w10, w4, [x18]
1306 85c: b862310b ldsetl w2, w11, [x8]
1307 860: b86a522f ldsminl w10, w15, [x17]
1308 864: b862418a ldsmaxl w2, w10, [x12]
1309 868: b86c71af lduminl w12, w15, [x13]
1310 86c: b8626287 ldumaxl w2, w7, [x20]
1311 */
1312
1313 static const unsigned int insns[] =
1314 {
1315 0x8b0d82fa, 0xcb49970c, 0xab889dfc, 0xeb9ee787,
1316 0x0b9b3ec9, 0x4b9279a3, 0x2b88474e, 0x6b8c56c0,
1317 0x8a1a51e0, 0xaa11f4ba, 0xca0281b8, 0xea918c7c,
1318 0x0a5d4a19, 0x2a4b264d, 0x4a523ca5, 0x6a9b6ae2,
1319 0x8a70b79b, 0xaaba9728, 0xca6dfe3d, 0xea627f1c,
1320 0x0aa70f53, 0x2aaa0f06, 0x4a6176a4, 0x6a604eb0,
1321 0x1105ed91, 0x3100583e, 0x5101f8bd, 0x710f0306,
1322 0x9101a1a0, 0xb10a5cc8, 0xd10810aa, 0xf10fd061,
1323 0x120cb166, 0x321764bc, 0x52174681, 0x720c0247,
1324 0x9241018e, 0xb25a2969, 0xd278b411, 0xf26aad01,
1325 0x14000000, 0x17ffffd7, 0x140001f2, 0x94000000,
1326 0x97ffffd4, 0x940001ef, 0x3400000a, 0x34fffa2a,
1327 0x34003d8a, 0x35000008, 0x35fff9c8, 0x35003d28,
1328 0xb400000b, 0xb4fff96b, 0xb4003ccb, 0xb500001d,
1329 0xb5fff91d, 0xb5003c7d, 0x10000013, 0x10fff8b3,
1330 0x10003c13, 0x90000013, 0x36300016, 0x3637f836,
1331 0x36303b96, 0x3758000c, 0x375ff7cc, 0x37583b2c,
1332 0x128313a0, 0x528a32c7, 0x7289173b, 0x92ab3acc,
1333 0xd2a0bf94, 0xf2c285e8, 0x9358722f, 0x330e652f,
1334 0x53067f3b, 0x93577c53, 0xb34a1aac, 0xd35a4016,
1335 0x13946c63, 0x93c3dbc8, 0x54000000, 0x54fff5a0,
1336 0x54003900, 0x54000001, 0x54fff541, 0x540038a1,
1337 0x54000002, 0x54fff4e2, 0x54003842, 0x54000002,
1338 0x54fff482, 0x540037e2, 0x54000003, 0x54fff423,
1339 0x54003783, 0x54000003, 0x54fff3c3, 0x54003723,
1340 0x54000004, 0x54fff364, 0x540036c4, 0x54000005,
1341 0x54fff305, 0x54003665, 0x54000006, 0x54fff2a6,
1342 0x54003606, 0x54000007, 0x54fff247, 0x540035a7,
1343 0x54000008, 0x54fff1e8, 0x54003548, 0x54000009,
1344 0x54fff189, 0x540034e9, 0x5400000a, 0x54fff12a,
1345 0x5400348a, 0x5400000b, 0x54fff0cb, 0x5400342b,
1346 0x5400000c, 0x54fff06c, 0x540033cc, 0x5400000d,
1347 0x54fff00d, 0x5400336d, 0x5400000e, 0x54ffefae,
1348 0x5400330e, 0x5400000f, 0x54ffef4f, 0x540032af,
1349 0xd40658e1, 0xd4014d22, 0xd4046543, 0xd4273f60,
1350 0xd44cad80, 0xd503201f, 0xd69f03e0, 0xd6bf03e0,
1351 0xd5033fdf, 0xd5033e9f, 0xd50332bf, 0xd61f0200,
1352 0xd63f0280, 0xc80a7d1b, 0xc800fea1, 0xc85f7fb1,
1353 0xc85fff9d, 0xc89ffee1, 0xc8dffe95, 0x88167e7b,
1354 0x880bfcd0, 0x885f7c12, 0x885ffd44, 0x889ffed8,
1355 0x88dffe6a, 0x48017fc5, 0x4808fe2c, 0x485f7dc9,
1356 0x485ffc27, 0x489ffe05, 0x48dffd82, 0x080a7c6c,
1357 0x081cff4e, 0x085f7d5e, 0x085ffeae, 0x089ffd2d,
1358 0x08dfff76, 0xc87f4d7c, 0xc87fcc5e, 0xc8220417,
1359 0xc82cb5f0, 0x887f55b2, 0x887ff90b, 0x88382c2d,
1360 0x883aedb5, 0xf819928b, 0xb803e21c, 0x381f713b,
1361 0x781ce322, 0xf850f044, 0xb85e129e, 0x385e92f2,
1362 0x785ff35d, 0x39801921, 0x7881318b, 0x78dce02b,
1363 0xb8829313, 0xfc45f318, 0xbc5d50af, 0xfc001375,
1364 0xbc1951b7, 0xf8008c0b, 0xb801dc03, 0x38009dcb,
1365 0x781fdf1d, 0xf8570e2d, 0xb85faecc, 0x385f6d8d,
1366 0x785ebea0, 0x38804cf7, 0x789cbce3, 0x78df9cbc,
1367 0xb89eed38, 0xfc40cd6e, 0xbc5bdd93, 0xfc103c14,
1368 0xbc040c08, 0xf81a2784, 0xb81ca4ec, 0x381e855b,
1369 0x7801b506, 0xf853654e, 0xb85d74b0, 0x384095c2,
1370 0x785ec5bc, 0x389e15a9, 0x789dc703, 0x78c06474,
1371 0xb89ff667, 0xfc57e51e, 0xbc4155f9, 0xfc05a6ee,
1372 0xbc1df408, 0xf835da4a, 0xb836d9a4, 0x3833580d,
1373 0x7826cb6c, 0xf8706900, 0xb87ae880, 0x3865db2e,
1374 0x78724889, 0x38a7789b, 0x78beca2f, 0x78f6c810,
1375 0xb8bef956, 0xfc6afabd, 0xbc734963, 0xfc3d5b8d,
1376 0xbc25fbb7, 0xf9189d05, 0xb91ecb1d, 0x39187a33,
1377 0x791f226d, 0xf95aa2f3, 0xb9587bb7, 0x395f7176,
1378 0x795d9143, 0x399e7e08, 0x799a2697, 0x79df3422,
1379 0xb99c2624, 0xfd5c2374, 0xbd5fa1d9, 0xfd1d595a,
1380 0xbd1b1869, 0x580022fb, 0x1800000b, 0xf8945060,
1381 0xd8000000, 0xf8ae6ba0, 0xf99a0080, 0x1a070035,
1382 0x3a0700a8, 0x5a0e0367, 0x7a11009b, 0x9a000380,
1383 0xba1e030c, 0xda0f0320, 0xfa030301, 0x0b340b12,
1384 0x2b2a278d, 0xcb22aa0f, 0x6b2d29bd, 0x8b2cce8c,
1385 0xab2b877e, 0xcb21c8ee, 0xeb3ba47d, 0x3a4d400e,
1386 0x7a5232c6, 0xba5e624e, 0xfa53814c, 0x3a52d8c2,
1387 0x7a4d8924, 0xba4b3aab, 0xfa4d7882, 0x1a96804c,
1388 0x1a912618, 0x5a90b0e6, 0x5a96976b, 0x9a9db06a,
1389 0x9a9b374c, 0xda95c14f, 0xda89c6fe, 0x5ac0015e,
1390 0x5ac005fd, 0x5ac00bdd, 0x5ac012b9, 0x5ac01404,
1391 0xdac002b2, 0xdac0061d, 0xdac00a95, 0xdac00e66,
1392 0xdac0107e, 0xdac01675, 0x1ac00b0b, 0x1ace0f3b,
1393 0x1ad221c3, 0x1ad825e7, 0x1ad92a3c, 0x1adc2f42,
1394 0x9ada0b25, 0x9ad20e1b, 0x9acc22a6, 0x9acc2480,
1395 0x9adc2a3b, 0x9ad22c5c, 0x9bce7dea, 0x9b597c6e,
1396 0x1b0e166f, 0x1b1ae490, 0x9b023044, 0x9b089e3d,
1397 0x9b391083, 0x9b24c73a, 0x9bb15f40, 0x9bbcc6af,
1398 0x1e23095b, 0x1e3918e0, 0x1e2f28c9, 0x1e2a39fd,
1399 0x1e270a22, 0x1e77096b, 0x1e771ba7, 0x1e6b2b6e,
1400 0x1e78388b, 0x1e6e09ec, 0x1f1c3574, 0x1f17f98b,
1404 0x1e60c027, 0x1e61400b, 0x1e61c243, 0x1e6240dc,
1405 0x1e3800d6, 0x9e380360, 0x1e78005a, 0x9e7800e5,
1406 0x1e22017c, 0x9e2201b9, 0x1e6202eb, 0x9e620113,
1407 0x1e2602b2, 0x9e660299, 0x1e270253, 0x9e6703a2,
1408 0x1e2822c0, 0x1e7322a0, 0x1e202288, 0x1e602168,
1409 0x293c19f4, 0x2966387b, 0x69762971, 0xa9041dc7,
1410 0xa9475c0c, 0x29b61ccd, 0x29ee405e, 0x69ee0744,
1411 0xa9843977, 0xa9f46ebd, 0x28ba16b6, 0x28fc44db,
1412 0x68f61831, 0xa8b352ad, 0xa8c56d5e, 0x28024565,
1413 0x2874134e, 0xa8027597, 0xa87b1aa0, 0x0c40734f,
1414 0x4cdfa177, 0x0cc76ee8, 0x4cdf2733, 0x0d40c23d,
1415 0x4ddfcaf8, 0x0dd9ccaa, 0x4c408d52, 0x0cdf85ec,
1416 0x4d60c259, 0x0dffcbc1, 0x4de9ce50, 0x4cc24999,
1417 0x0c404a7a, 0x4d40e6af, 0x4ddfe9b9, 0x0dddef8e,
1418 0x4cdf07b1, 0x0cc000fb, 0x0d60e258, 0x0dffe740,
1419 0x0de2eb2c, 0xce648376, 0xce6184c7, 0xcec081fa,
1420 0xce6d89a2, 0xba5fd3e3, 0x3a5f03e5, 0xfa411be4,
1421 0x7a42cbe2, 0x93df03ff, 0xc820ffff, 0x8822fc7f,
1422 0xc8247cbf, 0x88267fff, 0x4e010fe0, 0x4e081fe1,
1423 0x4e0c1fe1, 0x4e0a1fe1, 0x4e071fe1, 0x4cc0ac3f,
1424 0x1e601000, 0x1e603000, 0x1e621000, 0x1e623000,
1425 0x1e641000, 0x1e643000, 0x1e661000, 0x1e663000,
1426 0x1e681000, 0x1e683000, 0x1e6a1000, 0x1e6a3000,
1427 0x1e6c1000, 0x1e6c3000, 0x1e6e1000, 0x1e6e3000,
1428 0x1e701000, 0x1e703000, 0x1e721000, 0x1e723000,
1429 0x1e741000, 0x1e743000, 0x1e761000, 0x1e763000,
1430 0x1e781000, 0x1e783000, 0x1e7a1000, 0x1e7a3000,
1431 0x1e7c1000, 0x1e7c3000, 0x1e7e1000, 0x1e7e3000,
1432 0xf8388098, 0xf8340010, 0xf8241175, 0xf83e22d0,
1433 0xf82432ef, 0xf83a5186, 0xf82f41ee, 0xf82973b9,
1434 0xf82b6194, 0xf8b28216, 0xf8b50358, 0xf8a61206,
1435 0xf8b02219, 0xf8bc3218, 0xf8ba514f, 0xf8ad428e,
1436 0xf8a173d7, 0xf8ae60c2, 0xf8e38328, 0xf8e003db,
1437 0xf8e513c5, 0xf8eb2019, 0xf8ff3260, 0xf8fd513a,
1438 0xf8fa41ec, 0xf8eb724b, 0xf8f96316, 0xf8608171,
1439 0xf86600dd, 0xf86512a5, 0xf8732250, 0xf87e339b,
1440 0xf861503c, 0xf874421d, 0xf86d73aa, 0xf87d62d3,
1441 0xb82a83e4, 0xb83503e8, 0xb833138a, 0xb82220b9,
1442 0xb82332c8, 0xb83350ad, 0xb83d42b8, 0xb83a7078,
1443 0xb83862fa, 0xb8af8075, 0xb8b80328, 0xb8b41230,
1444 0xb8a22001, 0xb8b83064, 0xb8ac539f, 0xb8aa405a,
1445 0xb8ac73f2, 0xb8a163ad, 0xb8e08193, 0xb8f101b6,
1446 0xb8fc13fe, 0xb8e1239a, 0xb8e4309e, 0xb8e6535e,
1447 0xb8f24109, 0xb8ec7280, 0xb8e16058, 0xb8608309,
1448 0xb87a03d0, 0xb86312ea, 0xb86a2244, 0xb862310b,
1449 0xb86a522f, 0xb862418a, 0xb86c71af, 0xb8626287,
1450
1451 };
1452 // END Generated code -- do not edit
1453
1454 asm_check((unsigned int *)entry, insns, sizeof insns / sizeof insns[0]);
1455
1456 {
1457 address PC = __ pc();
1458 __ ld1(v0, __ T16B, Address(r16)); // No offset
1459 __ ld1(v0, __ T8H, __ post(r16, 16)); // Post-index
1460 __ ld2(v0, v1, __ T8H, __ post(r24, 16 * 2)); // Post-index
1461 __ ld1(v0, __ T16B, __ post(r16, r17)); // Register post-index
1462 static const unsigned int vector_insns[] = {
1463 0x4c407200, // ld1 {v0.16b}, [x16]
1464 0x4cdf7600, // ld1 {v0.8h}, [x16], #16
1465 0x4cdf8700, // ld2 {v0.8h, v1.8h}, [x24], #32
1466 0x4cd17200, // ld1 {v0.16b}, [x16], x17
1467 };
1468 asm_check((unsigned int *)PC, vector_insns,
1469 sizeof vector_insns / sizeof vector_insns[0]);
|
619 __ sha512h2(v7, __ T2D, v6, v1); // sha512h2 q7, q6, v1.2D
620 __ sha512su0(v26, __ T2D, v15); // sha512su0 v26.2D, v15.2D
621 __ sha512su1(v2, __ T2D, v13, v13); // sha512su1 v2.2D, v13.2D, v13.2D
622
623 // SpecialCases
624 __ ccmn(zr, zr, 3u, Assembler::LE); // ccmn xzr, xzr, #3, LE
625 __ ccmnw(zr, zr, 5u, Assembler::EQ); // ccmn wzr, wzr, #5, EQ
626 __ ccmp(zr, 1, 4u, Assembler::NE); // ccmp xzr, 1, #4, NE
627 __ ccmpw(zr, 2, 2, Assembler::GT); // ccmp wzr, 2, #2, GT
628 __ extr(zr, zr, zr, 0); // extr xzr, xzr, xzr, 0
629 __ stlxp(r0, zr, zr, sp); // stlxp w0, xzr, xzr, [sp]
630 __ stlxpw(r2, zr, zr, r3); // stlxp w2, wzr, wzr, [x3]
631 __ stxp(r4, zr, zr, r5); // stxp w4, xzr, xzr, [x5]
632 __ stxpw(r6, zr, zr, sp); // stxp w6, wzr, wzr, [sp]
633 __ dup(v0, __ T16B, zr); // dup v0.16b, wzr
634 __ mov(v1, __ T1D, 0, zr); // mov v1.d[0], xzr
635 __ mov(v1, __ T2S, 1, zr); // mov v1.s[1], wzr
636 __ mov(v1, __ T4H, 2, zr); // mov v1.h[2], wzr
637 __ mov(v1, __ T8B, 3, zr); // mov v1.b[3], wzr
638 __ ld1(v31, v0, __ T2D, Address(__ post(r1, r0))); // ld1 {v31.2d, v0.2d}, [x1], x0
639 __ sve_cpy(z0, __ S, p0, v1); // mov z0.s, p0/m, s1
640 __ sve_inc(r0, __ S); // incw x0
641 __ sve_dec(r1, __ H); // dech x1
642 __ sve_lsl(z0, __ B, z1, 7); // lsl z0.b, z1.b, #7
643 __ sve_lsl(z21, __ H, z1, 15); // lsl z21.h, z1.h, #15
644 __ sve_lsl(z0, __ S, z1, 31); // lsl z0.s, z1.s, #31
645 __ sve_lsl(z0, __ D, z1, 63); // lsl z0.d, z1.d, #63
646 __ sve_lsr(z0, __ B, z1, 7); // lsr z0.b, z1.b, #7
647 __ sve_asr(z0, __ H, z11, 15); // asr z0.h, z11.h, #15
648 __ sve_lsr(z30, __ S, z1, 31); // lsr z30.s, z1.s, #31
649 __ sve_asr(z0, __ D, z1, 63); // asr z0.d, z1.d, #63
650 __ sve_addvl(sp, r0, 31); // addvl sp, x0, #31
651 __ sve_addpl(r1, sp, -32); // addpl x1, sp, -32
652 __ sve_cntp(r8, __ B, p0, p1); // cntp x8, p0, p1.b
653 __ sve_dup(z0, __ B, 127); // dup z0.b, 127
654 __ sve_dup(z1, __ H, -128); // dup z1.h, -128
655 __ sve_dup(z2, __ S, 32512); // dup z2.s, 32512
656 __ sve_dup(z7, __ D, -32768); // dup z7.d, -32768
657 __ sve_ld1b(z0, __ B, p0, Address(sp)); // ld1b {z0.b}, p0/z, [sp]
658 __ sve_ld1h(z10, __ H, p1, Address(sp, -8)); // ld1h {z10.h}, p1/z, [sp, #-8, MUL VL]
659 __ sve_ld1w(z20, __ S, p2, Address(r0, 7)); // ld1w {z20.s}, p2/z, [x0, #7, MUL VL]
660 __ sve_ld1b(z30, __ B, p3, Address(sp, r8)); // ld1b {z30.b}, p3/z, [sp, x8]
661 __ sve_ld1w(z0, __ S, p4, Address(sp, r28)); // ld1w {z0.s}, p4/z, [sp, x28, LSL #2]
662 __ sve_ld1d(z11, __ D, p5, Address(r0, r1)); // ld1d {z11.d}, p5/z, [x0, x1, LSL #3]
663 __ sve_st1b(z22, __ B, p6, Address(sp)); // st1b {z22.b}, p6, [sp]
664 __ sve_st1b(z31, __ B, p7, Address(sp, -8)); // st1b {z31.b}, p7, [sp, #-8, MUL VL]
665 __ sve_st1w(z0, __ S, p1, Address(r0, 7)); // st1w {z0.s}, p1, [x0, #7, MUL VL]
666 __ sve_st1b(z0, __ B, p2, Address(sp, r1)); // st1b {z0.b}, p2, [sp, x1]
667 __ sve_st1h(z0, __ H, p3, Address(sp, r8)); // st1h {z0.h}, p3, [sp, x8, LSL #1]
668 __ sve_st1d(z0, __ D, p4, Address(r0, r18)); // st1d {z0.d}, p4, [x0, x18, LSL #3]
669 __ sve_ldr(z0, Address(sp)); // ldr z0, [sp]
670 __ sve_ldr(z31, Address(sp, -256)); // ldr z31, [sp, #-256, MUL VL]
671 __ sve_str(z8, Address(r8, 255)); // str z8, [x8, #255, MUL VL]
672
673 // FloatImmediateOp
674 __ fmovd(v0, 2.0); // fmov d0, #2.0
675 __ fmovd(v0, 2.125); // fmov d0, #2.125
676 __ fmovd(v0, 4.0); // fmov d0, #4.0
677 __ fmovd(v0, 4.25); // fmov d0, #4.25
678 __ fmovd(v0, 8.0); // fmov d0, #8.0
679 __ fmovd(v0, 8.5); // fmov d0, #8.5
680 __ fmovd(v0, 16.0); // fmov d0, #16.0
681 __ fmovd(v0, 17.0); // fmov d0, #17.0
682 __ fmovd(v0, 0.125); // fmov d0, #0.125
683 __ fmovd(v0, 0.1328125); // fmov d0, #0.1328125
684 __ fmovd(v0, 0.25); // fmov d0, #0.25
685 __ fmovd(v0, 0.265625); // fmov d0, #0.265625
686 __ fmovd(v0, 0.5); // fmov d0, #0.5
687 __ fmovd(v0, 0.53125); // fmov d0, #0.53125
688 __ fmovd(v0, 1.0); // fmov d0, #1.0
689 __ fmovd(v0, 1.0625); // fmov d0, #1.0625
690 __ fmovd(v0, -2.0); // fmov d0, #-2.0
691 __ fmovd(v0, -2.125); // fmov d0, #-2.125
775 __ ldaddal(Assembler::word, r17, r22, r13); // ldaddal w17, w22, [x13]
776 __ ldbical(Assembler::word, r28, r30, sp); // ldclral w28, w30, [sp]
777 __ ldeoral(Assembler::word, r1, r26, r28); // ldeoral w1, w26, [x28]
778 __ ldorral(Assembler::word, r4, r30, r4); // ldsetal w4, w30, [x4]
779 __ ldsminal(Assembler::word, r6, r30, r26); // ldsminal w6, w30, [x26]
780 __ ldsmaxal(Assembler::word, r18, r9, r8); // ldsmaxal w18, w9, [x8]
781 __ lduminal(Assembler::word, r12, r0, r20); // lduminal w12, w0, [x20]
782 __ ldumaxal(Assembler::word, r1, r24, r2); // ldumaxal w1, w24, [x2]
783
784 // LSEOp
785 __ swpl(Assembler::word, r0, r9, r24); // swpl w0, w9, [x24]
786 __ ldaddl(Assembler::word, r26, r16, r30); // ldaddl w26, w16, [x30]
787 __ ldbicl(Assembler::word, r3, r10, r23); // ldclrl w3, w10, [x23]
788 __ ldeorl(Assembler::word, r10, r4, r18); // ldeorl w10, w4, [x18]
789 __ ldorrl(Assembler::word, r2, r11, r8); // ldsetl w2, w11, [x8]
790 __ ldsminl(Assembler::word, r10, r15, r17); // ldsminl w10, w15, [x17]
791 __ ldsmaxl(Assembler::word, r2, r10, r12); // ldsmaxl w2, w10, [x12]
792 __ lduminl(Assembler::word, r12, r15, r13); // lduminl w12, w15, [x13]
793 __ ldumaxl(Assembler::word, r2, r7, r20); // ldumaxl w2, w7, [x20]
794
795 // SVEVectorOp
796 __ sve_add(z25, __ B, z15, z4); // add z25.b, z15.b, z4.b
797 __ sve_sub(z4, __ S, z11, z17); // sub z4.s, z11.s, z17.s
798 __ sve_fadd(z16, __ D, z17, z10); // fadd z16.d, z17.d, z10.d
799 __ sve_fmul(z22, __ D, z12, z25); // fmul z22.d, z12.d, z25.d
800 __ sve_fsub(z28, __ D, z14, z10); // fsub z28.d, z14.d, z10.d
801 __ sve_abs(z1, __ H, p3, z30); // abs z1.h, p3/m, z30.h
802 __ sve_add(z15, __ B, p1, z2); // add z15.b, p1/m, z15.b, z2.b
803 __ sve_asr(z13, __ S, p4, z16); // asr z13.s, p4/m, z13.s, z16.s
804 __ sve_cnt(z3, __ D, p0, z11); // cnt z3.d, p0/m, z11.d
805 __ sve_lsl(z5, __ D, p2, z14); // lsl z5.d, p2/m, z5.d, z14.d
806 __ sve_lsr(z29, __ B, p0, z20); // lsr z29.b, p0/m, z29.b, z20.b
807 __ sve_mul(z20, __ S, p5, z27); // mul z20.s, p5/m, z20.s, z27.s
808 __ sve_neg(z26, __ B, p6, z4); // neg z26.b, p6/m, z4.b
809 __ sve_not(z22, __ B, p4, z30); // not z22.b, p4/m, z30.b
810 __ sve_smax(z11, __ H, p2, z27); // smax z11.h, p2/m, z11.h, z27.h
811 __ sve_smin(z28, __ S, p5, z30); // smin z28.s, p5/m, z28.s, z30.s
812 __ sve_sub(z30, __ S, p1, z13); // sub z30.s, p1/m, z30.s, z13.s
813 __ sve_fabs(z30, __ D, p4, z26); // fabs z30.d, p4/m, z26.d
814 __ sve_fadd(z15, __ S, p3, z11); // fadd z15.s, p3/m, z15.s, z11.s
815 __ sve_fdiv(z6, __ D, p7, z16); // fdiv z6.d, p7/m, z6.d, z16.d
816 __ sve_fmax(z27, __ S, p7, z7); // fmax z27.s, p7/m, z27.s, z7.s
817 __ sve_fmin(z19, __ D, p2, z4); // fmin z19.d, p2/m, z19.d, z4.d
818 __ sve_fmul(z17, __ S, p4, z22); // fmul z17.s, p4/m, z17.s, z22.s
819 __ sve_fneg(z28, __ D, p3, z21); // fneg z28.d, p3/m, z21.d
820 __ sve_frintm(z18, __ S, p5, z2); // frintm z18.s, p5/m, z2.s
821 __ sve_frintn(z6, __ S, p3, z15); // frintn z6.s, p3/m, z15.s
822 __ sve_frintp(z12, __ D, p5, z1); // frintp z12.d, p5/m, z1.d
823 __ sve_fsqrt(z18, __ S, p1, z17); // fsqrt z18.s, p1/m, z17.s
824 __ sve_fsub(z15, __ S, p5, z13); // fsub z15.s, p5/m, z15.s, z13.s
825 __ sve_fmla(z20, __ D, p7, z27, z11); // fmla z20.d, p7/m, z27.d, z11.d
826 __ sve_fmls(z3, __ D, p0, z30, z23); // fmls z3.d, p0/m, z30.d, z23.d
827 __ sve_fnmla(z17, __ S, p2, z27, z26); // fnmla z17.s, p2/m, z27.s, z26.s
828 __ sve_fnmls(z6, __ D, p5, z22, z30); // fnmls z6.d, p5/m, z22.d, z30.d
829 __ sve_mla(z2, __ H, p7, z26, z18); // mla z2.h, p7/m, z26.h, z18.h
830 __ sve_mls(z22, __ B, p4, z2, z17); // mls z22.b, p4/m, z2.b, z17.b
831 __ sve_and(z24, z25, z22); // and z24.d, z25.d, z22.d
832 __ sve_eor(z18, z12, z3); // eor z18.d, z12.d, z3.d
833 __ sve_orr(z29, z28, z16); // orr z29.d, z28.d, z16.d
834
835 // SVEReductionOp
836 __ sve_andv(v6, __ S, p2, z28); // andv s6, p2, z28.s
837 __ sve_orv(v7, __ H, p1, z7); // orv h7, p1, z7.h
838 __ sve_eorv(v9, __ B, p5, z8); // eorv b9, p5, z8.b
839 __ sve_smaxv(v27, __ B, p5, z30); // smaxv b27, p5, z30.b
840 __ sve_sminv(v26, __ H, p0, z16); // sminv h26, p0, z16.h
841 __ sve_fminv(v3, __ D, p6, z8); // fminv d3, p6, z8.d
842 __ sve_fmaxv(v21, __ D, p6, z26); // fmaxv d21, p6, z26.d
843 __ sve_fadda(v22, __ S, p0, z4); // fadda s22, p0, s22, z4.s
844 __ sve_uaddv(v17, __ H, p0, z3); // uaddv d17, p0, z3.h
845
846 __ bind(forth);
847
848 /*
849 aarch64ops.o: file format elf64-littleaarch64
850
851
852 Disassembly of section .text:
853
854 0000000000000000 <back>:
855 0: 8b0d82fa add x26, x23, x13, lsl #32
856 4: cb49970c sub x12, x24, x9, lsr #37
857 8: ab889dfc adds x28, x15, x8, asr #39
858 c: eb9ee787 subs x7, x28, x30, asr #57
859 10: 0b9b3ec9 add w9, w22, w27, asr #15
860 14: 4b9279a3 sub w3, w13, w18, asr #30
861 18: 2b88474e adds w14, w26, w8, asr #17
862 1c: 6b8c56c0 subs w0, w22, w12, asr #21
863 20: 8a1a51e0 and x0, x15, x26, lsl #20
864 24: aa11f4ba orr x26, x5, x17, lsl #61
865 28: ca0281b8 eor x24, x13, x2, lsl #32
877 58: 4a6176a4 eon w4, w21, w1, lsr #29
878 5c: 6a604eb0 bics w16, w21, w0, lsr #19
879 60: 1105ed91 add w17, w12, #0x17b
880 64: 3100583e adds w30, w1, #0x16
881 68: 5101f8bd sub w29, w5, #0x7e
882 6c: 710f0306 subs w6, w24, #0x3c0
883 70: 9101a1a0 add x0, x13, #0x68
884 74: b10a5cc8 adds x8, x6, #0x297
885 78: d10810aa sub x10, x5, #0x204
886 7c: f10fd061 subs x1, x3, #0x3f4
887 80: 120cb166 and w6, w11, #0xfff1fff1
888 84: 321764bc orr w28, w5, #0xfffffe07
889 88: 52174681 eor w1, w20, #0x7fffe00
890 8c: 720c0247 ands w7, w18, #0x100000
891 90: 9241018e and x14, x12, #0x8000000000000000
892 94: b25a2969 orr x9, x11, #0x1ffc000000000
893 98: d278b411 eor x17, x0, #0x3fffffffffff00
894 9c: f26aad01 ands x1, x8, #0xffffffffffc00003
895 a0: 14000000 b a0 <back+0xa0>
896 a4: 17ffffd7 b 0 <back>
897 a8: 14000242 b 9b0 <forth>
898 ac: 94000000 bl ac <back+0xac>
899 b0: 97ffffd4 bl 0 <back>
900 b4: 9400023f bl 9b0 <forth>
901 b8: 3400000a cbz w10, b8 <back+0xb8>
902 bc: 34fffa2a cbz w10, 0 <back>
903 c0: 3400478a cbz w10, 9b0 <forth>
904 c4: 35000008 cbnz w8, c4 <back+0xc4>
905 c8: 35fff9c8 cbnz w8, 0 <back>
906 cc: 35004728 cbnz w8, 9b0 <forth>
907 d0: b400000b cbz x11, d0 <back+0xd0>
908 d4: b4fff96b cbz x11, 0 <back>
909 d8: b40046cb cbz x11, 9b0 <forth>
910 dc: b500001d cbnz x29, dc <back+0xdc>
911 e0: b5fff91d cbnz x29, 0 <back>
912 e4: b500467d cbnz x29, 9b0 <forth>
913 e8: 10000013 adr x19, e8 <back+0xe8>
914 ec: 10fff8b3 adr x19, 0 <back>
915 f0: 10004613 adr x19, 9b0 <forth>
916 f4: 90000013 adrp x19, 0 <back>
917 f8: 36300016 tbz w22, #6, f8 <back+0xf8>
918 fc: 3637f836 tbz w22, #6, 0 <back>
919 100: 36304596 tbz w22, #6, 9b0 <forth>
920 104: 3758000c tbnz w12, #11, 104 <back+0x104>
921 108: 375ff7cc tbnz w12, #11, 0 <back>
922 10c: 3758452c tbnz w12, #11, 9b0 <forth>
923 110: 128313a0 mov w0, #0xffffe762 // #-6302
924 114: 528a32c7 mov w7, #0x5196 // #20886
925 118: 7289173b movk w27, #0x48b9
926 11c: 92ab3acc mov x12, #0xffffffffa629ffff // #-1507196929
927 120: d2a0bf94 mov x20, #0x5fc0000 // #100401152
928 124: f2c285e8 movk x8, #0x142f, lsl #32
929 128: 9358722f sbfx x15, x17, #24, #5
930 12c: 330e652f bfxil w15, w9, #14, #12
931 130: 53067f3b lsr w27, w25, #6
932 134: 93577c53 sbfx x19, x2, #23, #9
933 138: b34a1aac bfi x12, x21, #54, #7
934 13c: d35a4016 ubfiz x22, x0, #38, #17
935 140: 13946c63 extr w3, w3, w20, #27
936 144: 93c3dbc8 extr x8, x30, x3, #54
937 148: 54000000 b.eq 148 <back+0x148> // b.none
938 14c: 54fff5a0 b.eq 0 <back> // b.none
939 150: 54004300 b.eq 9b0 <forth> // b.none
940 154: 54000001 b.ne 154 <back+0x154> // b.any
941 158: 54fff541 b.ne 0 <back> // b.any
942 15c: 540042a1 b.ne 9b0 <forth> // b.any
943 160: 54000002 b.cs 160 <back+0x160> // b.hs, b.nlast
944 164: 54fff4e2 b.cs 0 <back> // b.hs, b.nlast
945 168: 54004242 b.cs 9b0 <forth> // b.hs, b.nlast
946 16c: 54000002 b.cs 16c <back+0x16c> // b.hs, b.nlast
947 170: 54fff482 b.cs 0 <back> // b.hs, b.nlast
948 174: 540041e2 b.cs 9b0 <forth> // b.hs, b.nlast
949 178: 54000003 b.cc 178 <back+0x178> // b.lo, b.ul, b.last
950 17c: 54fff423 b.cc 0 <back> // b.lo, b.ul, b.last
951 180: 54004183 b.cc 9b0 <forth> // b.lo, b.ul, b.last
952 184: 54000003 b.cc 184 <back+0x184> // b.lo, b.ul, b.last
953 188: 54fff3c3 b.cc 0 <back> // b.lo, b.ul, b.last
954 18c: 54004123 b.cc 9b0 <forth> // b.lo, b.ul, b.last
955 190: 54000004 b.mi 190 <back+0x190> // b.first
956 194: 54fff364 b.mi 0 <back> // b.first
957 198: 540040c4 b.mi 9b0 <forth> // b.first
958 19c: 54000005 b.pl 19c <back+0x19c> // b.nfrst
959 1a0: 54fff305 b.pl 0 <back> // b.nfrst
960 1a4: 54004065 b.pl 9b0 <forth> // b.nfrst
961 1a8: 54000006 b.vs 1a8 <back+0x1a8>
962 1ac: 54fff2a6 b.vs 0 <back>
963 1b0: 54004006 b.vs 9b0 <forth>
964 1b4: 54000007 b.vc 1b4 <back+0x1b4>
965 1b8: 54fff247 b.vc 0 <back>
966 1bc: 54003fa7 b.vc 9b0 <forth>
967 1c0: 54000008 b.hi 1c0 <back+0x1c0> // b.pmore
968 1c4: 54fff1e8 b.hi 0 <back> // b.pmore
969 1c8: 54003f48 b.hi 9b0 <forth> // b.pmore
970 1cc: 54000009 b.ls 1cc <back+0x1cc> // b.plast
971 1d0: 54fff189 b.ls 0 <back> // b.plast
972 1d4: 54003ee9 b.ls 9b0 <forth> // b.plast
973 1d8: 5400000a b.ge 1d8 <back+0x1d8> // b.tcont
974 1dc: 54fff12a b.ge 0 <back> // b.tcont
975 1e0: 54003e8a b.ge 9b0 <forth> // b.tcont
976 1e4: 5400000b b.lt 1e4 <back+0x1e4> // b.tstop
977 1e8: 54fff0cb b.lt 0 <back> // b.tstop
978 1ec: 54003e2b b.lt 9b0 <forth> // b.tstop
979 1f0: 5400000c b.gt 1f0 <back+0x1f0>
980 1f4: 54fff06c b.gt 0 <back>
981 1f8: 54003dcc b.gt 9b0 <forth>
982 1fc: 5400000d b.le 1fc <back+0x1fc>
983 200: 54fff00d b.le 0 <back>
984 204: 54003d6d b.le 9b0 <forth>
985 208: 5400000e b.al 208 <back+0x208>
986 20c: 54ffefae b.al 0 <back>
987 210: 54003d0e b.al 9b0 <forth>
988 214: 5400000f b.nv 214 <back+0x214>
989 218: 54ffef4f b.nv 0 <back>
990 21c: 54003caf b.nv 9b0 <forth>
991 220: d40658e1 svc #0x32c7
992 224: d4014d22 hvc #0xa69
993 228: d4046543 smc #0x232a
994 22c: d4273f60 brk #0x39fb
995 230: d44cad80 hlt #0x656c
996 234: d503201f nop
997 238: d69f03e0 eret
998 23c: d6bf03e0 drps
999 240: d5033fdf isb
1000 244: d5033e9f dsb st
1001 248: d50332bf dmb oshst
1002 24c: d61f0200 br x16
1003 250: d63f0280 blr x20
1004 254: c80a7d1b stxr w10, x27, [x8]
1005 258: c800fea1 stlxr w0, x1, [x21]
1006 25c: c85f7fb1 ldxr x17, [x29]
1007 260: c85fff9d ldaxr x29, [x28]
1008 264: c89ffee1 stlr x1, [x23]
1009 268: c8dffe95 ldar x21, [x20]
1010 26c: 88167e7b stxr w22, w27, [x19]
1096 3c4: fc6afabd ldr d29, [x21, x10, sxtx #3]
1097 3c8: bc734963 ldr s3, [x11, w19, uxtw]
1098 3cc: fc3d5b8d str d13, [x28, w29, uxtw #3]
1099 3d0: bc25fbb7 str s23, [x29, x5, sxtx #2]
1100 3d4: f9189d05 str x5, [x8, #12600]
1101 3d8: b91ecb1d str w29, [x24, #7880]
1102 3dc: 39187a33 strb w19, [x17, #1566]
1103 3e0: 791f226d strh w13, [x19, #3984]
1104 3e4: f95aa2f3 ldr x19, [x23, #13632]
1105 3e8: b9587bb7 ldr w23, [x29, #6264]
1106 3ec: 395f7176 ldrb w22, [x11, #2012]
1107 3f0: 795d9143 ldrh w3, [x10, #3784]
1108 3f4: 399e7e08 ldrsb x8, [x16, #1951]
1109 3f8: 799a2697 ldrsh x23, [x20, #3346]
1110 3fc: 79df3422 ldrsh w2, [x1, #3994]
1111 400: b99c2624 ldrsw x4, [x17, #7204]
1112 404: fd5c2374 ldr d20, [x27, #14400]
1113 408: bd5fa1d9 ldr s25, [x14, #8096]
1114 40c: fd1d595a str d26, [x10, #15024]
1115 410: bd1b1869 str s9, [x3, #6936]
1116 414: 58002cfb ldr x27, 9b0 <forth>
1117 418: 1800000b ldr w11, 418 <back+0x418>
1118 41c: f8945060 prfum pldl1keep, [x3, #-187]
1119 420: d8000000 prfm pldl1keep, 420 <back+0x420>
1120 424: f8ae6ba0 prfm pldl1keep, [x29, x14]
1121 428: f99a0080 prfm pldl1keep, [x4, #13312]
1122 42c: 1a070035 adc w21, w1, w7
1123 430: 3a0700a8 adcs w8, w5, w7
1124 434: 5a0e0367 sbc w7, w27, w14
1125 438: 7a11009b sbcs w27, w4, w17
1126 43c: 9a000380 adc x0, x28, x0
1127 440: ba1e030c adcs x12, x24, x30
1128 444: da0f0320 sbc x0, x25, x15
1129 448: fa030301 sbcs x1, x24, x3
1130 44c: 0b340b12 add w18, w24, w20, uxtb #2
1131 450: 2b2a278d adds w13, w28, w10, uxth #1
1132 454: cb22aa0f sub x15, x16, w2, sxth #2
1133 458: 6b2d29bd subs w29, w13, w13, uxth #2
1134 45c: 8b2cce8c add x12, x20, w12, sxtw #3
1135 460: ab2b877e adds x30, x27, w11, sxtb #1
1136 464: cb21c8ee sub x14, x7, w1, sxtw #2
1271 680: 0de2eb2c ld4r {v12.2s-v15.2s}, [x25], x2
1272 684: ce648376 sha512h q22, q27, v4.2d
1273 688: ce6184c7 sha512h2 q7, q6, v1.2d
1274 68c: cec081fa sha512su0 v26.2d, v15.2d
1275 690: ce6d89a2 sha512su1 v2.2d, v13.2d, v13.2d
1276 694: ba5fd3e3 ccmn xzr, xzr, #0x3, le
1277 698: 3a5f03e5 ccmn wzr, wzr, #0x5, eq // eq = none
1278 69c: fa411be4 ccmp xzr, #0x1, #0x4, ne // ne = any
1279 6a0: 7a42cbe2 ccmp wzr, #0x2, #0x2, gt
1280 6a4: 93df03ff ror xzr, xzr, #0
1281 6a8: c820ffff stlxp w0, xzr, xzr, [sp]
1282 6ac: 8822fc7f stlxp w2, wzr, wzr, [x3]
1283 6b0: c8247cbf stxp w4, xzr, xzr, [x5]
1284 6b4: 88267fff stxp w6, wzr, wzr, [sp]
1285 6b8: 4e010fe0 dup v0.16b, wzr
1286 6bc: 4e081fe1 mov v1.d[0], xzr
1287 6c0: 4e0c1fe1 mov v1.s[1], wzr
1288 6c4: 4e0a1fe1 mov v1.h[2], wzr
1289 6c8: 4e071fe1 mov v1.b[3], wzr
1290 6cc: 4cc0ac3f ld1 {v31.2d, v0.2d}, [x1], x0
1291 6d0: 05a08020 mov z0.s, p0/m, s1
1292 6d4: 04b0e3e0 incw x0
1293 6d8: 0470e7e1 dech x1
1294 6dc: 042f9c20 lsl z0.b, z1.b, #7
1295 6e0: 043f9c35 lsl z21.h, z1.h, #15
1296 6e4: 047f9c20 lsl z0.s, z1.s, #31
1297 6e8: 04ff9c20 lsl z0.d, z1.d, #63
1298 6ec: 04299420 lsr z0.b, z1.b, #7
1299 6f0: 04319160 asr z0.h, z11.h, #15
1300 6f4: 0461943e lsr z30.s, z1.s, #31
1301 6f8: 04a19020 asr z0.d, z1.d, #63
1302 6fc: 042053ff addvl sp, x0, #31
1303 700: 047f5401 addpl x1, sp, #-32
1304 704: 25208028 cntp x8, p0, p1.b
1305 708: 2538cfe0 mov z0.b, #127
1306 70c: 2578d001 mov z1.h, #-128
1307 710: 25b8efe2 mov z2.s, #32512
1308 714: 25f8f007 mov z7.d, #-32768
1309 718: a400a3e0 ld1b {z0.b}, p0/z, [sp]
1310 71c: a4a8a7ea ld1h {z10.h}, p1/z, [sp, #-8, mul vl]
1311 720: a547a814 ld1w {z20.s}, p2/z, [x0, #7, mul vl]
1312 724: a4084ffe ld1b {z30.b}, p3/z, [sp, x8]
1313 728: a55c53e0 ld1w {z0.s}, p4/z, [sp, x28, lsl #2]
1314 72c: a5e1540b ld1d {z11.d}, p5/z, [x0, x1, lsl #3]
1315 730: e400fbf6 st1b {z22.b}, p6, [sp]
1316 734: e408ffff st1b {z31.b}, p7, [sp, #-8, mul vl]
1317 738: e547e400 st1w {z0.s}, p1, [x0, #7, mul vl]
1318 73c: e4014be0 st1b {z0.b}, p2, [sp, x1]
1319 740: e4a84fe0 st1h {z0.h}, p3, [sp, x8, lsl #1]
1320 744: e5f25000 st1d {z0.d}, p4, [x0, x18, lsl #3]
1321 748: 858043e0 ldr z0, [sp]
1322 74c: 85a043ff ldr z31, [sp, #-256, mul vl]
1323 750: e59f5d08 str z8, [x8, #255, mul vl]
1324 754: 1e601000 fmov d0, #2.000000000000000000e+00
1325 758: 1e603000 fmov d0, #2.125000000000000000e+00
1326 75c: 1e621000 fmov d0, #4.000000000000000000e+00
1327 760: 1e623000 fmov d0, #4.250000000000000000e+00
1328 764: 1e641000 fmov d0, #8.000000000000000000e+00
1329 768: 1e643000 fmov d0, #8.500000000000000000e+00
1330 76c: 1e661000 fmov d0, #1.600000000000000000e+01
1331 770: 1e663000 fmov d0, #1.700000000000000000e+01
1332 774: 1e681000 fmov d0, #1.250000000000000000e-01
1333 778: 1e683000 fmov d0, #1.328125000000000000e-01
1334 77c: 1e6a1000 fmov d0, #2.500000000000000000e-01
1335 780: 1e6a3000 fmov d0, #2.656250000000000000e-01
1336 784: 1e6c1000 fmov d0, #5.000000000000000000e-01
1337 788: 1e6c3000 fmov d0, #5.312500000000000000e-01
1338 78c: 1e6e1000 fmov d0, #1.000000000000000000e+00
1339 790: 1e6e3000 fmov d0, #1.062500000000000000e+00
1340 794: 1e701000 fmov d0, #-2.000000000000000000e+00
1341 798: 1e703000 fmov d0, #-2.125000000000000000e+00
1342 79c: 1e721000 fmov d0, #-4.000000000000000000e+00
1343 7a0: 1e723000 fmov d0, #-4.250000000000000000e+00
1344 7a4: 1e741000 fmov d0, #-8.000000000000000000e+00
1345 7a8: 1e743000 fmov d0, #-8.500000000000000000e+00
1346 7ac: 1e761000 fmov d0, #-1.600000000000000000e+01
1347 7b0: 1e763000 fmov d0, #-1.700000000000000000e+01
1348 7b4: 1e781000 fmov d0, #-1.250000000000000000e-01
1349 7b8: 1e783000 fmov d0, #-1.328125000000000000e-01
1350 7bc: 1e7a1000 fmov d0, #-2.500000000000000000e-01
1351 7c0: 1e7a3000 fmov d0, #-2.656250000000000000e-01
1352 7c4: 1e7c1000 fmov d0, #-5.000000000000000000e-01
1353 7c8: 1e7c3000 fmov d0, #-5.312500000000000000e-01
1354 7cc: 1e7e1000 fmov d0, #-1.000000000000000000e+00
1355 7d0: 1e7e3000 fmov d0, #-1.062500000000000000e+00
1356 7d4: f8388098 swp x24, x24, [x4]
1357 7d8: f8340010 ldadd x20, x16, [x0]
1358 7dc: f8241175 ldclr x4, x21, [x11]
1359 7e0: f83e22d0 ldeor x30, x16, [x22]
1360 7e4: f82432ef ldset x4, x15, [x23]
1361 7e8: f83a5186 ldsmin x26, x6, [x12]
1362 7ec: f82f41ee ldsmax x15, x14, [x15]
1363 7f0: f82973b9 ldumin x9, x25, [x29]
1364 7f4: f82b6194 ldumax x11, x20, [x12]
1365 7f8: f8b28216 swpa x18, x22, [x16]
1366 7fc: f8b50358 ldadda x21, x24, [x26]
1367 800: f8a61206 ldclra x6, x6, [x16]
1368 804: f8b02219 ldeora x16, x25, [x16]
1369 808: f8bc3218 ldseta x28, x24, [x16]
1370 80c: f8ba514f ldsmina x26, x15, [x10]
1371 810: f8ad428e ldsmaxa x13, x14, [x20]
1372 814: f8a173d7 ldumina x1, x23, [x30]
1373 818: f8ae60c2 ldumaxa x14, x2, [x6]
1374 81c: f8e38328 swpal x3, x8, [x25]
1375 820: f8e003db ldaddal x0, x27, [x30]
1376 824: f8e513c5 ldclral x5, x5, [x30]
1377 828: f8eb2019 ldeoral x11, x25, [x0]
1378 82c: f8ff3260 ldsetal xzr, x0, [x19]
1379 830: f8fd513a ldsminal x29, x26, [x9]
1380 834: f8fa41ec ldsmaxal x26, x12, [x15]
1381 838: f8eb724b lduminal x11, x11, [x18]
1382 83c: f8f96316 ldumaxal x25, x22, [x24]
1383 840: f8608171 swpl x0, x17, [x11]
1384 844: f86600dd ldaddl x6, x29, [x6]
1385 848: f86512a5 ldclrl x5, x5, [x21]
1386 84c: f8732250 ldeorl x19, x16, [x18]
1387 850: f87e339b ldsetl x30, x27, [x28]
1388 854: f861503c ldsminl x1, x28, [x1]
1389 858: f874421d ldsmaxl x20, x29, [x16]
1390 85c: f86d73aa lduminl x13, x10, [x29]
1391 860: f87d62d3 ldumaxl x29, x19, [x22]
1392 864: b82a83e4 swp w10, w4, [sp]
1393 868: b83503e8 ldadd w21, w8, [sp]
1394 86c: b833138a ldclr w19, w10, [x28]
1395 870: b82220b9 ldeor w2, w25, [x5]
1396 874: b82332c8 ldset w3, w8, [x22]
1397 878: b83350ad ldsmin w19, w13, [x5]
1398 87c: b83d42b8 ldsmax w29, w24, [x21]
1399 880: b83a7078 ldumin w26, w24, [x3]
1400 884: b83862fa ldumax w24, w26, [x23]
1401 888: b8af8075 swpa w15, w21, [x3]
1402 88c: b8b80328 ldadda w24, w8, [x25]
1403 890: b8b41230 ldclra w20, w16, [x17]
1404 894: b8a22001 ldeora w2, w1, [x0]
1405 898: b8b83064 ldseta w24, w4, [x3]
1406 89c: b8ac539f ldsmina w12, wzr, [x28]
1407 8a0: b8aa405a ldsmaxa w10, w26, [x2]
1408 8a4: b8ac73f2 ldumina w12, w18, [sp]
1409 8a8: b8a163ad ldumaxa w1, w13, [x29]
1410 8ac: b8e08193 swpal w0, w19, [x12]
1411 8b0: b8f101b6 ldaddal w17, w22, [x13]
1412 8b4: b8fc13fe ldclral w28, w30, [sp]
1413 8b8: b8e1239a ldeoral w1, w26, [x28]
1414 8bc: b8e4309e ldsetal w4, w30, [x4]
1415 8c0: b8e6535e ldsminal w6, w30, [x26]
1416 8c4: b8f24109 ldsmaxal w18, w9, [x8]
1417 8c8: b8ec7280 lduminal w12, w0, [x20]
1418 8cc: b8e16058 ldumaxal w1, w24, [x2]
1419 8d0: b8608309 swpl w0, w9, [x24]
1420 8d4: b87a03d0 ldaddl w26, w16, [x30]
1421 8d8: b86312ea ldclrl w3, w10, [x23]
1422 8dc: b86a2244 ldeorl w10, w4, [x18]
1423 8e0: b862310b ldsetl w2, w11, [x8]
1424 8e4: b86a522f ldsminl w10, w15, [x17]
1425 8e8: b862418a ldsmaxl w2, w10, [x12]
1426 8ec: b86c71af lduminl w12, w15, [x13]
1427 8f0: b8626287 ldumaxl w2, w7, [x20]
1428 8f4: 042401f9 add z25.b, z15.b, z4.b
1429 8f8: 04b10564 sub z4.s, z11.s, z17.s
1430 8fc: 65ca0230 fadd z16.d, z17.d, z10.d
1431 900: 65d90996 fmul z22.d, z12.d, z25.d
1432 904: 65ca05dc fsub z28.d, z14.d, z10.d
1433 908: 0456afc1 abs z1.h, p3/m, z30.h
1434 90c: 0400044f add z15.b, p1/m, z15.b, z2.b
1435 910: 0490920d asr z13.s, p4/m, z13.s, z16.s
1436 914: 04daa163 cnt z3.d, p0/m, z11.d
1437 918: 04d389c5 lsl z5.d, p2/m, z5.d, z14.d
1438 91c: 0411829d lsr z29.b, p0/m, z29.b, z20.b
1439 920: 04901774 mul z20.s, p5/m, z20.s, z27.s
1440 924: 0417b89a neg z26.b, p6/m, z4.b
1441 928: 041eb3d6 not z22.b, p4/m, z30.b
1442 92c: 04480b6b smax z11.h, p2/m, z11.h, z27.h
1443 930: 048a17dc smin z28.s, p5/m, z28.s, z30.s
1444 934: 048105be sub z30.s, p1/m, z30.s, z13.s
1445 938: 04dcb35e fabs z30.d, p4/m, z26.d
1446 93c: 65808d6f fadd z15.s, p3/m, z15.s, z11.s
1447 940: 65cd9e06 fdiv z6.d, p7/m, z6.d, z16.d
1448 944: 65869cfb fmax z27.s, p7/m, z27.s, z7.s
1449 948: 65c78893 fmin z19.d, p2/m, z19.d, z4.d
1450 94c: 658292d1 fmul z17.s, p4/m, z17.s, z22.s
1451 950: 04ddaebc fneg z28.d, p3/m, z21.d
1452 954: 6582b452 frintm z18.s, p5/m, z2.s
1453 958: 6580ade6 frintn z6.s, p3/m, z15.s
1454 95c: 65c1b42c frintp z12.d, p5/m, z1.d
1455 960: 658da632 fsqrt z18.s, p1/m, z17.s
1456 964: 658195af fsub z15.s, p5/m, z15.s, z13.s
1457 968: 65eb1f74 fmla z20.d, p7/m, z27.d, z11.d
1458 96c: 65f723c3 fmls z3.d, p0/m, z30.d, z23.d
1459 970: 65ba4b71 fnmla z17.s, p2/m, z27.s, z26.s
1460 974: 65fe76c6 fnmls z6.d, p5/m, z22.d, z30.d
1461 978: 04525f42 mla z2.h, p7/m, z26.h, z18.h
1462 97c: 04117056 mls z22.b, p4/m, z2.b, z17.b
1463 980: 04363338 and z24.d, z25.d, z22.d
1464 984: 04a33192 eor z18.d, z12.d, z3.d
1465 988: 0470339d orr z29.d, z28.d, z16.d
1466 98c: 049a2b86 andv s6, p2, z28.s
1467 990: 045824e7 orv h7, p1, z7.h
1468 994: 04193509 eorv b9, p5, z8.b
1469 998: 040837db smaxv b27, p5, z30.b
1470 99c: 044a221a sminv h26, p0, z16.h
1471 9a0: 65c73903 fminv d3, p6, z8.d
1472 9a4: 65c63b55 fmaxv d21, p6, z26.d
1473 9a8: 65982096 fadda s22, p0, s22, z4.s
1474 9ac: 04412071 uaddv d17, p0, z3.h
1475 */
1476
1477 static const unsigned int insns[] =
1478 {
1479 0x8b0d82fa, 0xcb49970c, 0xab889dfc, 0xeb9ee787,
1480 0x0b9b3ec9, 0x4b9279a3, 0x2b88474e, 0x6b8c56c0,
1481 0x8a1a51e0, 0xaa11f4ba, 0xca0281b8, 0xea918c7c,
1482 0x0a5d4a19, 0x2a4b264d, 0x4a523ca5, 0x6a9b6ae2,
1483 0x8a70b79b, 0xaaba9728, 0xca6dfe3d, 0xea627f1c,
1484 0x0aa70f53, 0x2aaa0f06, 0x4a6176a4, 0x6a604eb0,
1485 0x1105ed91, 0x3100583e, 0x5101f8bd, 0x710f0306,
1486 0x9101a1a0, 0xb10a5cc8, 0xd10810aa, 0xf10fd061,
1487 0x120cb166, 0x321764bc, 0x52174681, 0x720c0247,
1488 0x9241018e, 0xb25a2969, 0xd278b411, 0xf26aad01,
1489 0x14000000, 0x17ffffd7, 0x14000242, 0x94000000,
1490 0x97ffffd4, 0x9400023f, 0x3400000a, 0x34fffa2a,
1491 0x3400478a, 0x35000008, 0x35fff9c8, 0x35004728,
1492 0xb400000b, 0xb4fff96b, 0xb40046cb, 0xb500001d,
1493 0xb5fff91d, 0xb500467d, 0x10000013, 0x10fff8b3,
1494 0x10004613, 0x90000013, 0x36300016, 0x3637f836,
1495 0x36304596, 0x3758000c, 0x375ff7cc, 0x3758452c,
1496 0x128313a0, 0x528a32c7, 0x7289173b, 0x92ab3acc,
1497 0xd2a0bf94, 0xf2c285e8, 0x9358722f, 0x330e652f,
1498 0x53067f3b, 0x93577c53, 0xb34a1aac, 0xd35a4016,
1499 0x13946c63, 0x93c3dbc8, 0x54000000, 0x54fff5a0,
1500 0x54004300, 0x54000001, 0x54fff541, 0x540042a1,
1501 0x54000002, 0x54fff4e2, 0x54004242, 0x54000002,
1502 0x54fff482, 0x540041e2, 0x54000003, 0x54fff423,
1503 0x54004183, 0x54000003, 0x54fff3c3, 0x54004123,
1504 0x54000004, 0x54fff364, 0x540040c4, 0x54000005,
1505 0x54fff305, 0x54004065, 0x54000006, 0x54fff2a6,
1506 0x54004006, 0x54000007, 0x54fff247, 0x54003fa7,
1507 0x54000008, 0x54fff1e8, 0x54003f48, 0x54000009,
1508 0x54fff189, 0x54003ee9, 0x5400000a, 0x54fff12a,
1509 0x54003e8a, 0x5400000b, 0x54fff0cb, 0x54003e2b,
1510 0x5400000c, 0x54fff06c, 0x54003dcc, 0x5400000d,
1511 0x54fff00d, 0x54003d6d, 0x5400000e, 0x54ffefae,
1512 0x54003d0e, 0x5400000f, 0x54ffef4f, 0x54003caf,
1513 0xd40658e1, 0xd4014d22, 0xd4046543, 0xd4273f60,
1514 0xd44cad80, 0xd503201f, 0xd69f03e0, 0xd6bf03e0,
1515 0xd5033fdf, 0xd5033e9f, 0xd50332bf, 0xd61f0200,
1516 0xd63f0280, 0xc80a7d1b, 0xc800fea1, 0xc85f7fb1,
1517 0xc85fff9d, 0xc89ffee1, 0xc8dffe95, 0x88167e7b,
1518 0x880bfcd0, 0x885f7c12, 0x885ffd44, 0x889ffed8,
1519 0x88dffe6a, 0x48017fc5, 0x4808fe2c, 0x485f7dc9,
1520 0x485ffc27, 0x489ffe05, 0x48dffd82, 0x080a7c6c,
1521 0x081cff4e, 0x085f7d5e, 0x085ffeae, 0x089ffd2d,
1522 0x08dfff76, 0xc87f4d7c, 0xc87fcc5e, 0xc8220417,
1523 0xc82cb5f0, 0x887f55b2, 0x887ff90b, 0x88382c2d,
1524 0x883aedb5, 0xf819928b, 0xb803e21c, 0x381f713b,
1525 0x781ce322, 0xf850f044, 0xb85e129e, 0x385e92f2,
1526 0x785ff35d, 0x39801921, 0x7881318b, 0x78dce02b,
1527 0xb8829313, 0xfc45f318, 0xbc5d50af, 0xfc001375,
1528 0xbc1951b7, 0xf8008c0b, 0xb801dc03, 0x38009dcb,
1529 0x781fdf1d, 0xf8570e2d, 0xb85faecc, 0x385f6d8d,
1530 0x785ebea0, 0x38804cf7, 0x789cbce3, 0x78df9cbc,
1531 0xb89eed38, 0xfc40cd6e, 0xbc5bdd93, 0xfc103c14,
1532 0xbc040c08, 0xf81a2784, 0xb81ca4ec, 0x381e855b,
1533 0x7801b506, 0xf853654e, 0xb85d74b0, 0x384095c2,
1534 0x785ec5bc, 0x389e15a9, 0x789dc703, 0x78c06474,
1535 0xb89ff667, 0xfc57e51e, 0xbc4155f9, 0xfc05a6ee,
1536 0xbc1df408, 0xf835da4a, 0xb836d9a4, 0x3833580d,
1537 0x7826cb6c, 0xf8706900, 0xb87ae880, 0x3865db2e,
1538 0x78724889, 0x38a7789b, 0x78beca2f, 0x78f6c810,
1539 0xb8bef956, 0xfc6afabd, 0xbc734963, 0xfc3d5b8d,
1540 0xbc25fbb7, 0xf9189d05, 0xb91ecb1d, 0x39187a33,
1541 0x791f226d, 0xf95aa2f3, 0xb9587bb7, 0x395f7176,
1542 0x795d9143, 0x399e7e08, 0x799a2697, 0x79df3422,
1543 0xb99c2624, 0xfd5c2374, 0xbd5fa1d9, 0xfd1d595a,
1544 0xbd1b1869, 0x58002cfb, 0x1800000b, 0xf8945060,
1545 0xd8000000, 0xf8ae6ba0, 0xf99a0080, 0x1a070035,
1546 0x3a0700a8, 0x5a0e0367, 0x7a11009b, 0x9a000380,
1547 0xba1e030c, 0xda0f0320, 0xfa030301, 0x0b340b12,
1548 0x2b2a278d, 0xcb22aa0f, 0x6b2d29bd, 0x8b2cce8c,
1549 0xab2b877e, 0xcb21c8ee, 0xeb3ba47d, 0x3a4d400e,
1550 0x7a5232c6, 0xba5e624e, 0xfa53814c, 0x3a52d8c2,
1551 0x7a4d8924, 0xba4b3aab, 0xfa4d7882, 0x1a96804c,
1552 0x1a912618, 0x5a90b0e6, 0x5a96976b, 0x9a9db06a,
1553 0x9a9b374c, 0xda95c14f, 0xda89c6fe, 0x5ac0015e,
1554 0x5ac005fd, 0x5ac00bdd, 0x5ac012b9, 0x5ac01404,
1555 0xdac002b2, 0xdac0061d, 0xdac00a95, 0xdac00e66,
1556 0xdac0107e, 0xdac01675, 0x1ac00b0b, 0x1ace0f3b,
1557 0x1ad221c3, 0x1ad825e7, 0x1ad92a3c, 0x1adc2f42,
1558 0x9ada0b25, 0x9ad20e1b, 0x9acc22a6, 0x9acc2480,
1559 0x9adc2a3b, 0x9ad22c5c, 0x9bce7dea, 0x9b597c6e,
1560 0x1b0e166f, 0x1b1ae490, 0x9b023044, 0x9b089e3d,
1561 0x9b391083, 0x9b24c73a, 0x9bb15f40, 0x9bbcc6af,
1562 0x1e23095b, 0x1e3918e0, 0x1e2f28c9, 0x1e2a39fd,
1563 0x1e270a22, 0x1e77096b, 0x1e771ba7, 0x1e6b2b6e,
1564 0x1e78388b, 0x1e6e09ec, 0x1f1c3574, 0x1f17f98b,
1568 0x1e60c027, 0x1e61400b, 0x1e61c243, 0x1e6240dc,
1569 0x1e3800d6, 0x9e380360, 0x1e78005a, 0x9e7800e5,
1570 0x1e22017c, 0x9e2201b9, 0x1e6202eb, 0x9e620113,
1571 0x1e2602b2, 0x9e660299, 0x1e270253, 0x9e6703a2,
1572 0x1e2822c0, 0x1e7322a0, 0x1e202288, 0x1e602168,
1573 0x293c19f4, 0x2966387b, 0x69762971, 0xa9041dc7,
1574 0xa9475c0c, 0x29b61ccd, 0x29ee405e, 0x69ee0744,
1575 0xa9843977, 0xa9f46ebd, 0x28ba16b6, 0x28fc44db,
1576 0x68f61831, 0xa8b352ad, 0xa8c56d5e, 0x28024565,
1577 0x2874134e, 0xa8027597, 0xa87b1aa0, 0x0c40734f,
1578 0x4cdfa177, 0x0cc76ee8, 0x4cdf2733, 0x0d40c23d,
1579 0x4ddfcaf8, 0x0dd9ccaa, 0x4c408d52, 0x0cdf85ec,
1580 0x4d60c259, 0x0dffcbc1, 0x4de9ce50, 0x4cc24999,
1581 0x0c404a7a, 0x4d40e6af, 0x4ddfe9b9, 0x0dddef8e,
1582 0x4cdf07b1, 0x0cc000fb, 0x0d60e258, 0x0dffe740,
1583 0x0de2eb2c, 0xce648376, 0xce6184c7, 0xcec081fa,
1584 0xce6d89a2, 0xba5fd3e3, 0x3a5f03e5, 0xfa411be4,
1585 0x7a42cbe2, 0x93df03ff, 0xc820ffff, 0x8822fc7f,
1586 0xc8247cbf, 0x88267fff, 0x4e010fe0, 0x4e081fe1,
1587 0x4e0c1fe1, 0x4e0a1fe1, 0x4e071fe1, 0x4cc0ac3f,
1588 0x05a08020, 0x04b0e3e0, 0x0470e7e1, 0x042f9c20,
1589 0x043f9c35, 0x047f9c20, 0x04ff9c20, 0x04299420,
1590 0x04319160, 0x0461943e, 0x04a19020, 0x042053ff,
1591 0x047f5401, 0x25208028, 0x2538cfe0, 0x2578d001,
1592 0x25b8efe2, 0x25f8f007, 0xa400a3e0, 0xa4a8a7ea,
1593 0xa547a814, 0xa4084ffe, 0xa55c53e0, 0xa5e1540b,
1594 0xe400fbf6, 0xe408ffff, 0xe547e400, 0xe4014be0,
1595 0xe4a84fe0, 0xe5f25000, 0x858043e0, 0x85a043ff,
1596 0xe59f5d08, 0x1e601000, 0x1e603000, 0x1e621000,
1597 0x1e623000, 0x1e641000, 0x1e643000, 0x1e661000,
1598 0x1e663000, 0x1e681000, 0x1e683000, 0x1e6a1000,
1599 0x1e6a3000, 0x1e6c1000, 0x1e6c3000, 0x1e6e1000,
1600 0x1e6e3000, 0x1e701000, 0x1e703000, 0x1e721000,
1601 0x1e723000, 0x1e741000, 0x1e743000, 0x1e761000,
1602 0x1e763000, 0x1e781000, 0x1e783000, 0x1e7a1000,
1603 0x1e7a3000, 0x1e7c1000, 0x1e7c3000, 0x1e7e1000,
1604 0x1e7e3000, 0xf8388098, 0xf8340010, 0xf8241175,
1605 0xf83e22d0, 0xf82432ef, 0xf83a5186, 0xf82f41ee,
1606 0xf82973b9, 0xf82b6194, 0xf8b28216, 0xf8b50358,
1607 0xf8a61206, 0xf8b02219, 0xf8bc3218, 0xf8ba514f,
1608 0xf8ad428e, 0xf8a173d7, 0xf8ae60c2, 0xf8e38328,
1609 0xf8e003db, 0xf8e513c5, 0xf8eb2019, 0xf8ff3260,
1610 0xf8fd513a, 0xf8fa41ec, 0xf8eb724b, 0xf8f96316,
1611 0xf8608171, 0xf86600dd, 0xf86512a5, 0xf8732250,
1612 0xf87e339b, 0xf861503c, 0xf874421d, 0xf86d73aa,
1613 0xf87d62d3, 0xb82a83e4, 0xb83503e8, 0xb833138a,
1614 0xb82220b9, 0xb82332c8, 0xb83350ad, 0xb83d42b8,
1615 0xb83a7078, 0xb83862fa, 0xb8af8075, 0xb8b80328,
1616 0xb8b41230, 0xb8a22001, 0xb8b83064, 0xb8ac539f,
1617 0xb8aa405a, 0xb8ac73f2, 0xb8a163ad, 0xb8e08193,
1618 0xb8f101b6, 0xb8fc13fe, 0xb8e1239a, 0xb8e4309e,
1619 0xb8e6535e, 0xb8f24109, 0xb8ec7280, 0xb8e16058,
1620 0xb8608309, 0xb87a03d0, 0xb86312ea, 0xb86a2244,
1621 0xb862310b, 0xb86a522f, 0xb862418a, 0xb86c71af,
1622 0xb8626287, 0x042401f9, 0x04b10564, 0x65ca0230,
1623 0x65d90996, 0x65ca05dc, 0x0456afc1, 0x0400044f,
1624 0x0490920d, 0x04daa163, 0x04d389c5, 0x0411829d,
1625 0x04901774, 0x0417b89a, 0x041eb3d6, 0x04480b6b,
1626 0x048a17dc, 0x048105be, 0x04dcb35e, 0x65808d6f,
1627 0x65cd9e06, 0x65869cfb, 0x65c78893, 0x658292d1,
1628 0x04ddaebc, 0x6582b452, 0x6580ade6, 0x65c1b42c,
1629 0x658da632, 0x658195af, 0x65eb1f74, 0x65f723c3,
1630 0x65ba4b71, 0x65fe76c6, 0x04525f42, 0x04117056,
1631 0x04363338, 0x04a33192, 0x0470339d, 0x049a2b86,
1632 0x045824e7, 0x04193509, 0x040837db, 0x044a221a,
1633 0x65c73903, 0x65c63b55, 0x65982096, 0x04412071,
1634
1635 };
1636 // END Generated code -- do not edit
1637
1638 asm_check((unsigned int *)entry, insns, sizeof insns / sizeof insns[0]);
1639
1640 {
1641 address PC = __ pc();
1642 __ ld1(v0, __ T16B, Address(r16)); // No offset
1643 __ ld1(v0, __ T8H, __ post(r16, 16)); // Post-index
1644 __ ld2(v0, v1, __ T8H, __ post(r24, 16 * 2)); // Post-index
1645 __ ld1(v0, __ T16B, __ post(r16, r17)); // Register post-index
1646 static const unsigned int vector_insns[] = {
1647 0x4c407200, // ld1 {v0.16b}, [x16]
1648 0x4cdf7600, // ld1 {v0.8h}, [x16], #16
1649 0x4cdf8700, // ld2 {v0.8h, v1.8h}, [x24], #32
1650 0x4cd17200, // ld1 {v0.16b}, [x16], x17
1651 };
1652 asm_check((unsigned int *)PC, vector_insns,
1653 sizeof vector_insns / sizeof vector_insns[0]);
|