-
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
Subtree update cg gcc 2024 03 05 #122042
Subtree update cg gcc 2024 03 05 #122042
Conversation
Implements lane-local byte swapping through vector shuffles. While this is more setup than non-vector shuffles, this implementation can shuffle multiple integers concurrently. Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
The simd intrinsic handler was delegating implementation of `simd_frem` to `Builder::frem`, which wasn't able to handle vector-typed inputs. To fix this, teach this method how to handle vector inputs. Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
If we're running against a patched libgccjit, use an algorithm similar to what LLVM uses for this intrinsic. Otherwise, fallback to a per-element bitreverse. Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
gcc_not would panic upon encountering a vector type, which is not what we want here. Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
This test now passes when tested with a patched libgccjit. However, due to [some compiler bugs][1], we can't enable this for non-patched libgccjit yet. [1]: https://github.com/sadlerap/rustc_codegen_gcc/actions/runs/6820180639/job/18548672444#step:15:4375 Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
…ctions Fix build instructions
`sess` is a terribly misleading name for a `Handler`! This confused me for a bit.
☔ The latest upstream changes (presumably #122182) made this pull request unmergeable. Please resolve the merge conflicts. |
Is there a chance we could land the 250+ commits in this PR without the infra changes somehow? I'd much prefer to review a smaller PR. If that means we temporarily disable testing or something on CI, that would be preferable in my eyes to trying to review and figure out the much larger PR (also less bitrotty). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, having looked at those commits they seem minimal enough. I'm OK with this moving forward. Caching should be automatic as you're adding to the Docker builds which are always cached.
r=me on the infra changes.
This comment has been minimized.
This comment has been minimized.
62b838a
to
b85b11a
Compare
This comment has been minimized.
This comment has been minimized.
b85b11a
to
2d4c379
Compare
This comment has been minimized.
This comment has been minimized.
2d4c379
to
c5c6729
Compare
Fixed the merge conflict and applied Mark's suggestion. Considering it's very conflict-prone, adding a higher priority. @bors r=MarkSimulacrum p=1 rollup=never |
☀️ Test successful - checks-actions |
Finished benchmarking commit (5bc7b9a): comparison URL. Overall result: ❌ regressions - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 645.087s -> 647.582s (0.39%) |
Reopening of #121390.
r? @ghost