compiler-builtins subtree update#155653
Conversation
The described issue in the reverted commit is no longer relevant. This reverts commit 870ab266bad7ec0a56abfc433f92e3c2d67a572c.
…publishing publish via trusted publishing
Resolve the following lints:
* `unpinned-uses`: Pin action versions using `zizmor --fix`
* `excessive-permissions`: Add `permissions: {}` to all workflows
* `template-injection`: This one wasn't too concerning since `${{ ...
}}` was only used for `matrix` and `needs` access, but it is easy
enough to resolve by storing in an environment variable.
Resolve two cases of `ref-version-mismatch` and various `artipacked` instances.
Use the same trick as with other formatting implementations, which makes it possible to get rid of the awkward `-> String` functions.
Add wrappers for compiler-builtins that closer match the libm interfaces, and add basic compiler-builtins float arithmetic to the set of tested functions. This means we now get tests against MPFR, better edge case coverage, extensive testing, and benchmarks for the following functions: * `__add[hsdt]f3` * `__sub[hsdt]f3` * `__mul[hsdt]f3` * `__div[sdt]f3` * `__powi[sdt]f2` Functions from compiler-builtins have not yet been tied in with `update-api-list.py` and the CI tooling that reads it, that will need to be updated in a follow up.
Add the following to our larger test infrastructure: * `__eq[hsdf]2` * `__ne[hsdf]2` * `__unord[hsdf]2` * `__lt[hsdf]2` * `__le[hsdf]2` * `__gt[hsdf]2` * `__ge[hsdf]2`
Add the following to the test infrastructure: * `__extenddftf2` * `__extendhfdf2` * `__extendhfsf2` * `__extendhftf2` * `__extendsfdf2` * `__extendsftf2` * `__truncdfhf2` * `__truncdfsf2` * `__truncsfhf2` * `__trunctfdf2` * `__trunctfhf2` * `__trunctfsf2`
Wire up benchmarks for functions that are now part of our testing infrastructure.
Create a new struct `Hex` that serves all of these purposes via a new trait `DisplayHex`. This is easier to work with because we can make `DisplayHex` a bound of `Float`.
This allows us to use a single base name for functions that have multiple types in the signature, such as `extend_f32_f64`. The compiler-builtins `trunc` operation wrappers had to be renamed to `narrow` to avoid conflicting with libm `trunc`.
Add the following to the test infrastructure: * `__fixdfdi` * `__fixdfsi` * `__fixdfti` * `__fixsfdi` * `__fixsfsi` * `__fixsfti` * `__fixtfdi` * `__fixtfsi` * `__fixtfti` * `__fixunsdfdi` * `__fixunsdfsi` * `__fixunsdfti` * `__fixunssfdi` * `__fixunssfsi` * `__fixunssfti` * `__fixunstfdi` * `__fixunstfsi` * `__fixunstfti`
The .dockerenv check was a workaround for Docker CI where the checkout is mounted read-only. However, its presence does not reliably indicate that the filesystem is unwritable. Use CARGO_TARGET_DIR as the condition instead, which directly captures when a custom writable target directory is in use and avoids false assumptions.
There isn't anything special about its implementation, so make it normal code to clean some things up.
Make it possible to access each argument without relying on `FTy`.
We can always access individual arguments rather than relying on the common `FTy` type. This is a cleaner design anyway since it handles functions with integers in the signature better.
Now that tests have moved to using argument types instead of a whole- function float type, remove `FTy` and its relevant configuration. This will make it possible to use the same infrastructure for functions that don't have any floats as arguments, or don't have any at all. Some uses of `FTy` have been replaced with the `Group` enum, e.g. for match arm patterns and selecting extensive tests. Anything that doesn't have float types in the signature will be in the `Integer` category.
|
Wow that's a lot of commits since the last sync. Feel free to poke me on these if you're waiting on something, didn't realize it had been so long.
Could you add a commit adding it back to |
this was removed by accident before, and only discovered now that we're syncing with the main repo
I think it's mostly bookkeeping for that repo, so it looks like more than it actually is. But there are some useful fixes in there.
Done, hopefully that is sufficient (please r+ if this passes CI, otherwise I'll get back to it in the morning) |
|
Yeah I've been doing a ton of testing changes there recently, not so much implementation work. Still just has to be a record for the count and for the +/-.
Will do, was already planning on it 👍 |
This comment has been minimized.
This comment has been minimized.
… r=tgross35 compiler-builtins subtree update Subtree update of `compiler-builtins` to rust-lang/compiler-builtins@4d3ab86. Created using https://github.com/rust-lang/josh-sync. cc @tgross35 if this is not a good time to sync, but it looks like it's been a while and this should specifically close #153772 r? @ghost
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
💔 Test for 8c8061e failed: CI. Failed job:
|
|
I'll have a patch ready shortly |
|
I can't push this branch, testing in #155709 |
…=tgross35 compiler-builtins subtree update Subtree update of `compiler-builtins` to rust-lang/compiler-builtins@4d3ab86. Created using https://github.com/rust-lang/josh-sync. Closes: #155653
|
This pull request was unapproved due to being closed. |
…=tgross35 compiler-builtins subtree update Subtree update of `compiler-builtins` to rust-lang@4d3ab86. Created using https://github.com/rust-lang/josh-sync. Closes: rust-lang/rust#155653
…=tgross35 compiler-builtins subtree update Subtree update of `compiler-builtins` to rust-lang/compiler-builtins@4d3ab86. Created using https://github.com/rust-lang/josh-sync. Closes: rust-lang/rust#155653
…=tgross35 compiler-builtins subtree update Subtree update of `compiler-builtins` to rust-lang/compiler-builtins@4d3ab86. Created using https://github.com/rust-lang/josh-sync. Closes: rust-lang/rust#155653
…=tgross35 compiler-builtins subtree update Subtree update of `compiler-builtins` to rust-lang/compiler-builtins@4d3ab86. Created using https://github.com/rust-lang/josh-sync. Closes: rust-lang/rust#155653
…=tgross35 compiler-builtins subtree update Subtree update of `compiler-builtins` to rust-lang/compiler-builtins@4d3ab86. Created using https://github.com/rust-lang/josh-sync. Closes: rust-lang/rust#155653
Subtree update of
compiler-builtinsto rust-lang/compiler-builtins@4d3ab86.Created using https://github.com/rust-lang/josh-sync.
cc @tgross35 if this is not a good time to sync, but it looks like it's been a while and this should specifically close #153772
r? @ghost