-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Update compiler-builtins
and enable f128 tests on all non-buggy platforms
#132434
Conversation
rustbot has assigned @workingjubilee. Use |
These commits modify the If this was unintentional then you should revert the changes before this PR is merged. The list of allowed third-party dependencies may have been modified! You must ensure that any new dependencies have compatible licenses before merging. |
Those are quite a few try jobs but it still doesn't cover everything that will be newly enabled here. @bors rollup=never |
Enable f128 tests on all non-buggy platforms 🎉 With the `compiler-builtins` update to 0.1.137 [1], we now provide symbols necessary to work with `f128` everywhere. This means that we are no longer restricted to 64-bit linux, and can enable tests by default. There are still a handful of platforms that need to remain disabled because of bugs. Math support is still off by default since those symbols are not yet available. [1]: rust-lang#132433 try-job: arm-android try-job: armhf-gnu try-job: i686-gnu try-job: x86_64-apple-1 try-job: i686-mingw try-job: x86_64-msvc-ext
Also cc @beetrees |
☀️ Try build successful - checks-actions |
This has a merge conflict, it seems. |
15075bf
to
95998ee
Compare
I have rebased it. |
I think the Also |
I do not believe we run the relevant tests on mips64? |
I decided to change up the suite of tests slightly and rerun this. In particular, I noticed we didn't run the infamous @bors try |
Enable f128 tests on all non-buggy platforms 🎉 With the `compiler-builtins` update to 0.1.137 [1], we now provide symbols necessary to work with `f128` everywhere. This means that we are no longer restricted to 64-bit linux, and can enable tests by default. There are still a handful of platforms that need to remain disabled because of bugs. Math support is still off by default since those symbols are not yet available. [1]: rust-lang#132433 try-job: armhf-gnu try-job: i686-gnu try-job: i686-gnu-nopt try-job: test-various try-job: dist-mips-linux try-job: dist-mips64el-linux
This comment has been minimized.
This comment has been minimized.
All MIPS targets are tier 3, so no builds or tests of any kind are run by |
Mention of #125102 can be removed from the PowerPC arm of the match statement as that issue is now fixed. The other PowerPC-related bugs currently unfixed that aren't currently listed in the match arm are llvm/llvm-project#98126, llvm/llvm-project#92866 ( |
This updates to a new version of builtins that includes [1], which was the last blocker to us enabling `f128` tests on all platforms 🎉. With this update, also change to pinning the version with `=` rather than using the default carat versioning. This is meant to ensure that `compiler-builtins` does not get updated as part of the weekly `Cargo.lock` update, since updates to this crate need to be intentional: changes to rust-lang/rust and rust-lang/compiler-builtins sometimes need to be kept in lockstep, unlike most dependencies, and sometimes these updates can be problematic. [1]: rust-lang/compiler-builtins#624
I updated this to skip x86 and mips as mentioned. Indeed we don't test this (and try job only allow the jobs listed here, though I wish it was possible to do try jobs for tier 3 targets) but I know there are people running the test suite locally, e.g. #127235. Also adjusted some comments. Updated try jobs to those that have been mentioned but not yet tested. @bors try |
Enable f128 tests on all non-buggy platforms 🎉 With the `compiler-builtins` update to 0.1.137 [1], we now provide symbols necessary to work with `f128` everywhere. This means that we are no longer restricted to 64-bit linux, and can enable tests by default. There are still a handful of platforms that need to remain disabled because of bugs. Math support is still off by default since those symbols are not yet available. [1]: rust-lang#132433 try-job: test-various try-job: i686-gnu-nopt
⌛ Trying commit 898ecf0 with merge 2ec481c395b83f7d7eb0b3521f6ab25f23a6360d... |
With the `compiler-builtins` update to 0.1.137 [1], we now provide symbols necessary to work with `f128` everywhere. This means that we are no longer restricted to 64-bit linux, and can enable tests by default. There are still a handful of platforms that need to remain disabled because of bugs. This patch additionally disables the following: 1. MIPS [2] 2. 32-bit x86 [3] Math support is still off by default since those symbols are not yet available. [1]: rust-lang#132433 [2]: llvm/llvm-project#96432 [3]: llvm/llvm-project#77401
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.
LGTM. Thanks
compiler-builtins
and enable f128 tests on all non-buggy platforms
mmh. my usual inclination is that we should leave known-failing-on-tier-3 tests on, so that people who are doing just that are aware that the platform's support is incomplete... and if they run the tests and then are bothered by it, we're usually amenable to exclusions. as this is a nightly feature though I'm not strongly motivated either way. |
let's get this show on the road: |
☀️ Test successful - checks-actions |
Finished benchmarking commit (706eec8): comparison URL. Overall result: ❌✅ regressions and improvements - no action needed@rustbot label: -perf-regression Instruction countThis is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.
Max RSS (memory usage)Results (primary -1.2%, secondary 1.4%)This 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.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 780.005s -> 778.282s (-0.22%) |
Is it correct that compiler-builtins/libm doesn't define |
I see in your first message you mention:
However, the compiler does appear to be generating references to |
Update compiler_builtins to 0.1.138 and pin it. This updates to a new version of builtins that includes 1, which was
the last blocker to us enabling
f128
tests on all platforms.With that, we now provide symbols necessary to work with
f128
everywhere. This means that we are no longer restricted to systems that providef128
symbols themselves, and can enable tests by default.There are still a handful of platforms that need to remain disabled because of bugs and some that had to get updated.
Math support is still off by default since those symbols are not yet available.
try-job: test-various
try-job: i686-gnu-nopt