tracing my own simple C program Breakpoint 1, __wcslen_sse2 () at ../sysdeps/i386/i686/multiarch/wcslen-sse2.S:27 27 mov STR(%esp), %edx 0x8048550: U"Spectate" eax 0x8048550 134514000 29 cmp $0, (%edx) 30 jz L(exit_tail0) 31 cmp $0, 4(%edx) 32 jz L(exit_tail1) 33 cmp $0, 8(%edx) 34 jz L(exit_tail2) 35 cmp $0, 12(%edx) 36 jz L(exit_tail3) 37 cmp $0, 16(%edx) 38 jz L(exit_tail4) 39 cmp $0, 20(%edx) 40 jz L(exit_tail5) 41 cmp $0, 24(%edx) 42 jz L(exit_tail6) 43 cmp $0, 28(%edx) 44 jz L(exit_tail7) 46 pxor %xmm0, %xmm0 48 lea 32(%edx), %eax 49 lea 16(%edx), %ecx 50 and $-16, %eax 52 pcmpeqd (%eax), %xmm0 53 pmovmskb %xmm0, %edx 54 pxor %xmm1, %xmm1 55 test %edx, %edx edx 0xf 15 56 lea 16(%eax), %eax 57 jnz L(exit) 125 sub %ecx, %eax 126 shr $2, %eax 127 test %dl, %dl eax 0x8 8 edx 0xf 15 128 jz L(exit_high) 130 mov %dl, %cl 131 and $15, %cl 132 jz L(exit_1) 133 ret eax 0x8 8 edx 0xf 15