AnyPS5/core/relinker/codegen/src/x86
Achraf Reyani ce8dbc977f fix(relinker): decode XOP instructions
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>
2026-10-10 19:27:24 +13:00
..
Amd64OnlyInstructionMatcher.cpp feat(relinker): relocate RIP-relative operands into --to-intel stubs 2026-10-08 11:10:38 +02:00
ClzeroLowering.cpp feat(relinker): relocate RIP-relative operands into --to-intel stubs 2026-10-08 11:10:38 +02:00
ClzeroOperands.cpp fix(relinker): ignore a REX prefix that is followed by another prefix 2026-10-01 13:09:11 +02:00
DecodedInstruction.cpp feat(relinker): lower SHA-1 instructions for --to-intel 2026-10-03 07:40:41 +02:00
ReciprocalLowering.cpp feat(relinker): relocate RIP-relative operands into --to-intel stubs 2026-10-08 11:10:38 +02:00
ReciprocalOperands.cpp fix(relinker): lower VRSQRTPS and VRCPPS to correctly rounded results for --to-intel 2026-10-04 14:40:16 +13:00
Sha1Lowering.cpp feat(relinker): relocate RIP-relative operands into --to-intel stubs 2026-10-08 11:10:38 +02:00
Sha1Operands.cpp feat(relinker): relocate RIP-relative operands into --to-intel stubs 2026-10-08 11:10:38 +02:00
Sha256Lowering.cpp feat(relinker): relocate RIP-relative operands into --to-intel stubs 2026-10-08 11:10:38 +02:00
Sha256Operands.cpp feat(relinker): relocate RIP-relative operands into --to-intel stubs 2026-10-08 11:10:38 +02:00
Sse4aLowering.cpp feat(relinker): relocate RIP-relative operands into --to-intel stubs 2026-10-08 11:10:38 +02:00
Sse4aOperands.cpp fix(relinker): ignore a REX prefix that is followed by another prefix 2026-10-01 13:09:11 +02:00
StubBodyBuilder.cpp feat(relinker): relocate RIP-relative operands into --to-intel stubs 2026-10-08 11:10:38 +02:00
X64InstructionDecoder.cpp fix(relinker): decode XOP instructions 2026-10-10 19:27:24 +13:00
X64InstructionRewriter.cpp fix(relinker): classify rewrite reference sites with the instruction decoder 2026-10-08 18:20:14 +08:00