ClassifyInstruction assumed a ModRM byte right after every opcode that was not a near branch. A length-changing rewrite therefore adjusted immediates such as MOVABS imm64 that looked like a RIP-relative ModRM, and missed RIP-relative operands of VEX and 0F 38 / 0F 3A instructions and the rel8 targets of LOOP and JRCXZ. Take the RIP-relative displacement and branch target from DecodeInstruction instead. |
||
|---|---|---|
| .. | ||
| x86 | ||
| CodegenException.hpp | ||
| CodegenTypes.hpp | ||
| IAmd64OnlyConverter.hpp | ||
| IInstructionDecoder.hpp | ||
| IInstructionRewriter.hpp | ||
| IInstructionScanner.hpp | ||