From: Julian Seward Date: Wed, 21 May 2014 14:42:04 +0000 (+0000) Subject: Implement PCMPxSTRx cases 0x0E, 0x34, 0x14, and reformat some of the X-Git-Tag: svn/VALGRIND_3_10_1^2~106 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4d5997efeb6a4b2e19d8ad6c5948e075d834e3c3;p=thirdparty%2Fvalgrind.git Implement PCMPxSTRx cases 0x0E, 0x34, 0x14, and reformat some of the associated switch statements. Fixes #326469, #327639, #328878 respectively. git-svn-id: svn://svn.valgrind.org/vex/trunk@2864 --- diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c index c69a71ece1..563e9578cc 100644 --- a/VEX/priv/guest_amd64_toIR.c +++ b/VEX/priv/guest_amd64_toIR.c @@ -18199,14 +18199,16 @@ static Long dis_PCMPxSTRx ( VexAbiInfo* vbi, Prefix pfx, immediate byte. Is it one we can actually handle? Throw out any cases for which the helper function has not been verified. */ switch (imm) { - case 0x00: - case 0x02: case 0x08: case 0x0A: case 0x0C: case 0x12: - case 0x1A: case 0x38: case 0x3A: case 0x44: case 0x4A: - case 0x46: case 0x30: case 0x40: + case 0x00: case 0x02: case 0x08: case 0x0A: case 0x0C: case 0x0E: + case 0x12: case 0x14: case 0x1A: + case 0x30: case 0x34: case 0x38: case 0x3A: + case 0x40: case 0x44: case 0x46: case 0x4A: break; - case 0x01: // the 16-bit character versions of the above - case 0x03: case 0x09: case 0x0B: case 0x0D: case 0x13: - case 0x1B: case 0x39: case 0x3B: case 0x45: case 0x4B: + // the 16-bit character versions of the above + case 0x01: case 0x03: case 0x09: case 0x0B: case 0x0D: + case 0x13: case 0x1B: + case 0x39: case 0x3B: + case 0x45: case 0x4B: break; default: return delta0; /*FAIL*/ diff --git a/VEX/priv/guest_generic_x87.c b/VEX/priv/guest_generic_x87.c index 26a70347ae..0e36e94e45 100644 --- a/VEX/priv/guest_generic_x87.c +++ b/VEX/priv/guest_generic_x87.c @@ -795,10 +795,10 @@ Bool compute_PCMPxSTRx ( /*OUT*/V128* resV, even if they would probably work. Life is too short to have unvalidated cases in the code base. */ switch (imm8) { - case 0x00: - case 0x02: case 0x08: case 0x0A: case 0x0C: case 0x12: - case 0x1A: case 0x38: case 0x3A: case 0x44: case 0x4A: - case 0x46: case 0x30: case 0x40: + case 0x00: case 0x02: case 0x08: case 0x0A: case 0x0C: case 0x0E: + case 0x12: case 0x14: case 0x1A: + case 0x30: case 0x34: case 0x38: case 0x3A: + case 0x40: case 0x44: case 0x46: case 0x4A: break; default: return False; @@ -1046,9 +1046,10 @@ Bool compute_PCMPxSTRx_wide ( /*OUT*/V128* resV, even if they would probably work. Life is too short to have unvalidated cases in the code base. */ switch (imm8) { - case 0x01: - case 0x03: case 0x09: case 0x0B: case 0x0D: case 0x13: - case 0x1B: case 0x39: case 0x3B: case 0x45: case 0x4B: + case 0x01: case 0x03: case 0x09: case 0x0B: case 0x0D: + case 0x13: case 0x1B: + case 0x39: case 0x3B: + case 0x45: case 0x4B: break; default: return False;