without optimization

 avatar
unknown
assembly_x86
14 days ago
73 kB
5
Indexable
        .def        @feat.00; ...
224810fa5487ddaae43e49f67759012d:
.Lfunc_begin0:
.seh_proc 224810fa5487ddaae43e49f67759012d
        push              rbp
        .seh_pushreg rbp
        sub               rsp, 32
        .seh_stackalloc 32
        lea               rbp, [rsp + 32]
        .seh_setframe rbp, 32
        .seh_endprologue
        call              "MoveCircleSystem.TestMaxUint4() -> void_da92dddaad5de6dad0a7261bc3708b9a from DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
        nop
        add               rsp, 32
        pop               rbp
        ret
.Lfunc_end0:
        .seh_endproc

        .def        burst.initialize;
        .scl        2;
        .type        32;
        .endef
        .globl        burst.initialize
        .p2align        4, 0x90
burst.initialize:
.Lfunc_begin1:
.seh_proc burst.initialize
        push              rbp
        .seh_pushreg rbp
        push              rsi
        .seh_pushreg rsi
        sub               rsp, 40
        .seh_stackalloc 40
        lea               rbp, [rsp + 32]
        .seh_setframe rbp, 32
        .seh_endprologue
        mov               rsi, rcx
        lea               rcx, [rip + burst.string.808e8e7f94567b9f878889686ba14eb1]
        call              rsi
        mov               qword ptr [rip + burst_abort_Ptr], rax
        lea               rcx, [rip + burst.string.e032451e108c081916a72836299e732a]
        call              rsi
        mov               qword ptr [rip + "Unity.Burst.LowLevel.BurstCompilerService::RuntimeLog_Ptr"], rax
        add               rsp, 40
        pop               rsi
        pop               rbp
        ret
.Lfunc_end1:
        .seh_endproc

        .def        burst.initialize.externals;
        .scl        2;
        .type        32;
        .endef
        .globl        burst.initialize.externals
        .p2align        4, 0x90
burst.initialize.externals:
.Lfunc_begin2:
.seh_proc burst.initialize.externals
        push              rbp
        .seh_pushreg rbp
        push              rsi
        .seh_pushreg rsi
        sub               rsp, 40
        .seh_stackalloc 40
        lea               rbp, [rsp + 32]
        .seh_setframe rbp, 32
        .seh_endprologue
        mov               rsi, rcx
        lea               rcx, [rip + burst.string.808e8e7f94567b9f878889686ba14eb1]
        call              rsi
        mov               qword ptr [rip + burst_abort_Ptr], rax
        lea               rcx, [rip + burst.string.e032451e108c081916a72836299e732a]
        call              rsi
        mov               qword ptr [rip + "Unity.Burst.LowLevel.BurstCompilerService::RuntimeLog_Ptr"], rax
        add               rsp, 40
        pop               rsi
        pop               rbp
        ret
.Lfunc_end2:
        .seh_endproc

        .def        burst.initialize.statics;
        .scl        2;
        .type        32;
        .endef
        .globl        burst.initialize.statics
        .p2align        4, 0x90
burst.initialize.statics:
.Lfunc_begin3:
.seh_proc burst.initialize.statics
        push              rbp
        .seh_pushreg rbp
        mov               rbp, rsp
        .seh_setframe rbp, 0
        .seh_endprologue
        pop               rbp
        ret
.Lfunc_end3:
        .seh_endproc

        .def        "MoveCircleSystem+TestMaxUint4_00000008$BurstDirectCall, DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.Invoke() -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@0";
        .scl        2;
        .type        32;
        .endef
        .section        .text,"xr",discard,"MoveCircleSystem+TestMaxUint4_00000008$BurstDirectCall, DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.Invoke() -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@0"
        .globl        "MoveCircleSystem+TestMaxUint4_00000008$BurstDirectCall, DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.Invoke() -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@0"
        .p2align        4, 0x90
"MoveCircleSystem+TestMaxUint4_00000008$BurstDirectCall, DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.Invoke() -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@0":
.Lfunc_begin4:
        .cv_func_id 0
# unknown
.seh_proc "MoveCircleSystem+TestMaxUint4_00000008$BurstDirectCall, DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.Invoke() -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@0"
        push              rbp
        .seh_pushreg rbp
.Ltmp0:
        push              r14
        .seh_pushreg r14
        push              rsi
        .seh_pushreg rsi
        push              rdi
        .seh_pushreg rdi
        push              rbx
        .seh_pushreg rbx
        sub               rsp, 128
        .seh_stackalloc 128
        lea               rbp, [rsp + 128]
        .seh_setframe rbp, 128
        .seh_endprologue
        .cv_inline_site_id 1 within 0 inlined_at 1 0 0
# SpawnDestroyPlayModeAuthoring.cs(75, 1)    {
        lea               rsi, [rbp - 62]
.Ltmp1:
        .cv_inline_site_id 2 within 1 inlined_at 2 76 0
# BurstString.cs(68, 1)                UnsafeUtility.MemCpy(dest + destIndex, src, toCopyLength);
        mov               dword ptr [rbp - 62], 1953393013
        mov               word ptr [rbp - 58], 10292
# BurstString.cs(70, 1)                destIndex += toCopyLength;
        mov               dword ptr [rbp - 4], 6
.Ltmp2:
        .cv_inline_site_id 3 within 1 inlined_at 2 76 0
# BurstString.cs(261, 1)            ConvertUnsignedIntegerToString(dest, ref destIndex, destLength, value, options);
        mov               byte ptr [rsp + 56], 0
        mov               byte ptr [rsp + 48], 0
        mov               byte ptr [rsp + 40], 0
        mov               byte ptr [rsp + 32], 0
        lea               rdx, [rbp - 4]
        mov               edi, 54
        mov               r9d, 1930428160
        mov               rcx, rsi
        mov               r8d, 54
        call              "Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.ConvertUnsignedIntegerToString(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, System.UInt64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 value, Unity.Burst.BurstString+FormatOptions, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null options) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@40"
.Ltmp3:
        .cv_inline_site_id 4 within 1 inlined_at 2 76 0
# BurstString.cs(61, 1)            int maxToCopy = destLength - destIndex;
        movsxd            rbx, dword ptr [rbp - 4]
        mov               eax, 54
        sub               eax, ebx
# BurstString.cs(63, 1)            if (toCopyLength > 0)
        test              eax, eax
        jle               .LBB4_3
# BurstString.cs(62, 1)            int toCopyLength = srcLength > maxToCopy ? maxToCopy : srcLength;
        cmp               eax, 2
        mov               r14d, 2
        cmovl             r14d, eax
# BurstString.cs(68, 1)                UnsafeUtility.MemCpy(dest + destIndex, src, toCopyLength);
        mov               rcx, rsi
        add               rcx, rbx
.Ltmp4:
        je                .LBB4_13
.Ltmp5:
        mov               r8d, r14d
        lea               rdx, [rip + "MoveCircleSystem.TestMaxUint4$BurstManaged() -> void_da92dddaad5de6dad0a7261bc3708b9a from DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.string.IL_0033.1"+2]
        xor               r9d, r9d
        call              burst.memcpy.inline.AVX2.i64@@32
# BurstString.cs(70, 1)                destIndex += toCopyLength;
        add               ebx, r14d
        mov               dword ptr [rbp - 4], ebx
.Ltmp6:
.LBB4_3:
        .cv_inline_site_id 5 within 1 inlined_at 2 76 0
