Untitled
unknown
plain_text
2 years ago
2.4 kB
4
Indexable
strlen_avx2: # @strlen_avx2 pushq %rbp movq %rsp, %rbp andq $-32, %rsp subq $320, %rsp # imm = 0x140 movq %rdi, 112(%rsp) vxorps %xmm0, %xmm0, %xmm0 vmovaps %ymm0, 128(%rsp) vmovdqa 128(%rsp), %ymm0 vmovdqa %ymm0, 64(%rsp) movq 112(%rsp), %rax movq %rax, 48(%rsp) .LBB0_1: # =>This Inner Loop Header: Depth=1 movq 48(%rsp), %rax andq $31, %rax cmpq $0, %rax je .LBB0_6 movq 48(%rsp), %rax movsbl (%rax), %eax cmpl $0, %eax jne .LBB0_4 movq 48(%rsp), %rax movq 112(%rsp), %rcx subq %rcx, %rax movq %rax, 120(%rsp) jmp .LBB0_11 .LBB0_4: # in Loop: Header=BB0_1 Depth=1 jmp .LBB0_5 .LBB0_5: # in Loop: Header=BB0_1 Depth=1 movq 48(%rsp), %rax addq $1, %rax movq %rax, 48(%rsp) jmp .LBB0_1 .LBB0_6: movq 48(%rsp), %rax movq %rax, 56(%rsp) .LBB0_7: # =>This Inner Loop Header: Depth=1 movq 56(%rsp), %rax movq %rax, 184(%rsp) movq 184(%rsp), %rax vmovaps (%rax), %ymm0 vmovaps %ymm0, (%rsp) vmovaps (%rsp), %ymm1 vmovaps 64(%rsp), %ymm0 vmovaps %ymm1, 256(%rsp) vmovaps %ymm0, 224(%rsp) vmovaps 256(%rsp), %ymm0 vmovaps 224(%rsp), %ymm1 vpcmpeqb %ymm1, %ymm0, %ymm0 vmovdqa %ymm0, 192(%rsp) vmovdqa 192(%rsp), %ymm0 vpmovmskb %ymm0, %eax movl %eax, 44(%rsp) cmpl $0, 44(%rsp) je .LBB0_9 jmp .LBB0_10 .LBB0_9: # in Loop: Header=BB0_7 Depth=1 movq 56(%rsp), %rax addq $32, %rax movq %rax, 56(%rsp) jmp .LBB0_7 .LBB0_10: movq 56(%rsp), %rax movq 112(%rsp), %rcx subq %rcx, %rax movl 44(%rsp), %ecx bsfl %ecx, %ecx movslq %ecx, %rcx addq %rcx, %rax movq %rax, 120(%rsp) .LBB0_11: movq 120(%rsp), %rax movq %rbp, %rsp popq %rbp vzeroupper retq
Editor is loading...