Ignored vs Assumed Semantics in BDE

BloombergLP::bdlb::String::strstrCaseless(char const*, int, char const*, int) - Ignored

000000000040d2d0 <BloombergLP::bdlb::String::strstrCaseless(char const*, int, char const*, int)>:
M0000000000000000:	pushq	%rbx	;  1 bytes
M0000000000000001:	movq	%rdi, %rax	;  3 bytes
M0000000000000004:	testl	%ecx, %ecx	;  2 bytes
M0000000000000006:	je	0x40d362 <BloombergLP::bdlb::String::strstrCaseless(char const*, int, char const*, int)+0x92>	;  6 bytes
M000000000000000c:	cmpl	%ecx, %esi	;  2 bytes
M000000000000000e:	jl	0x40d360 <BloombergLP::bdlb::String::strstrCaseless(char const*, int, char const*, int)+0x90>	;  6 bytes
M0000000000000014:	movslq	%esi, %r9	;  3 bytes
M0000000000000017:	addq	%rax, %r9	;  3 bytes
M000000000000001a:	movslq	%ecx, %r8	;  3 bytes
M000000000000001d:	subq	%r8, %r9	;  3 bytes
M0000000000000020:	xorl	%esi, %esi	;  2 bytes
M0000000000000022:	cmpq	%rax, %r9	;  3 bytes
M0000000000000025:	jb	0x40d360 <BloombergLP::bdlb::String::strstrCaseless(char const*, int, char const*, int)+0x90>	;  2 bytes
M0000000000000027:	movq	172322(%rip), %r10  # 437420 <BloombergLP::bdlb::CharType::s_toLower_p>	;  7 bytes
M000000000000002e:	testl	%ecx, %ecx	;  2 bytes
M0000000000000030:	cmovsl	%esi, %ecx	;  3 bytes
M0000000000000033:	movq	%rcx, %r11	;  3 bytes
M0000000000000036:	negq	%r11	;  3 bytes
M0000000000000039:	nopl	(%rax)	;  7 bytes
M0000000000000040:	movq	$-1, %rdi	;  7 bytes
M0000000000000047:	nopw	(%rax,%rax)	;  9 bytes
M0000000000000050:	leaq	(%r11,%rdi), %rsi	;  4 bytes
M0000000000000054:	cmpq	$-1, %rsi	;  4 bytes
M0000000000000058:	je	0x40d350 <BloombergLP::bdlb::String::strstrCaseless(char const*, int, char const*, int)+0x80>	;  2 bytes
M000000000000005a:	movzbl	1(%rax,%rdi), %esi	;  5 bytes
M000000000000005f:	movzbl	(%r10,%rsi), %esi	;  5 bytes
M0000000000000064:	movzbl	1(%rdx,%rdi), %ebx	;  5 bytes
M0000000000000069:	incq	%rdi	;  3 bytes
M000000000000006c:	cmpb	(%r10,%rbx), %sil	;  4 bytes
M0000000000000070:	je	0x40d320 <BloombergLP::bdlb::String::strstrCaseless(char const*, int, char const*, int)+0x50>	;  2 bytes
M0000000000000072:	jmp	0x40d353 <BloombergLP::bdlb::String::strstrCaseless(char const*, int, char const*, int)+0x83>	;  2 bytes
M0000000000000074:	nopw	%cs:(%rax,%rax)	; 10 bytes
M000000000000007e:	nop		;  2 bytes
M0000000000000080:	movq	%rcx, %rdi	;  3 bytes
M0000000000000083:	cmpq	%r8, %rdi	;  3 bytes
M0000000000000086:	jge	0x40d362 <BloombergLP::bdlb::String::strstrCaseless(char const*, int, char const*, int)+0x92>	;  2 bytes
M0000000000000088:	incq	%rax	;  3 bytes
M000000000000008b:	cmpq	%r9, %rax	;  3 bytes
M000000000000008e:	jbe	0x40d310 <BloombergLP::bdlb::String::strstrCaseless(char const*, int, char const*, int)+0x40>	;  2 bytes
M0000000000000090:	xorl	%eax, %eax	;  2 bytes
M0000000000000092:	popq	%rbx	;  1 bytes
M0000000000000093:	retq		;  1 bytes
M0000000000000094:	nopw	%cs:(%rax,%rax)	; 10 bytes
M000000000000009e:	nop		;  2 bytes