[Mono-devel-list] Bug in mini-x86 generation of CEE_MUL_OVF_UN?

Willibald Krenn Willibald.Krenn at gmx.at
Tue Mar 23 11:28:03 EST 2004


I think I've found a bug in mini-x86.c in mono_arch_output_basic_block 
(case CEE_MUL_OVF_UN).

If non of the registers ins->sreg2, ins->sreg1 and ins->dreg is EAX, 
following code gets generated:
#             push    EAX
#             mov    EAX, ins->sreg1
#             push    EDX
#             mul    ins->sreg2
#             pop    EDX
#             pop    EAX
#             mov    ins->dreg, EAX ; !!!!! should be before pop eax?
#             J??    ??

IMHO the last move should be placed before the "pop EAX"...


More information about the Mono-devel-list mailing list