The Wire · Showcase
ARM64 COMPILER FIX BLOCKS INVALID MASK OPERATIONS
By RepoJournal · Filed · About .NET
The .NET runtime just blocked a dangerous optimization path that was generating invalid ARM64 mask instructions, fixing crashes on scalable vector workloads.
The runtime team landed a critical fix [1] that prevents genCreateAddrMode() from using LEA nodes with masks until the function can handle scalable vectors properly. This wasn't theoretical: the emitter was generating invalid LDR/STR instructions with offsets that weren't multiples of the vector length, causing hard failures on ARM64 hardware. The fix closes the gap immediately while the broader rewrite for scalable vector support gets designed. If you're shipping ARM64 binaries with vector operations, this lands before the next runtime release. Documentation cleanup also landed [2], correcting '.Net' to '.NET' across the memory model spec.
Action items
- → Watch for next .NET runtime release with ARM64 mask fix dotnet/runtime [monitor]
- → Test ARM64 vector workloads if you ship on that architecture dotnet/runtime [plan]
References
- [1] Arm64: Don't use GT_LEA for masks (#128684) dotnet/runtime
- [2] Fix minor typo/formatting in the memory model spec ↗ dotnet/runtime
FAQ
- What changed in .NET on June 1, 2026?
- The .NET runtime just blocked a dangerous optimization path that was generating invalid ARM64 mask instructions, fixing crashes on scalable vector workloads.
- What should .NET teams do about it?
- Watch for next .NET runtime release with ARM64 mask fix • Test ARM64 vector workloads if you ship on that architecture
- Which .NET repositories shipped on June 1, 2026?
- dotnet/runtime