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. |
||
|---|---|---|
| .. | ||
| Amd64OnlyConverterTests.cpp | ||