Function index_many::_doc_assembly::result_kind[][src]

pub unsafe fn result_kind(
    slice: &mut [Elem],
    indices: [usize; 3]
) -> Result<[&mut Elem; 3], GetManyErrorKind>
Expand description

Body: { simple_result::get_many_mut(slice, indices).map_err(|e| e.kind()) }

Assembly (x86_64)

codegen_crate::result_kind:
 sub     rsp, 40
 mov     rax, rcx
 mov     rcx, qword, ptr, [r9]
 mov     r10, qword, ptr, [r9, +, 8]
 mov     r9, qword, ptr, [r9, +, 16]
 cmp     r9, r8
 jae     .LBB0_4
 cmp     rcx, r10
 jae     .LBB0_4
 cmp     r10, r9
 jae     .LBB0_4
 lea     rcx, [rdx, +, 8*rcx]
 lea     r8, [rdx, +, 8*r10]
 lea     rdx, [rdx, +, 8*r9]
 mov     qword, ptr, [rax, +, 8], rcx
 mov     qword, ptr, [rax, +, 16], r8
 mov     qword, ptr, [rax, +, 24], rdx
 xor     ecx, ecx
 mov     qword, ptr, [rax], rcx
 add     rsp, 40
 ret
.LBB0_4:
 cmp     rcx, r10
 jne     .LBB0_9
 xor     edx, edx
.LBB0_6:
 lea     r10, [rdx, +, 1]
 mov     ecx, 2
 jmp     .LBB0_12
.LBB0_9:
 cmp     rcx, r10
 jbe     .LBB0_17
 xor     edx, edx
.LBB0_11:
 lea     r10, [rdx, +, 1]
 mov     ecx, 1
.LBB0_12:
 mov     qword, ptr, [rax, +, 8], rcx
 mov     qword, ptr, [rax, +, 16], rdx
 mov     qword, ptr, [rax, +, 24], r10
 mov     qword, ptr, [rax, +, 32], r8
 mov     ecx, 1
 mov     qword, ptr, [rax], rcx
 add     rsp, 40
 ret
.LBB0_17:
 mov     edx, 1
 cmp     r10, r9
 je      .LBB0_6
 mov     edx, 1
 ja      .LBB0_11
 cmp     rcx, r8
 jae     .LBB0_8
 cmp     r10, r8
 mov     edx, 2
 adc     rdx, -1
 xor     ecx, ecx
 cmp     r10, r8
 cmovb   r10, r9
 jae     .LBB0_12
 cmp     r9, r8
 jae     .LBB0_12
 lea     rcx, [rip, +, __unnamed_1]
 lea     r8, [rip, +, __unnamed_2]
 mov     edx, 40
 call    core::panicking::panic
 ud2
.LBB0_8:
 xor     edx, edx
 mov     r10, rcx
 xor     ecx, ecx
 jmp     .LBB0_12