# BurstString.cs(261, 1)            ConvertUnsignedIntegerToString(dest, ref destIndex, destLength, value, options);
        mov               byte ptr [rsp + 56], 0
        mov               byte ptr [rsp + 48], 0
        mov               byte ptr [rsp + 40], 0
        mov               byte ptr [rsp + 32], 0
        lea               rdx, [rbp - 4]
        mov               r9d, 2393899008
        mov               rcx, rsi
        mov               r8d, 54
        call              "Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.ConvertUnsignedIntegerToString(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, System.UInt64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 value, Unity.Burst.BurstString+FormatOptions, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null options) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@40"
.Ltmp7:
        .cv_inline_site_id 6 within 1 inlined_at 2 76 0
# BurstString.cs(61, 1)            int maxToCopy = destLength - destIndex;
        movsxd            rbx, dword ptr [rbp - 4]
        sub               edi, ebx
# BurstString.cs(63, 1)            if (toCopyLength > 0)
        test              edi, edi
        jle               .LBB4_6
# BurstString.cs(62, 1)            int toCopyLength = srcLength > maxToCopy ? maxToCopy : srcLength;
        cmp               edi, 2
        mov               r14d, 2
        cmovl             r14d, edi
# BurstString.cs(68, 1)                UnsafeUtility.MemCpy(dest + destIndex, src, toCopyLength);
        mov               rcx, rsi
        add               rcx, rbx
.Ltmp8:
        je                .LBB4_13
.Ltmp9:
        mov               r8d, r14d
        lea               rdx, [rip + "MoveCircleSystem.TestMaxUint4$BurstManaged() -> void_da92dddaad5de6dad0a7261bc3708b9a from DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.string.IL_0033.1"+2]
        xor               r9d, r9d
        call              burst.memcpy.inline.AVX2.i64@@32
# BurstString.cs(70, 1)                destIndex += toCopyLength;
        add               ebx, r14d
        mov               dword ptr [rbp - 4], ebx
.Ltmp10:
.LBB4_6:
        .cv_inline_site_id 7 within 1 inlined_at 2 76 0
# BurstString.cs(261, 1)            ConvertUnsignedIntegerToString(dest, ref destIndex, destLength, value, options);
        mov               byte ptr [rsp + 56], 0
        mov               byte ptr [rsp + 48], 0
        mov               byte ptr [rsp + 40], 0
        mov               byte ptr [rsp + 32], 0
        lea               rdx, [rbp - 4]
        mov               r14d, 54
        mov               r9d, 2037382914
        mov               rcx, rsi
        mov               r8d, 54
        call              "Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.ConvertUnsignedIntegerToString(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, System.UInt64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 value, Unity.Burst.BurstString+FormatOptions, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null options) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@40"
.Ltmp11:
        .cv_inline_site_id 8 within 1 inlined_at 2 76 0
# BurstString.cs(61, 1)            int maxToCopy = destLength - destIndex;
        movsxd            rdi, dword ptr [rbp - 4]
        sub               r14d, edi
# BurstString.cs(63, 1)            if (toCopyLength > 0)
        test              r14d, r14d
        jle               .LBB4_9
# BurstString.cs(62, 1)            int toCopyLength = srcLength > maxToCopy ? maxToCopy : srcLength;
        cmp               r14d, 2
        mov               ebx, 2
        cmovl             ebx, r14d
# BurstString.cs(68, 1)                UnsafeUtility.MemCpy(dest + destIndex, src, toCopyLength);
        mov               rcx, rsi
        add               rcx, rdi
.Ltmp12:
        je                .LBB4_13
.Ltmp13:
        mov               r8d, ebx
        lea               rdx, [rip + "MoveCircleSystem.TestMaxUint4$BurstManaged() -> void_da92dddaad5de6dad0a7261bc3708b9a from DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.string.IL_0033.1"+2]
        xor               r9d, r9d
        call              burst.memcpy.inline.AVX2.i64@@32
# BurstString.cs(70, 1)                destIndex += toCopyLength;
        add               edi, ebx
        mov               dword ptr [rbp - 4], edi
.Ltmp14:
.LBB4_9:
        .cv_inline_site_id 9 within 1 inlined_at 2 76 0
# BurstString.cs(261, 1)            ConvertUnsignedIntegerToString(dest, ref destIndex, destLength, value, options);
        mov               byte ptr [rsp + 56], 0
        mov               byte ptr [rsp + 48], 0
        mov               byte ptr [rsp + 40], 0
        mov               byte ptr [rsp + 32], 0
        lea               rdx, [rbp - 4]
        mov               r9d, 2393899008
        mov               rcx, rsi
        mov               r8d, 54
        call              "Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.ConvertUnsignedIntegerToString(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, System.UInt64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 value, Unity.Burst.BurstString+FormatOptions, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null options) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@40"
.Ltmp15:
        .cv_inline_site_id 10 within 1 inlined_at 2 76 0
# BurstString.cs(61, 1)            int maxToCopy = destLength - destIndex;
        mov               eax, dword ptr [rbp - 4]
# BurstString.cs(63, 1)            if (toCopyLength > 0)
        lea               ecx, [rax - 55]
        cmp               ecx, -2
        jg                .LBB4_12
# BurstString.cs(68, 1)                UnsafeUtility.MemCpy(dest + destIndex, src, toCopyLength);
        movsxd            rcx, eax
        add               rcx, rsi
.Ltmp16:
        je                .LBB4_13
.Ltmp17:
        mov               byte ptr [rcx], 41
# BurstString.cs(70, 1)                destIndex += toCopyLength;
        inc               eax
        mov               dword ptr [rbp - 4], eax
.Ltmp18:
.LBB4_12:
# SpawnDestroyPlayModeAuthoring.cs(76, 1)        Debug.Log($"{math.max(math.uint4(1930428160, 2158493696, 2037382914, 2380791808), 2393899008)}");
        cdqe
        mov               byte ptr [rbp + rax - 62], 0
        mov               word ptr [rbp - 64], ax
.Ltmp19:
        mov               dword ptr [rsp + 32], 76
        lea               r9, [rip + "MoveCircleSystem.TestMaxUint4$BurstManaged() -> void_da92dddaad5de6dad0a7261bc3708b9a from DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.string.IL_0000"+2]
        xor               ecx, ecx
        xor               edx, edx
        mov               r8, rsi
        call              qword ptr [rip + "Unity.Burst.LowLevel.BurstCompilerService::RuntimeLog_Ptr"]
.Ltmp20:
        nop
        add               rsp, 128
        pop               rbx
        pop               rdi
        pop               rsi
        pop               r14
        pop               rbp
        ret
.LBB4_13:
.Ltmp21:
        lea               rcx, [rip + burst.string.768c1a52ff82ef88cabe676b503130fa]
        lea               rdx, [rip + burst.string.ccde4765f77ef2c55b583b5388f0c0f6]
        call              qword ptr [rip + burst_abort_Ptr]
        int3
.Ltmp22: ...
"MoveCircleSystem.TestMaxUint4() -> void_da92dddaad5de6dad0a7261bc3708b9a from DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null":
.Lfunc_begin5:
        .cv_func_id 11
# unknown
.seh_proc "MoveCircleSystem.TestMaxUint4() -> void_da92dddaad5de6dad0a7261bc3708b9a from DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
        push              rbp
        .seh_pushreg rbp
        mov               rbp, rsp
        .seh_setframe rbp, 0
        .seh_endprologue
