From: Julian Seward Date: Sat, 14 Jun 2003 15:49:25 +0000 (+0000) Subject: Do SSE insns PSRLDQ, PSLLDQ X-Git-Tag: svn/VALGRIND_2_0_0~92 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2474e7c8369e41fd91d30573cf313e634baa1306;p=thirdparty%2Fvalgrind.git Do SSE insns PSRLDQ, PSLLDQ git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1692 --- diff --git a/coregrind/vg_to_ucode.c b/coregrind/vg_to_ucode.c index a87bd65e52..c0063608bb 100644 --- a/coregrind/vg_to_ucode.c +++ b/coregrind/vg_to_ucode.c @@ -5504,6 +5504,11 @@ static Addr disInstr ( UCodeBlock* cb, Addr eip, Bool* isEnd ) if (subopc == 2 || subopc == 6 || subopc == 4) { /* 2 == 010 == SRL, 6 == 110 == SLL, 4 == 100 == SRA */ /* ok */ + } else + if (sz == 2 && opc == 0x73 && (subopc == 7 || subopc == 3)) { + /* 3 == PSRLDQ, 7 == PSLLDQ */ + /* This is allowable in SSE. Because sz==2 we fall thru to + SSE5 below. */ } else { eip -= (sz==2 ? 3 : 2); goto decode_failure; @@ -5534,6 +5539,8 @@ static Addr disInstr ( UCodeBlock* cb, Addr eip, Bool* isEnd ) (subopc == 2 ? "rl" : subopc == 6 ? "ll" : subopc == 4 ? "ra" + : subopc == 3 ? "(PSRLDQ)" + : subopc == 7 ? "(PSLLDQ)" : "??"), nameMMXGran(opc & 3), (Int)byte3,