Форум
Компьютерные священные войны
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, Sinclair, Вы писали: S>Здравствуйте, vdimas, Вы писали: V>>Здравствуйте, Sinclair, Вы писали: V>>Вариант на FindChildV, который немного подшаманил. S>Тоже не лучше - много вызовов в this[int]: S>[asm] S>BranchNode`2[[BranchNode`2[[LeafNode`1[[System.Int32, System.Private.CoreLib]], _],[System.Int32, System.Private.CoreLib]], _],[System.Int32, System.Private.CoreLib]].get_Item(Int32) S> L0000: push rdi S> L0001: push rsi S> L0002: sub rsp, 0x78 S> L0006: vzeroupper S> L0009: vmovaps [rsp+0x60], xmm6 S> L000f: vmovaps [rsp+0x50], xmm7 S> L0015: xor eax, eax S> L0017: mov [rsp+0x28], rax S> L001c: vxorps xmm4, xmm4, xmm4 S> L0020: vmovdqa [rsp+0x30], xmm4 S> L0026: vmovdqa [rsp+0x40], xmm4 S> L002c: mov rsi, rcx S> L002f: mov [rsp+0x38], edx S> L0033: vmovd xmm0, [rsp+0x38] S> L0039: vpbroadcastd ymm6, xmm0 S> L003e: xor edi, edi S> L0040: lea rdx, [rsp+0x28] S> L0045: mov rcx, rsi S> L0048: vextractf128 xmm7, ymm6, 1 S> L004e: call BranchNode`2[[BranchNode`2[[LeafNode`1[[System.Int32, System.Private.CoreLib]], _],[System.Int32, System.Private.CoreLib]], _],[System.Int32, System.Private.CoreLib]].get_VectorIndices() S> L0053: xor r8d, r8d S> L0056: cmp dword ptr [rsp+0x30], 0 S> L005b: vinsertf128 ymm6, ymm6, xmm7, 1 S> L0061: jle short L00a4 S> L0063: mov r9, [rsp+0x28] S> L0068: movsxd rcx, r8d S> L006b: shl rcx, 5 S> L006f: vmovupd ymm0, [r9+rcx] S> L0075: vpcmpgtd ymm0, ymm0, ymm6 S> L0079: vmovmskps r9d, ymm0 S> L007d: or r9d, 0xffffff00 S> L0084: tzcnt r9d, r9d S> L0089: lea eax, [rdi+r9] S> L008d: cmp eax, [rsi] S> L008f: jge short L00be S> L0091: cmp r9d, 8 S> L0095: jl short L00d8 S> L0097: add edi, 8 S> L009a: inc r8d S> L009d: cmp r8d, [rsp+0x30] S> L00a2: jl short L0063 S> L00a4: mov r8d, [rsi] S> L00a7: dec r8d S> L00aa: lea r9, [rsp+0x38] S> L00af: lea rcx, [rsp+0x40] S> L00b4: mov rdx, rsi S> L00b7: call BranchNode`2[[BranchNode`2[[LeafNode`1[[System.Int32, System.Private.CoreLib]], _],[System.Int32, System.Private.CoreLib]], _],[System.Int32, System.Private.CoreLib]].<FindChildV>g__Return|14_0(BranchNode`2<BranchNode`2<LeafNode`1<Int32>,Int32>,Int32> ByRef, Int32, <>c__DisplayClass14_0<BranchNode`2<LeafNode`1<Int32>,Int32>,Int32> ByRef) S> L00bc: jmp short L00ed S> L00be: mov r8d, [rsi] S> L00c1: dec r8d S> L00c4: lea r9, [rsp+0x38] S> L00c9: lea rcx, [rsp+0x40] S> L00ce: mov rdx, rsi S> L00d1: call BranchNode`2[[BranchNode`2[[LeafNode`1[[System.Int32, System.Private.CoreLib]], _],[System.Int32, System.Private.CoreLib]], _],[System.Int32, System.Private.CoreLib]].<FindChildV>g__Return|14_0(BranchNode`2<BranchNode`2<LeafNode`1<Int32>,Int32>,Int32> ByRef, Int32, <>c__DisplayClass14_0<BranchNode`2<LeafNode`1<Int32>,Int32>,Int32> ByRef) S> L00d6: jmp short L00ed S> L00d8: lea rcx, [rsp+0x40] S> L00dd: lea r9, [rsp+0x38] S> L00e2: mov rdx, rsi S> L00e5: mov r8d, eax S> L00e8: call BranchNode`2[[BranchNode`2[[LeafNode`1[[System.Int32, System.Private.CoreLib]], _],[System.Int32, System.Private.CoreLib]], _],[System.Int32, System.Private.CoreLib]].<FindChildV>g__Return|14_0(BranchNode`2<BranchNode`2<LeafNode`1<Int32>,Int32>,Int32> ByRef, Int32, <>c__DisplayClass14_0<BranchNode`2<LeafNode`1<Int32>,Int32>,Int32> ByRef) S> L00ed: mov rcx, [rsp+0x40] S> L00f2: mov edx, [rsp+0x48] S> L00f6: cmp [rcx], ecx S> L00f8: add rcx, 8 S> L00fc: call BranchNode`2[[LeafNode`1[[System.Int32, System.Private.CoreLib]], _],[System.Int32, System.Private.CoreLib]].get_Item(Int32) S> L0101: nop S> L0102: vmovaps xmm6, [rsp+0x60] S> L0108: vmovaps xmm7, [rsp+0x50] S> L010e: vzeroupper S> L0111: add rsp, 0x78 S> L0115: pop rsi S> L0116: pop rdi S> L0117: ret S>[/asm]
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …