x86: on targets that requires SSE, use those registers for ABI - #161583
Conversation
7f487df to
06a4f6d
Compare
This comment has been minimized.
This comment has been minimized.
a01a5dd to
7d66bd1
Compare
|
@bors try jobs=i686,various |
This comment has been minimized.
This comment has been minimized.
x86: on targets that requires SSE, use those registers for ABI try-job: *i686* try-job: *various*
|
@bors try jobs=aarch64-linux |
This comment has been minimized.
This comment has been minimized.
x86: on targets that requires SSE, use those registers for ABI try-job: *aarch64-linux*
|
It is strange that PR CI passed. Looks like even on LLVM 21, tests/codegen-llvm/pclmulqdq-target-feature-inlining.rs works? How can that be if it does not have llvm/llvm-project#205106 ? |
This comment was marked as resolved.
This comment was marked as resolved.
a6bd1e9 to
429c1c1
Compare
|
@bors try jobs=test-x86_64-gnu-nopt |
This comment has been minimized.
This comment has been minimized.
x86: on targets that requires SSE, use those registers for ABI try-job: test-x86_64-gnu-nopt
|
@bors r=nikic |
This comment has been minimized.
This comment has been minimized.
x86: on targets that requires SSE, use those registers for ABI Now that llvm/llvm-project#142321 is fixed, we can use the vector ABI without re-introducing #139029. So this effectively reverts #141309. Since this means we are relying on the SSE target feature for the Rust ABI, we also need to turn the ABI target feature check into a hard error. If we don't do that, we'll get post-mono errors in some situations and plain miscompilations in others. Also this will cause performance regressions on LLVM 22 and 21 as those don't have the fix for llvm/llvm-project#142321. IMO that's fine. Programs will do the right thing, they will just be a bit slower due to #139029. r? @nikic Cc @tgross35
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
💔 Test for b7b7636 failed: CI. Failed job:
|
Spurious? That's an interesting failure |
This comment has been minimized.
This comment has been minimized.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 50d5409 (parent) -> 498b89d (this PR) Test differencesShow 38 test diffsStage 1
Stage 2
Additionally, 3 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 498b89dd40af107a23c13a009345a0dea224248c --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (498b89d): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)Results (secondary 3.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 0.0%, secondary 3.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.1%, secondary -0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 498.048s -> 497.674s (-0.08%) |
View all comments
Now that llvm/llvm-project#142321 is fixed, we can use the vector ABI without re-introducing #139029. So this effectively reverts #141309.
Since this means we are relying on the SSE target feature for the Rust ABI, we also need to turn the ABI target feature check into a hard error. If we don't do that, we'll get post-mono errors in some situations and plain miscompilations in others.
Also this will cause performance regressions on LLVM 22 and 21 as those don't have the fix for llvm/llvm-project#142321. IMO that's fine. Programs will do the right thing, they will just be a bit slower due to #139029.
r? @nikic
Cc @tgross35