.Ltmp23:
        pop               rbp
        jmp               "MoveCircleSystem+TestMaxUint4_00000008$BurstDirectCall, DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.Invoke() -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from DOTSAutoFarmer, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@0"
.Ltmp24: ...
"Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.ConvertIntegerToString(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 value, Unity.Burst.BurstString+FormatOptions, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null options) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@40":
.Lfunc_begin6:
        .cv_func_id 12
# BurstString.cs(422, 1)        {
.seh_proc "Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.ConvertIntegerToString(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 value, Unity.Burst.BurstString+FormatOptions, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null options) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@40"
        push              rbp
        .seh_pushreg rbp
        push              r15
        .seh_pushreg r15
        push              r14
        .seh_pushreg r14
        push              r13
        .seh_pushreg r13
        push              r12
        .seh_pushreg r12
        push              rsi
        .seh_pushreg rsi
        push              rdi
        .seh_pushreg rdi
        push              rbx
        .seh_pushreg rbx
        sub               rsp, 24
        .seh_stackalloc 24
        lea               rbp, [rsp + 16]
        .seh_setframe rbp, 16
        .seh_endprologue
        mov               r14, r9
        mov               esi, r8d
        mov               rdi, rdx
        mov               rbx, rcx
.Ltmp25:
        mov               qword ptr [rbp], 0
.Ltmp26:
        .cv_inline_site_id 13 within 12 inlined_at 3 423 0
# BurstString.cs(990, 1)                switch (Kind)
        cmp               byte ptr [rbp + 112], 3
        mov               eax, 16
        mov               r12d, 10
        cmove             r12, rax
        mov               r13d, -1
        mov               rax, r9
.Ltmp27: ...
.LBB6_1:
# BurstString.cs(431, 1)                tmp /= basis;
        cqo
        idiv              r12
# BurstString.cs(433, 1)            } while (tmp != 0);
        inc               r13d
        test              rax, rax
        jne               .LBB6_1
# BurstString.cs(436, 1)            byte* tmpBuffer = stackalloc byte[length + 1];
        lea               r8d, [r13 + 2]
        lea               rax, [r8 + 15]
        and               rax, -16
        call              __chkstk
        sub               rsp, rax
        mov               r15, rsp
        sub               rsp, 32
        mov               rcx, r15
        xor               edx, edx
        xor               r9d, r9d
        call              burst.memset.inline.AVX2.i32@@32
        add               rsp, 32
        xor               ecx, ecx
        cmp               byte ptr [rbp + 136], 0
        setne             cl
        shl               ecx, 5
        add               ecx, 55
# BurstString.cs(439, 1)            int tmpIndex = length - 1;
        lea               r8d, [r13 + 1]
        mov               rax, r14
        .p2align        4, 0x90
.LBB6_3:
# BurstString.cs(443, 1)                tmp /= basis;
        cqo
        idiv              r12
# BurstString.cs(442, 1)                tmpBuffer[tmpIndex--] = ValueToIntegerChar((int)(tmp % basis), options.Uppercase);
        movsxd            r9, r13d
        dec               r13d
.Ltmp28:
        .cv_inline_site_id 14 within 12 inlined_at 3 442 0
# BurstString.cs(547, 1)            value = value < 0 ? -value : value;
        mov               r10d, edx
        neg               r10d
        cmovs             r10d, edx
# BurstString.cs(548, 1)            if (value <= 9)
        lea               edx, [r10 + 48]
        lea               r11d, [rcx + r10]
        cmp               r10d, 10
        movzx             edx, dl
        cmovge            edx, r11d
.Ltmp29:
# BurstString.cs(442, 1)                tmpBuffer[tmpIndex--] = ValueToIntegerChar((int)(tmp % basis), options.Uppercase);
        mov               byte ptr [r15 + r9], dl
# BurstString.cs(444, 1)            } while (tmp != 0);
        test              rax, rax
        jne               .LBB6_3
# BurstString.cs(445, 1)            tmpBuffer[length] = 0;
        movsxd            rax, r8d
        mov               byte ptr [r15 + rax], 0
.Ltmp30:
        .cv_inline_site_id 15 within 12 inlined_at 3 447 0
# BurstString.cs(909, 1)                Kind = kind;
        mov               dword ptr [rbp - 8], 0
# BurstString.cs(910, 1)                _buffer = buffer;
        mov               qword ptr [rbp - 16], r15
# BurstString.cs(911, 1)                DigitsCount = digitsCount;
        mov               dword ptr [rbp - 4], eax
# BurstString.cs(912, 1)                Scale = scale;
        mov               dword ptr [rbp], eax
# BurstString.cs(913, 1)                IsNegative = isNegative;
        shr               r14, 63
        mov               byte ptr [rbp + 4], r14b
.Ltmp31:
# BurstString.cs(448, 1)            FormatNumber(dest, ref destIndex, destLength, ref numberBuffer, options.Specifier, options);
        movzx             eax, byte ptr [rbp + 128]
        sub               rsp, 80
        movzx             ecx, byte ptr [rbp + 136]
        mov               byte ptr [rsp + 64], cl
        mov               byte ptr [rsp + 56], al
        movzx             ecx, byte ptr [rbp + 120]
        mov               byte ptr [rsp + 48], cl
        movzx             ecx, byte ptr [rbp + 112]
        mov               byte ptr [rsp + 40], cl
        mov               dword ptr [rsp + 32], eax
        lea               r9, [rbp - 16]
        mov               rcx, rbx
        mov               rdx, rdi
        mov               r8d, esi
        call              "Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.FormatNumber(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, Unity.Burst.BurstString+NumberBuffer&, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null number, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 nMaxDigits, Unity.Burst.BurstString+FormatOptions, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null options) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@48"
# BurstString.cs(449, 1)        }
        nop
        lea               rsp, [rbp + 8]
        pop               rbx
        pop               rdi
        pop               rsi
        pop               r12
        pop               r13
        pop               r14
        pop               r15
        pop               rbp
        ret
.Ltmp32: ...
"Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.ConvertUnsignedIntegerToString(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, System.UInt64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 value, Unity.Burst.BurstString+FormatOptions, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null options) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@40":
.Lfunc_begin7:
        .cv_func_id 16
# BurstString.cs(371, 1)        {
.seh_proc "Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.ConvertUnsignedIntegerToString(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, System.UInt64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 value, Unity.Burst.BurstString+FormatOptions, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null options) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@40"
        push              rbp
        .seh_pushreg rbp
        push              r15
        .seh_pushreg r15
        push              r14
        .seh_pushreg r14
        push              r13
        .seh_pushreg r13
        push              r12
        .seh_pushreg r12
        push              rsi
        .seh_pushreg rsi
        push              rdi
        .seh_pushreg rdi
        push              rbx
        .seh_pushreg rbx
        sub               rsp, 24
        .seh_stackalloc 24
        lea               rbp, [rsp + 16]
        .seh_setframe rbp, 16
        .seh_endprologue
        mov               r14, r9
        mov               esi, r8d
        mov               rdi, rdx
        mov               rbx, rcx
.Ltmp33:
        mov               qword ptr [rbp], 0
.Ltmp34:
        .cv_inline_site_id 17 within 16 inlined_at 3 372 0
# BurstString.cs(990, 1)                switch (Kind)
        cmp               byte ptr [rbp + 112], 3
        mov               eax, 16
        mov               r12d, 10
        cmove             r12, rax
        mov               r13d, -1
        mov               rcx, r9
