Displaying 2 results from an estimated 2 matches for "lbb3_2".
Did you mean:
lbb0_2
2018 Nov 20
2
A pattern for portable __builtin_add_overflow()
...k = *s > b;
return (cond & !check) | (!cond & check);
}
Assembly:
saddo_native: # @saddo_native
xor eax, eax
add edi, esi
seto al
mov dword ptr [rdx], edi
ret
saddo_portable: # @saddo_portable
lea eax, [rsi + rdi]
mov dword ptr [rdx], eax
cmp eax, esi
setle al
setg cl
test edi, edi
jg .LBB3_2
mov eax, ecx
.LBB3_2:
movzx eax, al
ret
saddo_portable2: # @saddo_portable2
lea eax, [rsi + rdi]
mov dword ptr [rdx], eax
test edi, edi
setg cl
cmp eax, esi
setg al
xor al, cl
movzx eax, al
ret
Do you know the trick to force the compiler to use the seto instruction?
I also noticed that the trans...
2016 Apr 04
2
How to call an (x86) cleanup/catchpad funclet
...:
Catch:
"?catch$3@?0?m3 at 4HA":
LBB4_3: # %BasicBlock26
pushl %ebp
pushl %eax
addl $12, %ebp
movl %esp, -28(%ebp)
movl $LBB4_5, %eax
addl $4, %esp
popl %ebp
retl # CATCHRET
cleanup:
"?dtor$2@?0?m2 at 4HA":
LBB3_2:
pushl %ebp
subl $8, %esp
addl $12, %ebp
movl %ebp, %eax
movl %esp, %ecx
movl %eax, 4(%ecx)
movl $1, (%ecx)
calll m2$Fin
addl $8, %esp
popl %ebp
retl # CLEANUPRET
What do I pass to these to get a valid frame on the other end?
The cleanup one calls the finall...