Fix pp field in readPrefix for VEX3 and EVEX (#1015) (#1016)

diff --git a/arch/X86/X86DisassemblerDecoder.c b/arch/X86/X86DisassemblerDecoder.c
index 17df7d9..5c60aac 100644
--- a/arch/X86/X86DisassemblerDecoder.c
+++ b/arch/X86/X86DisassemblerDecoder.c
@@ -723,7 +723,13 @@
 						| (xFromEVEX2of4(insn->vectorExtensionPrefix[1]) << 1)
 						| (bFromEVEX2of4(insn->vectorExtensionPrefix[1]) << 0);
 				}
-
+				switch (ppFromEVEX3of4(insn->vectorExtensionPrefix[2])) {
+					default:
+						break;
+					case VEX_PREFIX_66:
+						hasOpSize = true;
+						break;
+				}
 				//dbgprintf(insn, "Found EVEX prefix 0x%hhx 0x%hhx 0x%hhx 0x%hhx",
 				//		insn->vectorExtensionPrefix[0], insn->vectorExtensionPrefix[1],
 				//		insn->vectorExtensionPrefix[2], insn->vectorExtensionPrefix[3]);
@@ -765,6 +771,13 @@
 					| (bFromVEX2of3(insn->vectorExtensionPrefix[1]) << 0);
 
 			}
+			switch (ppFromVEX3of3(insn->vectorExtensionPrefix[2])) {
+				default:
+					break;
+				case VEX_PREFIX_66:
+					hasOpSize = true;
+					break;
+			}
 		}
 	} else if (byte == 0xc5) {
 		uint8_t byte1;