Admin message

Due to a large amount of spam we do not allow new users to create repositories, they are "external" users. If you are a new user and want to create a repository, for example for forking GHC, open a new issue on ghc/ghc using the "get-verified" issue template

AArch64 NCG: `MO_U_Shr` W8/W16 uses ASR instead of LSR
## Summary In `compiler/GHC/CmmToAsm/AArch64/CodeGen.hs` (~lines 965-978), the variable-shift path for `MO_U_Shr` at W8 and W16 widths emits `ASR` (arithmetic shift right) after zero-extending with `UXTB`/`UXTH`. Since this is an unsigned shift, it should emit `LSR` (logical shift right) instead. `ASR` sign-extends the shifted-out bits, which is wrong for an unsigned operation. The zero-extension beforehand masks the issue for small values, but for values with the high bit set within their width (e.g. 0x80 for W8), `ASR` will propagate the sign bit incorrectly. ## Proposed fix Replace `ASR` with `LSR` in both the W8 and W16 variable-shift `MO_U_Shr` cases. ## Environment * GHC version used: 9.15
issue