Skip to content

Conversation

@tgross35
Copy link
Contributor

@tgross35 tgross35 commented Jun 17, 2024

This adds everything that was in some way blocked on const eval, since #126429 landed. There is a lot of cfg(bootstrap) since that is a fairly recent change.

f128 tests are disabled on everything except x86_64 and Linux aarch64, which are two platforms I know have "good" support for these types - meaning basic math symbols are available and LLVM doesn't hit selection crashes. f16 tests are enabled on almost everything except for known LLVM crashes. Doctests are only enabled on x86_64.

Tracking issue: #116909

@rustbot
Copy link
Collaborator

rustbot commented Jun 17, 2024

r? @Mark-Simulacrum

rustbot has assigned @Mark-Simulacrum.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 17, 2024
@tgross35
Copy link
Contributor Author

@rustbot author

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 17, 2024
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@tgross35
Copy link
Contributor Author

@rustbot label +rla-silenced

@rustbot rustbot added the rla-silenced Silences rust-log-analyzer postings to the PR it's added on. label Jun 18, 2024
@tgross35
Copy link
Contributor Author

Ah... guess the Clippy ICEs need to be fixed before this can be merged, #[allow(clippy)] still hits the ICE. Bit of an unfortunate sequence but I guess I need to fix that anyway.

@tgross35 tgross35 force-pushed the f16-f128-library branch 13 times, most recently from 1f22545 to 6a8826e Compare June 19, 2024 00:21
tgross35 added 2 commits June 24, 2024 00:42
This will make it easier to keep `f16` and `f128` consistent as their
implementations get added.
Better explain the reasoning for the `next_up`/`next_down` integer
implementation, as requested by Ralf.
@tgross35
Copy link
Contributor Author

Had to disable f16 doctests on non-unix as well since it looks like extendhfsf/truncsfhf aren't always available. I was able to test locally on Windows MSVC and it passes there now.

@rustbot ready

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jun 24, 2024
tgross35 added 4 commits June 25, 2024 01:32
There are some complexities about what platforms we can test f16 and
f128 on.  Put this in build.rs so we have an easy way to configure tests
with a single attribute, and keep it up to date.
The symbols that these tests rely on are not available on all platforms
and some ABIs are buggy, tests that rely on external functions are
configured to only run on x86 (`f128`) or aarch64 (`f16`).
This adds everything that was directly or transitively blocked on const
arithmetic for these types, which was recently merged.

Since const arithmetic is recent, most of these need to be gated by
`bootstrap`.

Anything that relies on intrinsics that are still missing is excluded.
This suite tests all library functions that are now available for the
types. Tests are only run on certain platforms where `f16` and `f128`
are known to work (have symbols available and don't crash LLVM).
@Mark-Simulacrum
Copy link
Member

@bors r+ rollup=never

@bors
Copy link
Collaborator

bors commented Jun 25, 2024

📌 Commit e181297 has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 25, 2024
@bors
Copy link
Collaborator

bors commented Jun 26, 2024

⌛ Testing commit e181297 with merge 4bdf8d2...

@bors
Copy link
Collaborator

bors commented Jun 26, 2024

☀️ Test successful - checks-actions
Approved by: Mark-Simulacrum
Pushing 4bdf8d2 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jun 26, 2024
@bors bors merged commit 4bdf8d2 into rust-lang:master Jun 26, 2024
@rustbot rustbot added this to the 1.81.0 milestone Jun 26, 2024
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (4bdf8d2): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (primary -2.8%, secondary 2.9%)

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.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
8.1% [8.1%, 8.1%] 1
Improvements ✅
(primary)
-2.8% [-3.4%, -2.2%] 2
Improvements ✅
(secondary)
-2.2% [-2.2%, -2.2%] 1
All ❌✅ (primary) -2.8% [-3.4%, -2.2%] 2

Cycles

Results (primary -1.5%)

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.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.5% [-1.5%, -1.5%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -1.5% [-1.5%, -1.5%] 1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 695.46s -> 694.171s (-0.19%)
Artifact size: 326.69 MiB -> 324.67 MiB (-0.62%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-testsuite Area: The testsuite used to check the correctness of rustc F-f16_and_f128 `#![feature(f16)]`, `#![feature(f128)]` merged-by-bors This PR was explicitly merged by bors. rla-silenced Silences rust-log-analyzer postings to the PR it's added on. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants