|
From: Julian S. <js...@ac...> - 2006-10-24 21:52:17
|
> > ------------------------------------
> > movl (%rdi), %eax
> > orl $1, %eax
> > incw %ax
> > je .L17
> > ------------------------------------
Hmm, hang on. I just dealt with this one 5 days ago.
Firstly, what V version is this with? What gcc version? And
what program were you running on V to get this error?
Anyway, can you try the following (on a 3.2.1 tree):
In VEX/priv/guest-amd64/ghelper.c function
guest_amd64_spechelper find the case for DECW (will be obvious,
near line 1188) and after it add this:
/*---------------- INCW ----------------*/
if (isU64(cc_op, AMD64G_CC_OP_INCW) && isU64(cond, AMD64CondZ)) {
/* 16-bit inc, then Z --> test dst == 0 */
return unop(Iop_1Uto64,
binop(Iop_CmpEQ64,
binop(Iop_Shl64,cc_dep1,mkU8(48)),
mkU64(0)));
}
Rebuild (make clean ; make ; make install) and try again. Does
that fix it?
If that doesn't work try instead with AMD64CondNZ and Iop_CmpNE64.
J
|