stvewx128 was aligning EA to 16 bytes and writing all 16 bytes of the vector, corrupting 12 adjacent bytes on every call. ISA semantics: word-align EA, extract word lane (EA & 0xF) >> 2, write 4 bytes only. The non-128 stvewx was already correct; stvewx128 was never updated. Mirror the stvewx body with instr.vs128() substituted for instr.rs(). The invalidate_for_write call from P1 now covers the correct word-aligned EA rather than the over-wide 16-byte range. interpreter.rs: stvewx128 arm (~line 2984) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>