-
-
Save EgorBot/23344fa03e67903245ec5b8a1d60e046 to your computer and use it in GitHub Desktop.
base_asm.asm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Percent | Source code & Disassembly of jitted-35241-17721.so for cpu-clock (182272 samples, percent: local period) | |
------------------------------------------------------------------------------------------------------------------------ | |
: | |
: | |
: | |
: 3 Disassembly of section .text: | |
: | |
: 5 0000000000000080 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]>: | |
: 6 native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1](): | |
0.00 : 80: stp x29, x30, [sp, #-16]! | |
0.00 : 84: mov x29, sp | |
0.00 : 88: mov x3, xzr | |
0.00 : 8c: cmp x2, #0x10 | |
0.00 : 90: b.cc 124 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0xa4> // b.lo, b.ul, b.last | |
2.13 : 94: sub x4, x2, #0x10 | |
0.00 : 98: ldr q16, [x0] | |
0.00 : 9c: movi v17.16b, #0x80 | |
0.00 : a0: and v17.16b, v16.16b, v17.16b | |
0.00 : a4: umaxp v17.4s, v17.4s, v17.4s | |
0.00 : a8: mov x5, v17.d[0] | |
0.00 : ac: cmp x5, #0x0 | |
0.00 : b0: b.ne 124 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0xa4> // b.any | |
14.82 : b4: mov v17.16b, v16.16b | |
0.00 : b8: uxtl v17.8h, v17.8b | |
0.00 : bc: uxtl2 v16.8h, v16.16b | |
0.00 : c0: stp q17, q16, [x1] | |
0.00 : c4: add x5, x1, #0x20 | |
0.00 : c8: tbz w5, #0, d4 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0x54> | |
0.00 : cc: mov x3, #0x10 // #16 | |
0.00 : d0: b e0 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0x60> | |
0.00 : d4: and x5, x5, #0xfffffffffffffff0 | |
2.29 : d8: sub x3, x5, x1 | |
0.00 : dc: lsr x3, x3, #1 | |
0.00 : e0: cmp x3, x4 | |
0.00 : e4: b.hi 124 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0xa4> // b.pmore | |
0.00 : e8: ldr q16, [x0, x3] | |
0.00 : ec: movi v17.16b, #0x80 | |
0.00 : f0: and v17.16b, v16.16b, v17.16b | |
0.00 : f4: umaxp v17.4s, v17.4s, v17.4s | |
2.18 : f8: mov x6, v17.d[0] | |
0.00 : fc: cmp x6, #0x0 | |
0.00 : 100: b.ne 124 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0xa4> // b.any | |
60.94 : 104: mov v17.16b, v16.16b | |
0.00 : 108: uxtl v17.8h, v17.8b | |
0.00 : 10c: uxtl2 v16.8h, v16.16b | |
0.00 : 110: stp q17, q16, [x5] | |
0.00 : 114: add x3, x3, #0x10 | |
0.00 : 118: add x5, x5, #0x20 | |
0.00 : 11c: cmp x3, x4 | |
15.45 : 120: b.ls e8 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0x68> // b.plast | |
0.00 : 124: sub x2, x2, x3 | |
0.00 : 128: cmp x2, #0x4 | |
0.00 : 12c: b.cs 144 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0xc4> // b.hs, b.nlast | |
0.00 : 130: tbnz w2, #1, 180 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0x100> | |
0.00 : 134: tbnz w2, #0, 1a8 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0x128> | |
0.00 : 138: mov x0, x3 | |
0.00 : 13c: ldp x29, x30, [sp], #16 | |
2.17 : 140: ret | |
0.00 : 144: add x4, x3, x2 | |
0.00 : 148: sub x4, x4, #0x4 | |
0.00 : 14c: ldr w5, [x0, x3] | |
0.00 : 150: tst w5, #0x80808080 | |
0.00 : 154: b.ne 1bc <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0x13c> // b.any | |
0.00 : 158: add x6, x1, x3, lsl #1 | |
0.00 : 15c: dup v16.4s, w5 | |
0.00 : 160: movi v17.4s, #0x0 | |
0.00 : 164: zip1 v16.16b, v16.16b, v17.16b | |
0.00 : 168: mov x5, v16.d[0] | |
0.00 : 16c: str x5, [x6] | |
0.00 : 170: add x3, x3, #0x4 | |
0.00 : 174: cmp x3, x4 | |
0.00 : 178: b.ls 14c <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0xcc> // b.plast | |
0.00 : 17c: b 130 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0xb0> | |
0.00 : 180: ldrh w5, [x0, x3] | |
0.00 : 184: tst w5, #0x80808080 | |
0.00 : 188: b.ne 1bc <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0x13c> // b.any | |
0.00 : 18c: uxtb w4, w5 | |
0.00 : 190: strh w4, [x1, x3, lsl #1] | |
0.00 : 194: lsr w5, w5, #8 | |
0.00 : 198: add x4, x1, x3, lsl #1 | |
0.00 : 19c: strh w5, [x4, #2] | |
0.00 : 1a0: add x3, x3, #0x2 | |
0.00 : 1a4: b 134 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0xb4> | |
0.00 : 1a8: ldrb w5, [x0, x3, lsl #0] | |
0.00 : 1ac: tbnz w5, #7, 138 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0xb8> | |
0.00 : 1b0: strh w5, [x1, x3, lsl #1] | |
0.00 : 1b4: add x3, x3, #0x1 | |
0.00 : 1b8: b 138 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0xb8> | |
0.00 : 1bc: uxtb w0, w5 | |
0.00 : 1c0: tbnz w0, #7, 138 <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0xb8> | |
0.00 : 1c4: uxtb w0, w5 | |
0.00 : 1c8: strh w0, [x1, x3, lsl #1] | |
0.00 : 1cc: add x3, x3, #0x1 | |
0.00 : 1d0: lsr w5, w5, #8 | |
0.00 : 1d4: b 1bc <native uint [System.Private.CoreLib] System.Text.Ascii::WidenAsciiToUtf16(uint8*,char*,native uint)[OptimizedTier1]+0x13c> | |
Percent | Source code & Disassembly of jitted-35241-17722.so for cpu-clock (41985 samples, percent: local period) | |
----------------------------------------------------------------------------------------------------------------------- | |
: | |
: | |
: | |
: 3 Disassembly of section .text: | |
: | |
: 5 0000000000000080 <instance valuetype [System.Runtime]System.Buffers.OperationStatus [benchapp] Perf_Ascii::ToUtf16()[OptimizedTier1]>: | |
: 6 instance valuetype [System.Runtime]System.Buffers.OperationStatus [benchapp] Perf_Ascii::ToUtf16()[OptimizedTier1](): | |
0.00 : 80: stp x29, x30, [sp, #-80]! | |
0.00 : 84: stp x19, x20, [sp, #40] | |
0.39 : 88: stp x21, x22, [sp, #56] | |
0.00 : 8c: str x23, [sp, #72] | |
0.00 : 90: mov x29, sp | |
5.39 : 94: stp xzr, xzr, [x29, #24] | |
3.55 : 98: ldr x1, [x0, #8] | |
12.16 : 9c: cbz x1, ac <instance valuetype [System.Runtime]System.Buffers.OperationStatus [benchapp] Perf_Ascii::ToUtf16()[OptimizedTier1]+0x2c> | |
7.81 : a0: add x19, x1, #0x10 | |
0.00 : a4: ldr w20, [x1, #8] | |
27.62 : a8: b b4 <instance valuetype [System.Runtime]System.Buffers.OperationStatus [benchapp] Perf_Ascii::ToUtf16()[OptimizedTier1]+0x34> | |
0.00 : ac: mov x19, xzr | |
0.00 : b0: mov w20, wzr | |
0.00 : b4: ldr x0, [x0, #16] | |
0.00 : b8: cbz x0, 114 <instance valuetype [System.Runtime]System.Buffers.OperationStatus [benchapp] Perf_Ascii::ToUtf16()[OptimizedTier1]+0x94> | |
0.00 : bc: add x1, x0, #0x10 | |
0.01 : c0: ldr w21, [x0, #8] | |
5.26 : c4: cmp w20, w21 | |
0.00 : c8: b.gt 120 <instance valuetype [System.Runtime]System.Buffers.OperationStatus [benchapp] Perf_Ascii::ToUtf16()[OptimizedTier1]+0xa0> | |
18.92 : cc: mov w22, w20 | |
0.00 : d0: mov w23, wzr | |
0.00 : d4: stp x1, x19, [x29, #24] | |
0.00 : d8: mov x0, x19 | |
0.00 : dc: mov x2, x22 | |
0.00 : e0: mov x3, #0x62e0 // #25312 | |
0.00 : e4: movk x3, #0xf52f, lsl #16 | |
0.00 : e8: movk x3, #0xe799, lsl #32 | |
9.37 : ec: ldr x3, [x3] | |
0.00 : f0: blr x3 | |
0.00 : f4: mov w1, #0x3 // #3 | |
0.00 : f8: cmp x0, x22 | |
0.00 : fc: csel w0, w23, w1, eq // eq = none | |
0.00 : 100: ldr x23, [sp, #72] | |
0.00 : 104: ldp x21, x22, [sp, #56] | |
0.00 : 108: ldp x19, x20, [sp, #40] | |
9.52 : 10c: ldp x29, x30, [sp], #80 | |
0.00 : 110: ret | |
0.00 : 114: mov x1, xzr | |
0.00 : 118: mov w21, wzr | |
0.00 : 11c: b c4 <instance valuetype [System.Runtime]System.Buffers.OperationStatus [benchapp] Perf_Ascii::ToUtf16()[OptimizedTier1]+0x44> | |
0.00 : 120: mov w22, w21 | |
0.00 : 124: mov w23, #0x1 // #1 | |
0.00 : 128: b d4 <instance valuetype [System.Runtime]System.Buffers.OperationStatus [benchapp] Perf_Ascii::ToUtf16()[OptimizedTier1]+0x54> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment