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

@tgross35 tgross35 changed the titleAdd __powitf2 symbol for f128 powi Add __powitf2 symbol for f128 integer exponentation

May 16, 2024

@tgross35 tgross35 changed the titleAdd __powitf2 symbol for f128 integer exponentation Add __powitf2 symbol for f128 integer exponentiation

May 16, 2024

tgross35 added a commit to tgross35/rust that referenced this pull request

May 16, 2024

@tgross35

tgross35 added a commit to tgross35/rust that referenced this pull request

May 16, 2024

@tgross35

@tgross35

Qadeem411

@tgross35

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

May 17, 2024

@bors

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.

@tgross35

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?

@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.

@tgross35

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

May 24, 2024

@bors

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.

@tgross35

__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 tgross35 marked this pull request as ready for review

September 26, 2024 02:46

Amanieu

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.

@tgross35

Thanks! rust-lang/rust#130792 hasn't been picked up yet so I might as well just update that to include this.

@tgross35

@tgross35

Create the symbol __powitf2.

@tgross35

tgross35 added a commit to tgross35/rust that referenced this pull request

Sep 28, 2024

@tgross35

tgross35 added a commit to tgross35/rust that referenced this pull request

Sep 28, 2024

@tgross35

bors added a commit to rust-lang-ci/rust that referenced this pull request

Sep 28, 2024

@bors

cberner pushed a commit to cberner/rust that referenced this pull request

Sep 28, 2024

@tgross35 @cberner

RalfJung pushed a commit to RalfJung/miri that referenced this pull request

Oct 3, 2024

@bors

cberner pushed a commit to cberner/rust that referenced this pull request

Oct 13, 2024

@tgross35 @cberner