(gdb) disass $pc-32,$pc+32 Dump of assembler code for function memmove$VARIANT$sse42: 0x00007fff94b13cbd : push %rbp 0x00007fff94b13cbe : mov %rsp,%rbp 0x00007fff94b13cc1 : mov %rdi,%r11 0x00007fff94b13cc4 : mov %rdi,%rax 0x00007fff94b13cc7 : sub %rsi,%rax 0x00007fff94b13cca : cmp %rdx,%rax 0x00007fff94b13ccd : jb 0x7fff94b13d04 0x00007fff94b13ccf : cmp $0x50,%rdx 0x00007fff94b13cd3 : ja 0x7fff94b13d09 0x00007fff94b13cd5 : mov %edx,%ecx 0x00007fff94b13cd7 : shr $0x2,%ecx 0x00007fff94b13cda : je 0x7fff94b13cec 0x00007fff94b13cdc : mov (%rsi),%eax 0x00007fff94b13cde : add $0x4,%rsi 0x00007fff94b13ce2 : mov %eax,(%rdi) 0x00007fff94b13ce4 : add $0x4,%rdi 0x00007fff94b13ce8 : dec %ecx 0x00007fff94b13cea : jne 0x7fff94b13cdc 0x00007fff94b13cec : and $0x3,%edx 0x00007fff94b13cef : je 0x7fff94b13cff 0x00007fff94b13cf1 : mov (%rsi),%al 0x00007fff94b13cf3 : inc %rsi 0x00007fff94b13cf6 : mov %al,(%rdi) 0x00007fff94b13cf8 : inc %rdi 0x00007fff94b13cfb : dec %edx 0x00007fff94b13cfd : jne 0x7fff94b13cf1 0x00007fff94b13cff : mov %r11,%rax 0x00007fff94b13d02 : pop %rbp 0x00007fff94b13d03 : retq 0x00007fff94b13d04 : jmpq 0x7fff94b13db9 0x00007fff94b13d09 : mov %edi,%ecx 0x00007fff94b13d0b : neg %ecx 0x00007fff94b13d0d : and $0xf,%ecx 0x00007fff94b13d10 : je 0x7fff94b13d22 0x00007fff94b13d12 : sub %ecx,%edx 0x00007fff94b13d14 : mov (%rsi),%al 0x00007fff94b13d16 : inc %rsi 0x00007fff94b13d19 : mov %al,(%rdi) 0x00007fff94b13d1b : inc %rdi 0x00007fff94b13d1e : dec %ecx 0x00007fff94b13d20 : jne 0x7fff94b13d14 0x00007fff94b13d22 : mov %rdx,%rcx ---Type to continue, or q to quit--- 0x00007fff94b13d25 : and $0x3f,%edx 0x00007fff94b13d28 : and $0xffffffffffffffc0,%rcx 0x00007fff94b13d2c : add %rcx,%rsi 0x00007fff94b13d2f : add %rcx,%rdi 0x00007fff94b13d32 : neg %rcx 0x00007fff94b13d35 : test $0xf,%esi 0x00007fff94b13d3b : jne 0x7fff94b13d80 0x00007fff94b13d3d : jmp 0x7fff94b13d40 0x00007fff94b13d3f : nop 0x00007fff94b13d40 : movdqa (%rsi,%rcx,1),%xmm0 0x00007fff94b13d45 : movdqa 0x10(%rsi,%rcx,1),%xmm1 0x00007fff94b13d4b : movdqa 0x20(%rsi,%rcx,1),%xmm2 0x00007fff94b13d51 : movdqa 0x30(%rsi,%rcx,1),%xmm3 0x00007fff94b13d57 : movdqa %xmm0,(%rdi,%rcx,1) 0x00007fff94b13d5c : movdqa %xmm1,0x10(%rdi,%rcx,1) 0x00007fff94b13d62 : movdqa %xmm2,0x20(%rdi,%rcx,1) 0x00007fff94b13d68 : movdqa %xmm3,0x30(%rdi,%rcx,1) 0x00007fff94b13d6e : add $0x40,%rcx 0x00007fff94b13d72 : jne 0x7fff94b13d40 0x00007fff94b13d74 : jmpq 0x7fff94b13cd5 0x00007fff94b13d79 : nopl 0x0(%rax) 0x00007fff94b13d80 : movdqu (%rsi,%rcx,1),%xmm0 0x00007fff94b13d85 : movdqu 0x10(%rsi,%rcx,1),%xmm1 0x00007fff94b13d8b : movdqu 0x20(%rsi,%rcx,1),%xmm2 0x00007fff94b13d91 : movdqu 0x30(%rsi,%rcx,1),%xmm3 0x00007fff94b13d97 : movdqa %xmm0,(%rdi,%rcx,1) 0x00007fff94b13d9c : movdqa %xmm1,0x10(%rdi,%rcx,1) 0x00007fff94b13da2 : movdqa %xmm2,0x20(%rdi,%rcx,1) 0x00007fff94b13da8 : movdqa %xmm3,0x30(%rdi,%rcx,1) 0x00007fff94b13dae : add $0x40,%rcx 0x00007fff94b13db2 : jne 0x7fff94b13d80 0x00007fff94b13db4 : jmpq 0x7fff94b13cd5 0x00007fff94b13db9 : add %rdx,%rsi 0x00007fff94b13dbc : add %rdx,%rdi 0x00007fff94b13dbf : cmp $0x50,%rdx 0x00007fff94b13dc3 : ja 0x7fff94b13df6 0x00007fff94b13dc5 : mov %edx,%ecx 0x00007fff94b13dc7 : shr $0x3,%ecx 0x00007fff94b13dca : je 0x7fff94b13dde 0x00007fff94b13dcc : sub $0x8,%rsi 0x00007fff94b13dd0 : mov (%rsi),%rax 0x00007fff94b13dd3 : sub $0x8,%rdi 0x00007fff94b13dd7 : mov %rax,(%rdi) ---Type to continue, or q to quit--- 0x00007fff94b13dda : dec %ecx 0x00007fff94b13ddc : jne 0x7fff94b13dcc 0x00007fff94b13dde : and $0x7,%edx 0x00007fff94b13de1 : je 0x7fff94b13df1 0x00007fff94b13de3 : dec %rsi 0x00007fff94b13de6 : mov (%rsi),%al 0x00007fff94b13de8 : dec %rdi 0x00007fff94b13deb : mov %al,(%rdi) 0x00007fff94b13ded : dec %edx 0x00007fff94b13def : jne 0x7fff94b13de3 0x00007fff94b13df1 : mov %r11,%rax 0x00007fff94b13df4 : pop %rbp 0x00007fff94b13df5 : retq 0x00007fff94b13df6 : mov %edi,%ecx 0x00007fff94b13df8 : and $0xf,%ecx 0x00007fff94b13dfb : je 0x7fff94b13e0e 0x00007fff94b13dfd : sub %rcx,%rdx 0x00007fff94b13e00 : dec %rsi 0x00007fff94b13e03 : mov (%rsi),%al 0x00007fff94b13e05 : dec %rdi 0x00007fff94b13e08 : mov %al,(%rdi) 0x00007fff94b13e0a : dec %ecx 0x00007fff94b13e0c : jne 0x7fff94b13e00 0x00007fff94b13e0e : mov %rdx,%rcx 0x00007fff94b13e11 : and $0x3f,%edx 0x00007fff94b13e14 : and $0xffffffffffffffc0,%rcx 0x00007fff94b13e18 : sub %rcx,%rsi 0x00007fff94b13e1b : sub %rcx,%rdi 0x00007fff94b13e1e : test $0xf,%esi 0x00007fff94b13e24 : jne 0x7fff94b13e61 0x00007fff94b13e26 : movdqa -0x10(%rsi,%rcx,1),%xmm0 0x00007fff94b13e2c : movdqa -0x20(%rsi,%rcx,1),%xmm1 0x00007fff94b13e32 : movdqa -0x30(%rsi,%rcx,1),%xmm2 0x00007fff94b13e38 : movdqa -0x40(%rsi,%rcx,1),%xmm3 0x00007fff94b13e3e : movdqa %xmm0,-0x10(%rdi,%rcx,1) 0x00007fff94b13e44 : movdqa %xmm1,-0x20(%rdi,%rcx,1) 0x00007fff94b13e4a : movdqa %xmm2,-0x30(%rdi,%rcx,1) 0x00007fff94b13e50 : movdqa %xmm3,-0x40(%rdi,%rcx,1) 0x00007fff94b13e56 : sub $0x40,%rcx 0x00007fff94b13e5a : jne 0x7fff94b13e26 0x00007fff94b13e5c : jmpq 0x7fff94b13dc5 0x00007fff94b13e61 : movdqu -0x10(%rsi,%rcx,1),%xmm0 0x00007fff94b13e67 : movdqu -0x20(%rsi,%rcx,1),%xmm1 ---Type to continue, or q to quit--- 0x00007fff94b13e6d : movdqu -0x30(%rsi,%rcx,1),%xmm2 0x00007fff94b13e73 : movdqu -0x40(%rsi,%rcx,1),%xmm3 0x00007fff94b13e79 : movdqa %xmm0,-0x10(%rdi,%rcx,1) 0x00007fff94b13e7f : movdqa %xmm1,-0x20(%rdi,%rcx,1) 0x00007fff94b13e85 : movdqa %xmm2,-0x30(%rdi,%rcx,1) 0x00007fff94b13e8b : movdqa %xmm3,-0x40(%rdi,%rcx,1) 0x00007fff94b13e91 : sub $0x40,%rcx 0x00007fff94b13e95 : jne 0x7fff94b13e61 0x00007fff94b13e97 : jmpq 0x7fff94b13dc5 0x00007fff94b13e9c : nop 0x00007fff94b13e9d : nop 0x00007fff94b13e9e : nop 0x00007fff94b13e9f : nop End of assembler dump.