|
From: <sv...@va...> - 2016-07-24 11:40:16
|
Author: sewardj
Date: Sun Jul 24 12:40:07 2016
New Revision: 3230
Log:
Enable PCMPxSTRx cases 0x62 and 0x72, and reformat the associated
switch statements a bit more consistently. Fixes #353384 and #353727.
Modified:
trunk/priv/guest_amd64_toIR.c
trunk/priv/guest_generic_x87.c
Modified: trunk/priv/guest_amd64_toIR.c
==============================================================================
--- trunk/priv/guest_amd64_toIR.c (original)
+++ trunk/priv/guest_amd64_toIR.c Sun Jul 24 12:40:07 2016
@@ -18667,17 +18667,25 @@
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 0x0E:
- case 0x12: case 0x14: case 0x18: case 0x1A:
- case 0x30: case 0x34: case 0x38: case 0x3A:
- case 0x40: case 0x42: case 0x44: case 0x46: case 0x4A:
- case 0x70:
+ case 0x00: case 0x02:
+ case 0x08: case 0x0A: case 0x0C: case 0x0E:
+ case 0x12: case 0x14:
+ case 0x18: case 0x1A:
+ case 0x30: case 0x34:
+ case 0x38: case 0x3A:
+ case 0x40: case 0x42: case 0x44: case 0x46:
+ case 0x4A:
+ case 0x62:
+ case 0x70: case 0x72:
break;
// the 16-bit character versions of the above
- case 0x01: case 0x03: case 0x09: case 0x0B: case 0x0D:
- case 0x13: case 0x19: case 0x1B:
- case 0x39: case 0x3B:
- case 0x45: case 0x4B:
+ case 0x01: case 0x03:
+ case 0x09: case 0x0B: case 0x0D:
+ case 0x13:
+ case 0x19: case 0x1B:
+ case 0x39: case 0x3B:
+ case 0x45:
+ case 0x4B:
break;
default:
return delta0; /*FAIL*/
Modified: trunk/priv/guest_generic_x87.c
==============================================================================
--- trunk/priv/guest_generic_x87.c (original)
+++ trunk/priv/guest_generic_x87.c Sun Jul 24 12:40:07 2016
@@ -795,11 +795,16 @@
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 0x0E:
- case 0x12: case 0x14: case 0x18: case 0x1A:
- case 0x30: case 0x34: case 0x38: case 0x3A:
- case 0x40: case 0x42: case 0x44: case 0x46: case 0x4A:
- case 0x70:
+ case 0x00: case 0x02:
+ case 0x08: case 0x0A: case 0x0C: case 0x0E:
+ case 0x12: case 0x14:
+ case 0x18: case 0x1A:
+ case 0x30: case 0x34:
+ case 0x38: case 0x3A:
+ case 0x40: case 0x42: case 0x44: case 0x46:
+ case 0x4A:
+ case 0x62:
+ case 0x70: case 0x72:
break;
default:
return False;
|