AnyPS5/core/relinker/codegen
Adrià Franch b066079628 fix(relinker): zero dst[127:64] in EXTRQ and INSERTQ lowerings
The APM leaves bits 127:64 of the destination undefined after EXTRQ and
INSERTQ, but hardware zeroes them, and the register-form INSERTQ stub
already does the same (#185). The other paths kept the old high qword, so
a following register-form INSERTQ that reads its length and index from
that qword computed the wrong low qword too.

Every stub path that left the high qword now ends with movq dst, dst.
The in-place PSRLQ, PMOVZX and PBLENDW forms leave it non-zero and have
no room for the movq, so those sites now take a stub. The two in-place
forms that emitted nothing now emit movq dst, dst.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-03 08:21:33 +02:00
..
include/codegen feat(relinker): lower CLZERO for --to-intel 2026-10-01 12:30:35 +02:00
src fix(relinker): zero dst[127:64] in EXTRQ and INSERTQ lowerings 2026-10-03 08:21:33 +02:00
tests fix(relinker): zero dst[127:64] in EXTRQ and INSERTQ lowerings 2026-10-03 08:21:33 +02:00