.Ltmp35: ...
.LBB7_1:
# BurstString.cs(380, 1)                tmp /= basis;
        mov               rax, rcx
        xor               edx, edx
        div               r12
# BurstString.cs(382, 1)            } while (tmp != 0);
        inc               r13d
        cmp               rcx, r12
# BurstString.cs(380, 1)                tmp /= basis;
        mov               rcx, rax
# BurstString.cs(382, 1)            } while (tmp != 0);
        jae               .LBB7_1
# BurstString.cs(386, 1)            byte* tmpBuffer = stackalloc byte[length + 1];
        lea               r8d, [r13 + 2]
        lea               rax, [r8 + 15]
        and               rax, -16
        call              __chkstk
        sub               rsp, rax
        mov               r15, rsp
        sub               rsp, 32
        mov               rcx, r15
        xor               edx, edx
        xor               r9d, r9d
        call              burst.memset.inline.AVX2.i32@@32
        add               rsp, 32
        xor               ecx, ecx
        cmp               byte ptr [rbp + 136], 0
        setne             cl
        shl               ecx, 5
        add               ecx, 55
# BurstString.cs(388, 1)            tmp = value;
        lea               r8d, [r13 + 1]
        .p2align        4, 0x90
.LBB7_3:
# BurstString.cs(392, 1)                tmp /= basis;
        mov               rax, r14
        xor               edx, edx
        div               r12
# BurstString.cs(391, 1)                tmpBuffer[tmpIndex--] = ValueToIntegerChar((int)(tmp % basis), options.Uppercase);
        movsxd            r9, r13d
        dec               r13d
.Ltmp36:
        .cv_inline_site_id 18 within 16 inlined_at 3 391 0
# BurstString.cs(548, 1)            if (value <= 9)
        mov               r10d, edx
        add               r10b, 48
        lea               r11d, [rcx + rdx]
        cmp               edx, 10
        movzx             edx, r10b
        cmovae            edx, r11d
.Ltmp37:
# BurstString.cs(391, 1)                tmpBuffer[tmpIndex--] = ValueToIntegerChar((int)(tmp % basis), options.Uppercase);
        mov               byte ptr [r15 + r9], dl
# BurstString.cs(393, 1)            } while (tmp != 0);
        cmp               r14, r12
# BurstString.cs(392, 1)                tmp /= basis;
        mov               r14, rax
# BurstString.cs(393, 1)            } while (tmp != 0);
        jae               .LBB7_3
# BurstString.cs(395, 1)            tmpBuffer[length] = 0;
        movsxd            rax, r8d
        mov               byte ptr [r15 + rax], 0
.Ltmp38:
        .cv_inline_site_id 19 within 16 inlined_at 3 397 0
# BurstString.cs(909, 1)                Kind = kind;
        mov               dword ptr [rbp - 8], 0
# BurstString.cs(910, 1)                _buffer = buffer;
        mov               qword ptr [rbp - 16], r15
# BurstString.cs(911, 1)                DigitsCount = digitsCount;
        mov               dword ptr [rbp - 4], eax
# BurstString.cs(912, 1)                Scale = scale;
        mov               dword ptr [rbp], eax
# BurstString.cs(913, 1)                IsNegative = isNegative;
        mov               byte ptr [rbp + 4], 0
.Ltmp39:
# BurstString.cs(398, 1)            FormatNumber(dest, ref destIndex, destLength, ref numberBuffer, options.Specifier, options);
        movzx             eax, byte ptr [rbp + 128]
        sub               rsp, 80
        movzx             ecx, byte ptr [rbp + 136]
        mov               byte ptr [rsp + 64], cl
        mov               byte ptr [rsp + 56], al
        movzx             ecx, byte ptr [rbp + 120]
        mov               byte ptr [rsp + 48], cl
        movzx             ecx, byte ptr [rbp + 112]
        mov               byte ptr [rsp + 40], cl
        mov               dword ptr [rsp + 32], eax
        lea               r9, [rbp - 16]
        mov               rcx, rbx
        mov               rdx, rdi
        mov               r8d, esi
        call              "Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.FormatNumber(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, Unity.Burst.BurstString+NumberBuffer&, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null number, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 nMaxDigits, Unity.Burst.BurstString+FormatOptions, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null options) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@48"
# BurstString.cs(399, 1)        }
        nop
        lea               rsp, [rbp + 8]
        pop               rbx
        pop               rdi
        pop               rsi
        pop               r12
        pop               r13
        pop               r14
        pop               r15
        pop               rbp
        ret
.Ltmp40: ...
"Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.FormatGeneral(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, Unity.Burst.BurstString+NumberBuffer&, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null number, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 nMaxDigits, System.Byte, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 expChar) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@48":
.Lfunc_begin8:
        .cv_func_id 20
# BurstString.cs(758, 1)        {
.seh_proc "Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.FormatGeneral(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, Unity.Burst.BurstString+NumberBuffer&, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null number, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 nMaxDigits, System.Byte, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 expChar) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@48"
        push              rbp
        .seh_pushreg rbp
.Ltmp41:
        push              r14
        .seh_pushreg r14
        push              rsi
        .seh_pushreg rsi
        push              rdi
        .seh_pushreg rdi
        push              rbx
        .seh_pushreg rbx
        sub               rsp, 64
        .seh_stackalloc 64
        lea               rbp, [rsp + 64]
        .seh_setframe rbp, 64
        .seh_endprologue
# BurstString.cs(759, 1)            int scale = number.Scale;
        mov               r11d, dword ptr [r9 + 16]
# BurstString.cs(764, 1)            if (digPos > nMaxDigits || digPos < -3)
        cmp               r11d, dword ptr [rbp + 80]
        setle             r10b
        cmp               r11d, -3
        setge             al
        and               al, r10b
        mov               esi, 1
        cmovne            esi, r11d
.Ltmp42:
        .cv_inline_site_id 21 within 20 inlined_at 3 770 0
# BurstString.cs(924, 1)            public byte* GetDigitsPointer() => _buffer;
        mov               r10, qword ptr [r9]
.Ltmp43:
# BurstString.cs(772, 1)            if (number.IsNegative)
        cmp               byte ptr [r9 + 20], 0
        je                .LBB8_1
# BurstString.cs(774, 1)                if (destIndex >= destLength) return;
        movsxd            rdi, dword ptr [rdx]
        cmp               edi, r8d
        jge               .LBB8_14
# BurstString.cs(775, 1)                dest[destIndex++] = (byte)'-';
        lea               ebx, [rdi + 1]
        mov               dword ptr [rdx], ebx
        mov               byte ptr [rcx + rdi], 45
.LBB8_1:
# BurstString.cs(778, 1)            if (digPos > 0)
        test              esi, esi
        jle               .LBB8_13
# BurstString.cs(782, 1)                    if (destIndex >= destLength) return;
        inc               esi
        mov               r11d, 48
        .p2align        4, 0x90
.LBB8_3:
        movsxd            rdi, dword ptr [rdx]
        cmp               edi, r8d
        jge               .LBB8_14
# BurstString.cs(783, 1)                    dest[destIndex++] = (*dig != 0) ? (byte)(*dig++) : (byte)'0';
        lea               ebx, [rdi + 1]
        mov               dword ptr [rdx], ebx
        movzx             ebx, byte ptr [r10]
        xor               r14d, r14d
        test              bl, bl
        setne             r14b
        cmove             ebx, r11d
        add               r10, r14
        mov               byte ptr [rcx + rdi], bl
