The x86 decoder had no XOP (AMD 8F escape) support and read 8F E8.. as POP r/m, losing instruction boundaries. Since #2238 roots code addresses taken by RIP-relative LEA, code analysis reaches CPU-dispatched XOP paths, such as the vpperm routines in Stremio Plus (PPSA74126), OpenNOW (PPSA99082) and PPSA99420, and their Windows conversion failed with "Code analysis: overlapping instruction boundaries". Decode 8F followed by a map of 8 or more as a three-byte XOP prefix (8F can only be POP r/m with ModRM.reg 0) with a ModRM operand, an 8-bit immediate in map 8 and a 32-bit immediate in map 0Ah, in both the length and operand decoders. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| x86 | ||
| CodegenException.hpp | ||
| CodegenTypes.hpp | ||
| IAmd64OnlyConverter.hpp | ||
| IInstructionDecoder.hpp | ||
| IInstructionRewriter.hpp | ||
| IInstructionScanner.hpp | ||