|
From: <sv...@va...> - 2014-05-21 14:42:14
|
Author: sewardj
Date: Wed May 21 14:42:04 2014
New Revision: 2864
Log:
Implement PCMPxSTRx cases 0x0E, 0x34, 0x14, and reformat some of the
associated switch statements. Fixes #326469, #327639, #328878
respectively.
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 Wed May 21 14:42:04 2014
@@ -18199,14 +18199,16 @@
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*/
Modified: trunk/priv/guest_generic_x87.c
==============================================================================
--- trunk/priv/guest_generic_x87.c (original)
+++ trunk/priv/guest_generic_x87.c Wed May 21 14:42:04 2014
@@ -795,10 +795,10 @@
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 @@
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;
|