# BurstString.cs(784, 1)                } while (--digPos > 0);
        dec               esi
        cmp               esi, 2
        jge               .LBB8_3
# BurstString.cs(792, 1)            if (*dig != 0 || digPos < 0)
        xor               r11d, r11d
        cmp               byte ptr [r10], 0
        je                .LBB8_7
        jmp               .LBB8_15
.LBB8_13:
# BurstString.cs(788, 1)                if (destIndex >= destLength) return;
        movsxd            rsi, dword ptr [rdx]
        cmp               esi, r8d
        jge               .LBB8_14
# BurstString.cs(789, 1)                dest[destIndex++] = (byte)'0';
        lea               edi, [rsi + 1]
        mov               dword ptr [rdx], edi
        mov               byte ptr [rcx + rsi], 48
# BurstString.cs(792, 1)            if (*dig != 0 || digPos < 0)
        cmp               byte ptr [r10], 0
        jne               .LBB8_15
.LBB8_7:
        test              r11d, r11d
        js                .LBB8_15
.LBB8_8:
# BurstString.cs(811, 1)            if (scientific)
        test              al, al
        jne               .LBB8_14
# BurstString.cs(813, 1)                if (destIndex >= destLength) return;
        movsxd            rax, dword ptr [rdx]
        cmp               eax, r8d
        jge               .LBB8_14
# BurstString.cs(814, 1)                dest[destIndex++] = expChar;
        movzx             r10d, byte ptr [rbp + 88]
        lea               r11d, [rax + 1]
        mov               dword ptr [rdx], r11d
        mov               byte ptr [rcx + rax], r10b
# BurstString.cs(816, 1)                int exponent = number.Scale - 1;
        mov               eax, dword ptr [r9 + 16]
        dec               eax
# BurstString.cs(819, 1)                ConvertIntegerToString(dest, ref destIndex, destLength, exponent, exponentFormatOptions);
        movsxd            r9, eax
        mov               byte ptr [rsp + 56], 0
        mov               byte ptr [rsp + 48], 2
        mov               byte ptr [rsp + 40], 0
        mov               byte ptr [rsp + 32], 2
        call              "Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.ConvertIntegerToString(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 value, Unity.Burst.BurstString+FormatOptions, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null options) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@40"
        jmp               .LBB8_14
.LBB8_15:
# BurstString.cs(794, 1)                if (destIndex >= destLength) return;
        movsxd            rsi, dword ptr [rdx]
        cmp               esi, r8d
        jge               .LBB8_14
# BurstString.cs(795, 1)                dest[destIndex++] = (byte)'.';
        lea               edi, [rsi + 1]
        mov               dword ptr [rdx], edi
        mov               byte ptr [rcx + rsi], 46
# BurstString.cs(797, 1)                while (digPos < 0)
        test              r11d, r11d
        js                .LBB8_20
.LBB8_17:
# BurstString.cs(804, 1)                while (*dig != 0)
        cmp               byte ptr [r10], 0
        je                .LBB8_8
# BurstString.cs(806, 1)                    if (destIndex >= destLength) return;
        inc               r10
        .p2align        4, 0x90
.LBB8_22:
        movsxd            r11, dword ptr [rdx]
        cmp               r11d, r8d
        jge               .LBB8_14
# BurstString.cs(807, 1)                    dest[destIndex++] = *dig++;
        lea               esi, [r11 + 1]
        mov               dword ptr [rdx], esi
        movzx             ebx, byte ptr [r10 - 1]
        mov               byte ptr [rcx + r11], bl
# BurstString.cs(804, 1)                while (*dig != 0)
        cmp               byte ptr [r10], 0
        lea               r10, [r10 + 1]
        jne               .LBB8_22
        jmp               .LBB8_8
        .p2align        4, 0x90
.LBB8_19:
# BurstString.cs(800, 1)                    dest[destIndex++] = (byte)'0';
        lea               edi, [rsi + 1]
        mov               dword ptr [rdx], edi
        mov               byte ptr [rcx + rsi], 48
# BurstString.cs(801, 1)                    digPos++;
        inc               r11d
# BurstString.cs(797, 1)                while (digPos < 0)
        je                .LBB8_17
.LBB8_20:
# BurstString.cs(799, 1)                    if (destIndex >= destLength) return;
        movsxd            rsi, dword ptr [rdx]
        cmp               esi, r8d
        jl                .LBB8_19
.LBB8_14:
# BurstString.cs(821, 1)        }
        add               rsp, 64
        pop               rbx
        pop               rdi
        pop               rsi
        pop               r14
        pop               rbp
        ret
.Ltmp44: ...
"Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.FormatNumber(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, Unity.Burst.BurstString+NumberBuffer&, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null number, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 nMaxDigits, Unity.Burst.BurstString+FormatOptions, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null options) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@48":
.Lfunc_begin9:
        .cv_func_id 22
# BurstString.cs(452, 1)        {
.seh_proc "Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.FormatNumber(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, Unity.Burst.BurstString+NumberBuffer&, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null number, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 nMaxDigits, Unity.Burst.BurstString+FormatOptions, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null options) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@48"
        push              rbp
        .seh_pushreg rbp
        push              r15
        .seh_pushreg r15
        push              r14
        .seh_pushreg r14
        push              r13
        .seh_pushreg r13
        push              r12
        .seh_pushreg r12
        push              rsi
        .seh_pushreg rsi
        push              rdi
        .seh_pushreg rdi
        push              rbx
        .seh_pushreg rbx
        sub               rsp, 56
        .seh_stackalloc 56
        lea               rbp, [rsp + 48]
        .seh_setframe rbp, 48
        .seh_endprologue
        mov               rsi, rdx
.Ltmp45:
# BurstString.cs(456, 1)            if (number.Kind == NumberBufferKind.Integer && options.Kind == NumberFormatKind.General && options.Specifier == 0)
        mov               edx, dword ptr [rbp + 120]
        movzx             r14d, byte ptr [rbp + 128]
        movzx             eax, byte ptr [rbp + 136]
# BurstString.cs(453, 1)            bool isCorrectlyRounded = (number.Kind == NumberBufferKind.Float);
        mov               r10d, dword ptr [r9 + 8]
# BurstString.cs(456, 1)            if (number.Kind == NumberBufferKind.Integer && options.Kind == NumberFormatKind.General && options.Specifier == 0)
        mov               r11d, edx
        or                r11b, al
        mov               r11d, 1
        cmovne            r11d, edx
        test              r10d, r10d
        cmovne            r11d, edx
# BurstString.cs(462, 1)            switch (options.Kind)
        lea               edx, [r11 - 1]
        cmp               dl, 3
        jae               .LBB9_1
# BurstString.cs(467, 1)                    length = number.DigitsCount;
        mov               edx, dword ptr [r9 + 12]
# BurstString.cs(469, 1)                    var zeroPadding = (int)options.Specifier;
        movzx             eax, al
# BurstString.cs(471, 1)                    if (length < zeroPadding)
        mov               edi, edx
        sub               edi, eax
        mov               r15d, eax
        cmovg             r15d, edx
        neg               edi
        xor               r10d, r10d
        cmp               eax, edx
        cmovg             r10d, edi
# BurstString.cs(477, 1)                    bool outputPositiveSign = options.Kind == NumberFormatKind.DecimalForceSigned;
        cmp               r11b, 2
        sete              dl
