-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 3 pull requests #117283
Closed
Closed
Rollup of 3 pull requests #117283
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…update_cg_gcc_2023-10-09
c6e6ecb added it to some of the compiler's crates, but avoided adding it to all of them to reduce bit-rot. This commit adds to more.
This test only fails with non-native 128-bit integers, but it will also fail with native 128-bit integers if we copy/paste it so that it's executed twice. Interestingly, wrapping the test in a loop won't make it fail. So, it could be due to stack space or unwinding in release mode. Also, the test only fails with -O2: ../cargo.sh rustc --bin test-rust -- -O It doesn't fail with -O3.
Fix #[inline(always)] attribute and support unsigned comparison for signed integers
In the current implementation, the gcc backend of rustc currently emits the following for a function that implements popcount for a u32 (x86_64 targeting AVX2, using standard unix calling convention): popcount: mov eax, edi and edi, 1431655765 shr eax and eax, 1431655765 add edi, eax mov edx, edi and edi, 858993459 shr edx, 2 and edx, 858993459 add edx, edi mov eax, edx and edx, 252645135 shr eax, 4 and eax, 252645135 add eax, edx mov edx, eax and eax, 16711935 shr edx, 8 and edx, 16711935 add edx, eax movzx eax, dx shr edx, 16 add eax, edx ret Rather than using this implementation, gcc could be told to use Wenger's algorithm. This would give the same function the following implementation: popcount: xor eax, eax xor edx, edx popcnt eax, edi test edi, edi cmove eax, edx ret This patch implements the popcount operation in terms of Wenger's algorithm in all cases. Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
Add support for NonNull function attribute
optimize popcount implementation
Fix/int types alignment
Don't fall back on breaking apart the popcount operation if 128-bit integers are natively supported. Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
optimize u128/i128 popcounts further
Fix/endianness
Fix to be able to use a target specification JSON file and document the process
Fix volatile_load
Fix for the libgccjit 12 CI
Add basics for `test` command in build system
Regenerate intrinsics mapping
…0_25 Sync from rust 2023/10/25
…update_cg_gcc_2023-10-25
Remove -Zdep-tasks. This option is not useful any more, we can use `tracing` and `RUSTC_LOG` to debug the dep-graph.
…pl, r=petrochenkov Cleanup and improve `--check-cfg` implementation This PR removes some indentation in the code, as well as preventing some bugs/misusages and fix a nit in the doc. r? `@petrochenkov` (maybe)
…10-25, r=bjorn3 subtree update cg_gcc 2023/10/25
rustbot
added
A-query-system
Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html)
S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
rollup
A PR which is a rollup
labels
Oct 27, 2023
Don't think it's a good idea to do a rollup with a tree sync in it, let's close it. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-query-system
Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html)
rollup
A PR which is a rollup
S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
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.
Successful merges:
--check-cfg
implementation #117025 (Cleanup and improve--check-cfg
implementation)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup