Update rustc_codegen_gcc
rotate operation document #145278
Open
+3 −2
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Description
This PR resolves a TODO comment in the
rustc_codegen_gcc
backend by documenting that the rotate operations (rotate_left
androtate_right
) already implement the optimized branchless algorithm from comment.The existing implementation already uses the optimal branchless rotation pattern:
(x << n) | (x >> (-n & (width-1)))
(x >> n) | (x << (-n & (width-1)))
This pattern avoids branches and generates efficient machine code across different platforms, which was the goal mentioned in the original TODO.
Changes