# BurstString.cs(478, 1)                    length += number.IsNegative || outputPositiveSign ? 1 : 0;
        movzx             ebx, byte ptr [r9 + 20]
        xor               eax, eax
        or                dl, bl
        setne             al
        add               eax, r15d
# BurstString.cs(481, 1)                    if (AlignLeft(dest, ref destIndex, destLength, options.AlignAndSize, length)) return;
        movsx             edx, r14b
.Ltmp46:
        .cv_inline_site_id 23 within 22 inlined_at 3 481 0
# BurstString.cs(677, 1)            if (align > 0)
        test              r14b, r14b
        jle               .LBB9_16
        mov               edi, edx
        sub               edi, eax
        jle               .LBB9_16
        .p2align        4, 0x90
.LBB9_14:
# BurstString.cs(681, 1)                    if (destIndex >= destLength) return true;
        movsxd            rbx, dword ptr [rsi]
        cmp               ebx, r8d
        jge               .LBB9_34
# BurstString.cs(682, 1)                    dest[destIndex++] = (byte)' ';
        lea               r15d, [rbx + 1]
        mov               dword ptr [rsi], r15d
        mov               byte ptr [rcx + rbx], 32
# BurstString.cs(679, 1)                while (length < align)
        dec               edi
        jne               .LBB9_14
.Ltmp47:
        .cv_inline_site_id 24 within 22 inlined_at 3 483 0
# BurstString.cs(518, 1)            if (number.IsNegative)
        movzx             ebx, byte ptr [r9 + 20]
.LBB9_16:
        test              bl, bl
        je                .LBB9_17
# BurstString.cs(520, 1)                if (destIndex >= destLength) return;
        mov               r11d, dword ptr [rsi]
        mov               bl, 45
        cmp               r11d, r8d
        jl                .LBB9_21
        jmp               .LBB9_29
.Ltmp48:
.LBB9_1:
# BurstString.cs(493, 1)                    if (nMaxDigits < 1)
        mov               r11d, dword ptr [rbp + 112]
        test              r11d, r11d
        jle               .LBB9_35
.Ltmp49:
        .cv_inline_site_id 25 within 22 inlined_at 3 499 0
        .cv_inline_site_id 26 within 25 inlined_at 3 825 0
# BurstString.cs(924, 1)            public byte* GetDigitsPointer() => _buffer;
        mov               rax, qword ptr [r9]
        jmp               .LBB9_3
.Ltmp50:
.LBB9_35:
# BurstString.cs(496, 1)                        nMaxDigits = number.DigitsCount;
        mov               r11d, dword ptr [r9 + 12]
.Ltmp51:
# BurstString.cs(924, 1)            public byte* GetDigitsPointer() => _buffer;
        mov               rax, qword ptr [r9]
.Ltmp52:
# BurstString.cs(828, 1)            while (i < pos && dig[i] != (byte)'\0')
        test              r11d, r11d
        jle               .LBB9_36
.LBB9_3:
        mov               edi, r11d
        xor               edx, edx
        .p2align        4, 0x90
.LBB9_4:
        cmp               byte ptr [rax + rdx], 0
        je                .LBB9_37
# BurstString.cs(829, 1)                i++;
        inc               rdx
# BurstString.cs(828, 1)            while (i < pos && dig[i] != (byte)'\0')
        cmp               rdi, rdx
        jne               .LBB9_4
.Ltmp53:
# BurstString.cs(453, 1)            bool isCorrectlyRounded = (number.Kind == NumberBufferKind.Float);
        mov               r11d, edi
        cmp               r10d, 1
.Ltmp54:
# BurstString.cs(831, 1)            if ((i == pos) && ShouldRoundUp(dig, i, isCorrectlyRounded))
        jne               .LBB9_39
        jmp               .LBB9_8
.Ltmp55:
.LBB9_17:
# BurstString.cs(477, 1)                    bool outputPositiveSign = options.Kind == NumberFormatKind.DecimalForceSigned;
        cmp               r11b, 2
.Ltmp56:
# BurstString.cs(523, 1)            else if (outputPositiveSign)
        jne               .LBB9_22
# BurstString.cs(525, 1)                if (destIndex >= destLength) return;
        mov               r11d, dword ptr [rsi]
        mov               bl, 43
        cmp               r11d, r8d
        jge               .LBB9_29
.LBB9_21:
        lea               edi, [r11 + 1]
        mov               dword ptr [rsi], edi
        movsxd            r11, r11d
        mov               byte ptr [rcx + r11], bl
.LBB9_22:
# BurstString.cs(530, 1)            for (int i = 0; i < zeroPadding; i++)
        test              r10d, r10d
        jle               .LBB9_23
        .p2align        4, 0x90
.LBB9_26:
# BurstString.cs(532, 1)                if (destIndex >= destLength) return;
        movsxd            r11, dword ptr [rsi]
        cmp               r11d, r8d
        jge               .LBB9_29
# BurstString.cs(533, 1)                dest[destIndex++] = (byte)'0';
        lea               edi, [r11 + 1]
        mov               dword ptr [rsi], edi
        mov               byte ptr [rcx + r11], 48
# BurstString.cs(530, 1)            for (int i = 0; i < zeroPadding; i++)
        dec               r10d
        jne               .LBB9_26
.LBB9_23:
# BurstString.cs(536, 1)            var digitCount = number.DigitsCount;
        mov               r10d, dword ptr [r9 + 12]
# BurstString.cs(538, 1)            for (int i = 0; i < digitCount; i++)
        test              r10d, r10d
        jle               .LBB9_29
        mov               r9, qword ptr [r9]
        .p2align        4, 0x90
.LBB9_28:
# BurstString.cs(540, 1)                if (destIndex >= destLength) return;
        movsxd            r11, dword ptr [rsi]
        cmp               r11d, r8d
        jge               .LBB9_29
# BurstString.cs(541, 1)                dest[destIndex++] = digits[i];
        lea               edi, [r11 + 1]
        mov               dword ptr [rsi], edi
        movzx             ebx, byte ptr [r9]
        mov               byte ptr [rcx + r11], bl
# BurstString.cs(538, 1)            for (int i = 0; i < digitCount; i++)
        inc               r9
        dec               r10
        jne               .LBB9_28
.Ltmp57:
.LBB9_29:
        .cv_inline_site_id 27 within 22 inlined_at 3 486 0
# BurstString.cs(665, 1)            if (align < 0)
        test              r14b, r14b
        jns               .LBB9_34
# BurstString.cs(667, 1)                align = -align;
        mov               r9d, edx
        neg               r9d
        cmp               eax, r9d
.Ltmp58:
        .cv_inline_site_id 28 within 27 inlined_at 3 668 0
# BurstString.cs(677, 1)            if (align > 0)
        jge               .LBB9_34
# BurstString.cs(681, 1)                    if (destIndex >= destLength) return true;
        add               eax, edx
        neg               eax
        .p2align        4, 0x90
.LBB9_33:
        movsxd            rdx, dword ptr [rsi]
        cmp               edx, r8d
        jge               .LBB9_34
# BurstString.cs(682, 1)                    dest[destIndex++] = (byte)' ';
        lea               r9d, [rdx + 1]
        mov               dword ptr [rsi], r9d
        mov               byte ptr [rcx + rdx], 32
# BurstString.cs(679, 1)                while (length < align)
        dec               eax
        jne               .LBB9_33
        jmp               .LBB9_34
