From: Julian Seward Date: Mon, 8 Aug 2005 09:58:05 +0000 (+0000) Subject: Reenable FST %st(0),%st(?) (0xDD 0xD0 .. 0xDD 0xD7). X-Git-Tag: svn/VALGRIND_3_1_1^2~148 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1d4767dfeb9b7fb4c041594acf16b4729a1ad220;p=thirdparty%2Fvalgrind.git Reenable FST %st(0),%st(?) (0xDD 0xD0 .. 0xDD 0xD7). git-svn-id: svn://svn.valgrind.org/vex/trunk@1322 --- diff --git a/VEX/priv/guest-amd64/toIR.c b/VEX/priv/guest-amd64/toIR.c index bb8962db1e..e27e2b81ec 100644 --- a/VEX/priv/guest-amd64/toIR.c +++ b/VEX/priv/guest-amd64/toIR.c @@ -5372,14 +5372,14 @@ ULong dis_FPU ( /*OUT*/Bool* decode_ok, put_ST_TAG ( r_dst, mkU8(0) ); break; -//.. case 0xD0 ... 0xD7: /* FST %st(0),%st(?) */ -//.. r_dst = (UInt)modrm - 0xD0; -//.. DIP("fst %%st(0),%%st(%d)\n", r_dst); -//.. /* P4 manual says: "If the destination operand is a -//.. non-empty register, the invalid-operation exception -//.. is not generated. Hence put_ST_UNCHECKED. */ -//.. put_ST_UNCHECKED(r_dst, get_ST(0)); -//.. break; + case 0xD0 ... 0xD7: /* FST %st(0),%st(?) */ + r_dst = (UInt)modrm - 0xD0; + DIP("fst %%st(0),%%st(%d)\n", r_dst); + /* P4 manual says: "If the destination operand is a + non-empty register, the invalid-operation exception + is not generated. Hence put_ST_UNCHECKED. */ + put_ST_UNCHECKED(r_dst, get_ST(0)); + break; case 0xD8 ... 0xDF: /* FSTP %st(0),%st(?) */ r_dst = (UInt)modrm - 0xD8;