mirror of
https://github.com/odin-lang/Odin.git
synced 2026-09-02 02:03:35 +00:00
`sqincb x0, w0, pow2, mul #1` writes one register under both names: the 64-bit destination and the 32-bit value it saturates into. Sixteen forms had only the W half, so they printed `sqincb w0, ...`, which no assembler takes. The unsigned ones really do take a single W and were already right. SVE LDR/STR and PFIRST/PNEXT lost their unsized operands again when the predicate sizing was re-run over the merged rows; a predicate that is moved whole, or that governs, carries no element size. SVE/SME2 against llvm-mc: 683 byte-exact and 0 mismatched. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018UmHLRF11EoWwNWCJ7JGaA