.Ltmp59:
.LBB9_36:
        xor               edx, edx
.LBB9_37:
.Ltmp60:
# BurstString.cs(831, 1)            if ((i == pos) && ShouldRoundUp(dig, i, isCorrectlyRounded))
        cmp               edx, r11d
        jne               .LBB9_9
.Ltmp61:
        .cv_inline_site_id 29 within 25 inlined_at 3 831 0
# BurstString.cs(877, 1)            byte digit = dig[i];
        mov               edi, r11d
.Ltmp62:
# BurstString.cs(453, 1)            bool isCorrectlyRounded = (number.Kind == NumberBufferKind.Float);
        cmp               r10d, 1
.Ltmp63:
# BurstString.cs(831, 1)            if ((i == pos) && ShouldRoundUp(dig, i, isCorrectlyRounded))
        je                .LBB9_8
.LBB9_39:
        cmp               byte ptr [rax + rdi], 53
        jb                .LBB9_8
# BurstString.cs(833, 1)                while (i > 0 && dig[i - 1] == (byte)'9')
        test              r11d, r11d
        jle               .LBB9_44
        mov               edx, r11d
        .p2align        4, 0x90
.LBB9_42:
        mov               r10d, edx
        movzx             ebx, byte ptr [rax + r10 - 1]
        cmp               bl, 57
        jne               .LBB9_45
        cmp               edx, 1
# BurstString.cs(834, 1)                    i--;
        lea               edx, [rdx - 1]
# BurstString.cs(833, 1)                while (i > 0 && dig[i - 1] == (byte)'9')
        jg                .LBB9_42
.LBB9_44:
# BurstString.cs(842, 1)                    number.Scale++;
        inc               dword ptr [r9 + 16]
# BurstString.cs(843, 1)                    dig[0] = (byte)('1');
        mov               byte ptr [rax], 49
        mov               edx, 1
        jmp               .LBB9_49
.LBB9_8:
        mov               edx, r11d
.LBB9_9:
# BurstString.cs(849, 1)                while (i > 0 && dig[i - 1] == (byte)'0')
        test              edx, edx
        jle               .LBB9_10
        .p2align        4, 0x90
.LBB9_46:
        mov               r10d, edx
        cmp               byte ptr [rax + r10 - 1], 48
        jne               .LBB9_49
        cmp               edx, 1
# BurstString.cs(850, 1)                    i--;
        lea               edx, [rdx - 1]
# BurstString.cs(849, 1)                while (i > 0 && dig[i - 1] == (byte)'0')
        jg                .LBB9_46
        jmp               .LBB9_48
.LBB9_10:
        jne               .LBB9_49
.LBB9_48:
# BurstString.cs(855, 1)                number.Scale = 0;      // Decimals with scale ('0.00') should be rounded.
        mov               dword ptr [r9 + 16], 0
        xor               edx, edx
        jmp               .LBB9_49
.LBB9_45:
# BurstString.cs(838, 1)                    dig[i - 1]++;
        inc               bl
        mov               byte ptr [rax + r10 - 1], bl
.LBB9_49:
# BurstString.cs(858, 1)            dig[i] = (byte)('\0');
        movsxd            rdx, edx
        mov               byte ptr [rax + rdx], 0
# BurstString.cs(859, 1)            number.DigitsCount = i;
        mov               dword ptr [r9 + 12], edx
.Ltmp64:
        .cv_inline_site_id 30 within 22 inlined_at 3 502 0
# BurstString.cs(694, 1)            int scale = number.Scale;
        mov               eax, dword ptr [r9 + 16]
# BurstString.cs(699, 1)            if (digPos > nMaxDigits || digPos < -3)
        cmp               eax, r11d
        setle             r10b
        cmp               eax, -3
        setge             dl
        and               dl, r10b
        mov               r15d, 1
        mov               edi, 1
        cmovne            edi, eax
.Ltmp65:
        .cv_inline_site_id 31 within 30 inlined_at 3 705 0
# BurstString.cs(924, 1)            public byte* GetDigitsPointer() => _buffer;
        mov               r10, qword ptr [r9]
.Ltmp66:
# BurstString.cs(707, 1)            if (number.IsNegative)
        movzx             r12d, byte ptr [r9 + 20]
        xor               ebx, ebx
        test              r12b, r12b
        setne             r13b
# BurstString.cs(712, 1)            if (digPos > 0)
        test              edi, edi
        jle               .LBB9_71
# BurstString.cs(721, 1)                } while (--digPos > 0);
        mov               bl, r13b
        lea               r15d, [rdi + 1]
        .p2align        4, 0x90
.LBB9_51:
# BurstString.cs(716, 1)                    if (*dig != 0)
        cmp               byte ptr [r10], 1
        sbb               r10, -1
# BurstString.cs(721, 1)                } while (--digPos > 0);
        dec               r15d
        cmp               r15d, 1
        ja                .LBB9_51
        add               edi, ebx
        xor               ebx, ebx
        mov               r15d, edi
# BurstString.cs(728, 1)            if (*dig != 0 || digPos < 0)
        movzx             edi, byte ptr [r10]
        test              ebx, ebx
        jns               .LBB9_54
        jmp               .LBB9_55
.LBB9_71:
# BurstString.cs(725, 1)                length++;
        cmp               r12b, 1
        sbb               r15d, -1
        mov               ebx, eax
# BurstString.cs(728, 1)            if (*dig != 0 || digPos < 0)
        movzx             edi, byte ptr [r10]
        test              ebx, ebx
        js                .LBB9_55
.LBB9_54:
        test              dil, dil
        je                .LBB9_58
.LBB9_55:
# BurstString.cs(732, 1)                while (digPos < 0)
        mov               r12d, ebx
        sar               r12d, 31
        andn              r12d, r12d, ebx
        sub               r12d, ebx
# BurstString.cs(728, 1)            if (*dig != 0 || digPos < 0)
        test              dil, dil
# BurstString.cs(732, 1)                while (digPos < 0)
        lea               r15d, [r12 + r15 + 1]
# BurstString.cs(738, 1)                while (*dig != 0)
        je                .LBB9_58
        inc               r10
        .p2align        4, 0x90
.LBB9_57:
# BurstString.cs(740, 1)                    length++; // *dig++;
        inc               r15d
# BurstString.cs(738, 1)                while (*dig != 0)
        cmp               byte ptr [r10], 0
        lea               r10, [r10 + 1]
        jne               .LBB9_57
.LBB9_58:
# BurstString.cs(745, 1)            if (scientific)
        test              dl, dl
        jne               .LBB9_62
# BurstString.cs(748, 1)                int exponent = number.Scale - 1;
        dec               eax
# BurstString.cs(750, 1)                length += GetLengthIntegerToString(exponent, 10, 2);
        movsxd            rdi, eax
        xor               ebx, ebx
        movabs            r12, 7378697629483820647
        mov               r10, rdi
        .p2align        4, 0x90
.LBB9_60:
.Ltmp67:
        .cv_inline_site_id 32 within 30 inlined_at 3 750 0
# BurstString.cs(407, 1)                tmp /= basis;
        mov               rax, r10
        imul              r12
        mov               rax, rdx
        shr               rax, 63
        sar               rdx, 2
        add               rdx, rax
# BurstString.cs(408, 1)                length++;
        inc               ebx
# BurstString.cs(409, 1)            } while (tmp != 0);
        add               r10, 9
        cmp               r10, 18
        mov               r10, rdx
        ja                .LBB9_60
