Ignored vs Assumed Semantics in BDE

BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&) - Assumed

0000000000477a20 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)>:
M0000000000000000:	pushq	%rbp	;  1 bytes
M0000000000000001:	pushq	%r15	;  2 bytes
M0000000000000003:	pushq	%r14	;  2 bytes
M0000000000000005:	pushq	%r13	;  2 bytes
M0000000000000007:	pushq	%r12	;  2 bytes
M0000000000000009:	pushq	%rbx	;  1 bytes
M000000000000000a:	subq	$104, %rsp	;  4 bytes
M000000000000000e:	movq	%r8, %r14	;  3 bytes
M0000000000000011:	movq	%rcx, %r12	;  3 bytes
M0000000000000014:	movq	%rdx, %r13	;  3 bytes
M0000000000000017:	movl	%esi, %r15d	;  3 bytes
M000000000000001a:	movq	%rdi, %rbp	;  3 bytes
M000000000000001d:	movq	%rdx, %rdi	;  3 bytes
M0000000000000020:	movq	%rcx, %rsi	;  3 bytes
M0000000000000023:	callq	0x4a2490 <__bid128_class>	;  5 bytes
M0000000000000028:	cltq		;  2 bytes
M000000000000002a:	movl	5284112(,%rax,4), %eax	;  7 bytes
M0000000000000031:	testq	%r12, %r12	;  3 bytes
M0000000000000034:	js	0x477a64 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x44>	;  2 bytes
M0000000000000036:	cmpl	$0, 8(%r14)	;  5 bytes
M000000000000003b:	je	0x477a72 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x52>	;  2 bytes
M000000000000003d:	movb	$43, 15(%rsp)	;  5 bytes
M0000000000000042:	jmp	0x477a69 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x49>	;  2 bytes
M0000000000000044:	movb	$45, 15(%rsp)	;  5 bytes
M0000000000000049:	movl	$1, %esi	;  5 bytes
M000000000000004e:	movb	$1, %dl	;  2 bytes
M0000000000000050:	jmp	0x477a7b <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x5b>	;  2 bytes
M0000000000000052:	movb	$43, 15(%rsp)	;  5 bytes
M0000000000000057:	xorl	%edx, %edx	;  2 bytes
M0000000000000059:	xorl	%esi, %esi	;  2 bytes
M000000000000005b:	movl	%r15d, 44(%rsp)	;  5 bytes
M0000000000000060:	subl	%esi, %r15d	;  3 bytes
M0000000000000063:	movl	%esi, %ebx	;  2 bytes
M0000000000000065:	addq	%rbp, %rbx	;  3 bytes
M0000000000000068:	leal	-2(%rax), %ecx	;  3 bytes
M000000000000006b:	cmpl	$3, %ecx	;  3 bytes
M000000000000006e:	jae	0x477ae1 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0xc1>	;  2 bytes
M0000000000000070:	movl	%esi, 16(%rsp)	;  4 bytes
M0000000000000074:	movl	%edx, 20(%rsp)	;  4 bytes
M0000000000000078:	cmpl	$2, 4(%r14)	;  5 bytes
M000000000000007d:	je	0x477b3a <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x11a>	;  6 bytes
M0000000000000083:	movq	%r13, %rdi	;  3 bytes
M0000000000000086:	movq	%r12, %rsi	;  3 bytes
M0000000000000089:	callq	0x476cf0 <BloombergLP::bdldfp::DecimalImpUtil::normalize(BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128)>	;  5 bytes
M000000000000008e:	movq	%rax, %r13	;  3 bytes
M0000000000000091:	movq	%rdx, %r12	;  3 bytes
M0000000000000094:	movl	4(%r14), %eax	;  4 bytes
M0000000000000098:	cmpl	$2, %eax	;  3 bytes
M000000000000009b:	je	0x477b3a <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x11a>	;  2 bytes
M000000000000009d:	movq	%rbx, %rdi	;  3 bytes
M00000000000000a0:	movl	%r15d, %esi	;  3 bytes
M00000000000000a3:	movq	%r13, %rdx	;  3 bytes
M00000000000000a6:	movq	%r12, %rcx	;  3 bytes
M00000000000000a9:	movq	%r14, %r8	;  3 bytes
M00000000000000ac:	cmpl	$1, %eax	;  3 bytes
M00000000000000af:	jne	0x477d3b <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x31b>	;  6 bytes
M00000000000000b5:	callq	0x479510 <int BloombergLP::bdldfp::(anonymous namespace)::formatFixed<BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128>(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)>	;  5 bytes
M00000000000000ba:	movl	%eax, %ebx	;  2 bytes
M00000000000000bc:	jmp	0x477d0b <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x2eb>	;  5 bytes
M00000000000000c1:	movq	%rbx, 24(%rsp)	;  5 bytes
M00000000000000c6:	testl	%eax, %eax	;  2 bytes
M00000000000000c8:	je	0x477b95 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x175>	;  6 bytes
M00000000000000ce:	xorl	%ebx, %ebx	;  2 bytes
M00000000000000d0:	cmpl	$1, %eax	;  3 bytes
M00000000000000d3:	jne	0x477d13 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x2f3>	;  6 bytes
M00000000000000d9:	movl	%esi, 16(%rsp)	;  4 bytes
M00000000000000dd:	movl	%edx, %r13d	;  3 bytes
M00000000000000e0:	movq	%rbp, %r12	;  3 bytes
M00000000000000e3:	movq	16(%r14), %rbp	;  4 bytes
M00000000000000e7:	movq	%rbp, %rdi	;  3 bytes
M00000000000000ea:	callq	0x404760 <strlen@plt>	;  5 bytes
M00000000000000ef:	movq	%rax, %rbx	;  3 bytes
M00000000000000f2:	movslq	%r15d, %rax	;  3 bytes
M00000000000000f5:	cmpq	%rax, %rbx	;  3 bytes
M00000000000000f8:	jg	0x477b2f <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x10f>	;  2 bytes
M00000000000000fa:	testq	%rbx, %rbx	;  3 bytes
M00000000000000fd:	je	0x477b2f <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x10f>	;  2 bytes
M00000000000000ff:	movq	24(%rsp), %rdi	;  5 bytes
M0000000000000104:	movq	%rbp, %rsi	;  3 bytes
M0000000000000107:	movq	%rbx, %rdx	;  3 bytes
M000000000000010a:	callq	0x404970 <memmove@plt>	;  5 bytes
M000000000000010f:	movq	%r12, %rbp	;  3 bytes
M0000000000000112:	movl	%r13d, %edx	;  3 bytes
M0000000000000115:	jmp	0x477d0f <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x2ef>	;  5 bytes
M000000000000011a:	movq	%rbx, 24(%rsp)	;  5 bytes
M000000000000011f:	movq	%r13, %rdi	;  3 bytes
M0000000000000122:	movq	%r12, %rsi	;  3 bytes
M0000000000000125:	callq	0x4a2490 <__bid128_class>	;  5 bytes
M000000000000012a:	movabsq	$6917529027641081856, %rax	; 10 bytes
M0000000000000134:	movq	%r12, %rcx	;  3 bytes
M0000000000000137:	andq	%rax, %rcx	;  3 bytes
M000000000000013a:	cmpq	%rax, %rcx	;  3 bytes
M000000000000013d:	movq	%rbp, 32(%rsp)	;  5 bytes
M0000000000000142:	jne	0x477bf4 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x1d4>	;  6 bytes
M0000000000000148:	movabsq	$140737488355327, %rax	; 10 bytes
M0000000000000152:	andq	%r12, %rax	;  3 bytes
M0000000000000155:	movabsq	$9007199254740992, %rbx	; 10 bytes
M000000000000015f:	orq	%rax, %rbx	;  3 bytes
M0000000000000162:	movq	%r12, %r8	;  3 bytes
M0000000000000165:	shrq	$47, %r8	;  4 bytes
M0000000000000169:	andl	$16383, %r8d	;  7 bytes
M0000000000000170:	jmp	0x477c16 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x1f6>	;  5 bytes
M0000000000000175:	movl	%esi, 16(%rsp)	;  4 bytes
M0000000000000179:	movl	%edx, 20(%rsp)	;  4 bytes
M000000000000017d:	movq	%rbp, 32(%rsp)	;  5 bytes
M0000000000000182:	movq	%r13, %rdi	;  3 bytes
M0000000000000185:	movq	%r12, %rsi	;  3 bytes
M0000000000000188:	callq	0x4a2490 <__bid128_class>	;  5 bytes
M000000000000018d:	leaq	24(%r14), %rcx	;  4 bytes
M0000000000000191:	addq	$32, %r14	;  4 bytes
M0000000000000195:	cmpl	$1, %eax	;  3 bytes
M0000000000000198:	cmoveq	%rcx, %r14	;  4 bytes
M000000000000019c:	movq	(%r14), %rbp	;  3 bytes
M000000000000019f:	movq	%rbp, %rdi	;  3 bytes
M00000000000001a2:	callq	0x404760 <strlen@plt>	;  5 bytes
M00000000000001a7:	movq	%rax, %rbx	;  3 bytes
M00000000000001aa:	movslq	%r15d, %rax	;  3 bytes
M00000000000001ad:	cmpq	%rax, %rbx	;  3 bytes
M00000000000001b0:	jg	0x477d06 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x2e6>	;  6 bytes
M00000000000001b6:	testq	%rbx, %rbx	;  3 bytes
M00000000000001b9:	je	0x477d06 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x2e6>	;  6 bytes
M00000000000001bf:	movq	24(%rsp), %rdi	;  5 bytes
M00000000000001c4:	movq	%rbp, %rsi	;  3 bytes
M00000000000001c7:	movq	%rbx, %rdx	;  3 bytes
M00000000000001ca:	callq	0x404970 <memmove@plt>	;  5 bytes
M00000000000001cf:	jmp	0x477d06 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x2e6>	;  5 bytes
M00000000000001d4:	movq	%r12, %r8	;  3 bytes
M00000000000001d7:	shrq	$49, %r8	;  4 bytes
M00000000000001db:	andl	$16383, %r8d	;  7 bytes
M00000000000001e2:	addl	$4294961120, %r8d	;  7 bytes
M00000000000001e9:	movabsq	$562949953421311, %rbx	; 10 bytes
M00000000000001f3:	andq	%r12, %rbx	;  3 bytes
M00000000000001f6:	movl	$4294967295, %ebp	;  5 bytes
M00000000000001fb:	movabsq	$-3689348814741910323, %r10	; 10 bytes
M0000000000000205:	movabsq	$1844674407370955161, %r9	; 10 bytes
M000000000000020f:	movq	%r13, %rsi	;  3 bytes
M0000000000000212:	nopw	%cs:(%rax,%rax)	; 10 bytes
M000000000000021c:	nopl	(%rax)	;  4 bytes
M0000000000000220:	movq	%rbx, %rcx	;  3 bytes
M0000000000000223:	movq	%rbx, %rax	;  3 bytes
M0000000000000226:	mulq	%r10	;  3 bytes
M0000000000000229:	movq	%rdx, %rbx	;  3 bytes
M000000000000022c:	shrq	$3, %rbx	;  4 bytes
M0000000000000230:	leaq	(%rbx,%rbx), %rax	;  4 bytes
M0000000000000234:	leaq	(%rax,%rax,4), %rax	;  4 bytes
M0000000000000238:	movq	%rcx, %rdi	;  3 bytes
M000000000000023b:	subq	%rax, %rdi	;  3 bytes
M000000000000023e:	movq	%rsi, %rax	;  3 bytes
M0000000000000241:	mulq	%r10	;  3 bytes
M0000000000000244:	shrq	$3, %rdx	;  4 bytes
M0000000000000248:	leal	(%rdx,%rdx), %eax	;  3 bytes
M000000000000024b:	leal	(%rax,%rax,4), %eax	;  3 bytes
M000000000000024e:	subl	%eax, %esi	;  2 bytes
M0000000000000250:	leal	(%rdi,%rdi,2), %eax	;  3 bytes
M0000000000000253:	imulq	%r9, %rdi	;  4 bytes
M0000000000000257:	addq	%rdx, %rdi	;  3 bytes
M000000000000025a:	leal	(%rsi,%rax,2), %eax	;  3 bytes
M000000000000025d:	imull	$205, %eax, %eax	;  6 bytes
M0000000000000263:	movzwl	%ax, %esi	;  3 bytes
M0000000000000266:	shrq	$11, %rsi	;  4 bytes
M000000000000026a:	addq	%rdi, %rsi	;  3 bytes
M000000000000026d:	incl	%ebp	;  2 bytes
M000000000000026f:	cmpq	$9, %rcx	;  4 bytes
M0000000000000273:	ja	0x477c40 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x220>	;  2 bytes
M0000000000000275:	testq	%rsi, %rsi	;  3 bytes
M0000000000000278:	jne	0x477c40 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x220>	;  2 bytes
M000000000000027a:	movups	(%r14), %xmm0	;  4 bytes
M000000000000027e:	movups	16(%r14), %xmm1	;  5 bytes
M0000000000000283:	movups	32(%r14), %xmm2	;  5 bytes
M0000000000000288:	movaps	%xmm2, 80(%rsp)	;  5 bytes
M000000000000028d:	movaps	%xmm1, 64(%rsp)	;  5 bytes
M0000000000000292:	movaps	%xmm0, 48(%rsp)	;  5 bytes
M0000000000000297:	testl	%r8d, %r8d	;  3 bytes
M000000000000029a:	jg	0x477ce8 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x2c8>	;  2 bytes
M000000000000029c:	leal	1(%r8,%rbp), %eax	;  5 bytes
M00000000000002a1:	cmpl	$-5, %eax	;  3 bytes
M00000000000002a4:	jl	0x477ce8 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x2c8>	;  2 bytes
M00000000000002a6:	negl	%r8d	;  3 bytes
M00000000000002a9:	movl	%r8d, 48(%rsp)	;  5 bytes
M00000000000002ae:	leaq	48(%rsp), %r8	;  5 bytes
M00000000000002b3:	movq	24(%rsp), %rdi	;  5 bytes
M00000000000002b8:	movl	%r15d, %esi	;  3 bytes
M00000000000002bb:	movq	%r13, %rdx	;  3 bytes
M00000000000002be:	movq	%r12, %rcx	;  3 bytes
M00000000000002c1:	callq	0x479510 <int BloombergLP::bdldfp::(anonymous namespace)::formatFixed<BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128>(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)>	;  5 bytes
M00000000000002c6:	jmp	0x477d04 <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x2e4>	;  2 bytes
M00000000000002c8:	movl	%ebp, 48(%rsp)	;  4 bytes
M00000000000002cc:	leaq	48(%rsp), %r8	;  5 bytes
M00000000000002d1:	movq	24(%rsp), %rdi	;  5 bytes
M00000000000002d6:	movl	%r15d, %esi	;  3 bytes
M00000000000002d9:	movq	%r13, %rdx	;  3 bytes
M00000000000002dc:	movq	%r12, %rcx	;  3 bytes
M00000000000002df:	callq	0x479110 <int BloombergLP::bdldfp::(anonymous namespace)::formatScientific<BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128>(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)>	;  5 bytes
M00000000000002e4:	movl	%eax, %ebx	;  2 bytes
M00000000000002e6:	movq	32(%rsp), %rbp	;  5 bytes
M00000000000002eb:	movl	20(%rsp), %edx	;  4 bytes
M00000000000002ef:	movl	16(%rsp), %esi	;  4 bytes
M00000000000002f3:	addl	%esi, %ebx	;  2 bytes
M00000000000002f5:	cmpl	44(%rsp), %ebx	;  4 bytes
M00000000000002f9:	setg	%al	;  3 bytes
M00000000000002fc:	xorb	$1, %dl	;  3 bytes
M00000000000002ff:	orb	%al, %dl	;  2 bytes
M0000000000000301:	jne	0x477d2a <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x30a>	;  2 bytes
M0000000000000303:	movb	15(%rsp), %al	;  4 bytes
M0000000000000307:	movb	%al, (%rbp)	;  3 bytes
M000000000000030a:	movl	%ebx, %eax	;  2 bytes
M000000000000030c:	addq	$104, %rsp	;  4 bytes
M0000000000000310:	popq	%rbx	;  1 bytes
M0000000000000311:	popq	%r12	;  2 bytes
M0000000000000313:	popq	%r13	;  2 bytes
M0000000000000315:	popq	%r14	;  2 bytes
M0000000000000317:	popq	%r15	;  2 bytes
M0000000000000319:	popq	%rbp	;  1 bytes
M000000000000031a:	retq		;  1 bytes
M000000000000031b:	callq	0x479110 <int BloombergLP::bdldfp::(anonymous namespace)::formatScientific<BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128>(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)>	;  5 bytes
M0000000000000320:	movl	%eax, %ebx	;  2 bytes
M0000000000000322:	jmp	0x477d0b <BloombergLP::bdldfp::DecimalImpUtil::format(char*, int, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType128, BloombergLP::bdldfp::DecimalFormatConfig const&)+0x2eb>	;  2 bytes
M0000000000000324:	nopw	%cs:(%rax,%rax)	; 10 bytes
M000000000000032e:	nop		;  2 bytes