https://github.com/dtcxzyw requested changes to this pull request. It is incorrect. You should check that the shift amount is always smaller than `NewWidth`. https://github.com/llvm/llvm-project/pull/119577