Add __powitf2
symbol for f128
integer exponentiation by tgross35 · Pull Request #614 · rust-lang/compiler-builtins (original) (raw)
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 andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation8 Commits3 Checks24 Files changed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
tgross35 changed the title
Add Add __powitf2
symbol for f128
powi__powitf2
symbol for f128
integer exponentation
tgross35 changed the title
Add Add __powitf2
symbol for f128
integer exponentation__powitf2
symbol for f128
integer exponentiation
tgross35 added a commit to tgross35/rust that referenced this pull request
tgross35 added a commit to tgross35/rust that referenced this pull request
Lol @Qadeem411 I have to imagine you didn’t mean to approve this
bors added a commit to rust-lang-ci/rust that referenced this pull request
Add powi
fo f16
and f128
This will unblock adding support to compiler_builtins (<rust-lang/compiler-builtins#614>), which will then unblock adding tests for these new functions.
WIndows targets appear to fail compiling this crate because powi uses the f128 multiply and divide in its implementation, and these are not available. I don't know why only Windows has the issue, but other platforms without these available natively (e.g. aarch darwin) do not, must be slightly different linkage rules. How should I handle this @Amanieu?
I think this just happens to work before libgcc provides these symbols, but that's not available on -msvc targets. You'll need to implement a fallback for that target for testing, at least temporarily.
It looks like I can make this work by recreating __multf3
and __divtf3
in testcrate's lib.rs
, this will just be blocked until I implement divtf3
.
flip1995 pushed a commit to flip1995/rust-clippy that referenced this pull request
Add powi
fo f16
and f128
This will unblock adding support to compiler_builtins (<rust-lang/compiler-builtins#614>), which will then unblock adding tests for these new functions.
__divtf3
hasn't made it to nightly yet, and I can't seem to figure out a way to provide it here to avoid the Windows linking. Hopefully that won't be too far off, but I just disabled this new symbol on MSVC in the meantime.
This should be ready for a look when you get the chance @Amanieu
tgross35 marked this pull request as ready for review
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Feel free to merge it either now (and enable it with MSVC later) or after a boostrap bump.
Thanks! rust-lang/rust#130792 hasn't been picked up yet so I might as well just update that to include this.
Create the symbol __powitf2
.
tgross35 added a commit to tgross35/rust that referenced this pull request
tgross35 added a commit to tgross35/rust that referenced this pull request
bors added a commit to rust-lang-ci/rust that referenced this pull request
cberner pushed a commit to cberner/rust that referenced this pull request
RalfJung pushed a commit to RalfJung/miri that referenced this pull request
cberner pushed a commit to cberner/rust that referenced this pull request