.Ltmp68:
# BurstString.cs(749, 1)                if (exponent >= 0) length++;
        mov               eax, edi
        sar               eax, 31
.Ltmp69:
# BurstString.cs(416, 1)            if (value < 0) length++;
        shr               rdi, 63
.Ltmp70:
# BurstString.cs(749, 1)                if (exponent >= 0) length++;
        add               edi, eax
.Ltmp71:
# BurstString.cs(411, 1)            if (length < zeroPadding)
        cmp               ebx, 3
        mov               eax, 2
        cmovge            eax, ebx
# BurstString.cs(416, 1)            if (value < 0) length++;
        add               edi, r15d
.Ltmp72:
# BurstString.cs(750, 1)                length += GetLengthIntegerToString(exponent, 10, 2);
        lea               r15d, [rax + rdi + 2]
.Ltmp73:
.LBB9_62:
# BurstString.cs(505, 1)                    if (AlignLeft(dest, ref destIndex, destLength, options.AlignAndSize, length)) return;
        movsx             r12d, r14b
.Ltmp74:
        .cv_inline_site_id 33 within 22 inlined_at 3 505 0
# BurstString.cs(677, 1)            if (align > 0)
        test              r12b, r12b
        jle               .LBB9_64
        mov               eax, r12d
        sub               eax, r15d
        jle               .LBB9_64
        .p2align        4, 0x90
.LBB9_68:
# BurstString.cs(681, 1)                    if (destIndex >= destLength) return true;
        movsxd            rdx, dword ptr [rsi]
        cmp               edx, r8d
        jge               .LBB9_34
# BurstString.cs(682, 1)                    dest[destIndex++] = (byte)' ';
        lea               r10d, [rdx + 1]
        mov               dword ptr [rsi], r10d
        mov               byte ptr [rcx + rdx], 32
# BurstString.cs(679, 1)                while (length < align)
        dec               eax
        jne               .LBB9_68
.Ltmp75:
.LBB9_64:
        .cv_inline_site_id 34 within 22 inlined_at 3 508 0
# BurstString.cs(971, 1)            public bool Uppercase => !Lowercase;
        cmp               byte ptr [rbp + 144], 0
        setne             al
.Ltmp76:
# BurstString.cs(508, 1)                    FormatGeneral(dest, ref destIndex, destLength, ref number, nMaxDigits, options.Uppercase ? (byte)'E' : (byte)'e');
        shl               al, 5
        or                al, 69
        mov               dword ptr [rsp + 32], r11d
        mov               byte ptr [rsp + 40], al
        mov               rdi, rcx
        mov               rdx, rsi
        mov               ebx, r8d
        call              "Unity.Burst.BurstString, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.FormatGeneral(System.Byte*, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dest, System.Int32&, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destIndex, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 destLength, Unity.Burst.BurstString+NumberBuffer&, Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null number, System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 nMaxDigits, System.Byte, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 expChar) -> System.Void, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089_da92dddaad5de6dad0a7261bc3708b9a from Unity.Burst, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null@@48"
.Ltmp77:
        .cv_inline_site_id 35 within 22 inlined_at 3 511 0
# BurstString.cs(665, 1)            if (align < 0)
        test              r14b, r14b
        jns               .LBB9_34
# BurstString.cs(667, 1)                align = -align;
        mov               eax, r12d
        neg               eax
        cmp               r15d, eax
.Ltmp78:
        .cv_inline_site_id 36 within 35 inlined_at 3 668 0
# BurstString.cs(677, 1)            if (align > 0)
        jge               .LBB9_34
# BurstString.cs(681, 1)                    if (destIndex >= destLength) return true;
        add               r15d, r12d
        neg               r15d
        .p2align        4, 0x90
.LBB9_70:
        movsxd            rax, dword ptr [rsi]
        cmp               eax, ebx
        jge               .LBB9_34
# BurstString.cs(682, 1)                    dest[destIndex++] = (byte)' ';
        lea               ecx, [rax + 1]
        mov               dword ptr [rsi], ecx
        mov               byte ptr [rdi + rax], 32
# BurstString.cs(679, 1)                while (length < align)
        dec               r15d
        jne               .LBB9_70
.Ltmp79:
.LBB9_34:
# BurstString.cs(514, 1)        }
        add               rsp, 56
        pop               rbx
        pop               rdi
        pop               rsi
        pop               r12
        pop               r13
        pop               r14
        pop               r15
        pop               rbp
        ret
.Ltmp80: ...
burst.memcpy.inline.AVX2.i64@@32:
.Lfunc_begin10:
        cmp               r8, 32
        jb                .LBB10_1
        xor               r9d, r9d
        .p2align        4, 0x90
.LBB10_3:
        lea               rax, [r9 + 32]
        vmovups           ymm0, ymmword ptr [rdx + r9]
        vmovups           ymmword ptr [rcx + r9], ymm0
        add               r9, 64
        cmp               r8, r9
        mov               r9, rax
        jae               .LBB10_3
        lea               r9, [rax + 1]
        cmp               r8, r9
        jb                .LBB10_6
        .p2align        4, 0x90
.LBB10_5:
        lea               r9, [rax + 1]
        movzx             r10d, byte ptr [rdx + rax]
        mov               byte ptr [rcx + rax], r10b
        add               rax, 2
        cmp               r8, rax
        mov               rax, r9
        jae               .LBB10_5
.LBB10_6:
        vzeroupper
        ret
.LBB10_1:
        xor               eax, eax
        lea               r9, [rax + 1]
        cmp               r8, r9
        jae               .LBB10_5
        jmp               .LBB10_6
.Lfunc_end10:

        .def        burst.memset.inline.AVX2.i32@@32;
        .scl        2;
        .type        32;
        .endef
        .section        .text,"xr",discard,burst.memset.inline.AVX2.i32@@32
        .globl        burst.memset.inline.AVX2.i32@@32
        .p2align        4, 0x90
burst.memset.inline.AVX2.i32@@32:
.Lfunc_begin11:
        xor               eax, eax
        cmp               r8d, 32
        jb                .LBB11_3
        xor               eax, eax
        vmovd             xmm0, edx
        vpbroadcastb        ymm0, xmm0
        .p2align        4, 0x90
.LBB11_2:
        movsxd            r9, eax
        add               eax, 32
        vmovdqu           ymmword ptr [rcx + r9], ymm0
        add               r9d, 64
        cmp               r8d, r9d
        jae               .LBB11_2
.LBB11_3:
        lea               r9d, [rax + 1]
        cmp               r8d, r9d
        jb                .LBB11_5
        .p2align        4, 0x90
.LBB11_4:
        movsxd            r9, eax
        inc               eax
        mov               byte ptr [rcx + r9], dl
        add               r9d, 2
        cmp               r8d, r9d
        jae               .LBB11_4
.LBB11_5:
        vzeroupper
        ret
.Lfunc_end11:

        .section        .drectve,"yni"
        .ascii        " /EXPORT:224810fa5487ddaae43e49f67759012d"
        .ascii        " /EXPORT:\"burst.initialize\""
        .ascii        " /EXPORT:\"burst.initialize.externals\""
        .ascii        " /EXPORT:\"burst.initialize.statics\""
        .section        .debug$S,"dr"
        .p2align        2, 0x0
        .long        4
        .long        241
        .long        .Ltmp82-.Ltmp81
Editor is loading...
Leave a Comment