x86_64-win: Return f128 on the stack, matching LLVM#158918
Draft
tgross35 wants to merge 4 commits into
Draft
Conversation
In LLVM 22 the x64 MSVC ABI wasn't matched and f128 was being directly returned in %xmm0, but now it correctly returns the value via a pointer.
We can start matching the codegen introduced by LLVM at [1]. This alone isn't enough to make f128 functional on the platform because libcalls use the LLVM ABI. Current behavior originally introduced in RUST-128388. [1]: llvm/llvm-project@aa47e59
LLVM23 includes the ABI fix to make f128 work [1]. That version isn't yet stable, but at least the type will start getting picked up in top-of-tree CI. While addressing this, also update the comment regarding f16. [1]: llvm/llvm-project@aa47e59
Contributor
Author
|
@bors try jobs=x86_64-msvc*,x86_64-mingw* |
This comment has been minimized.
This comment has been minimized.
rust-bors Bot
pushed a commit
that referenced
this pull request
Jul 7, 2026
x86_64-win: Return f128 on the stack, matching LLVM try-job: x86_64-msvc* try-job: x86_64-mingw*
Collaborator
|
The job Click to see the possible cause of the failure (guessed by this bot) |
Contributor
|
💔 Test for a7adc0d failed: CI. Failed jobs:
|
Contributor
|
☔ The latest upstream changes (presumably #158924) made this pull request unmergeable. Please resolve the merge conflicts by rebasing. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We can start matching the codegen introduced by LLVM at 1. This alone
isn't enough to make f128 functional on the platform because libcalls
use the LLVM ABI.
Current behavior originally introduced in RUST-128388.
The second commit updates
cfg(target_has_reliable_f16)Based on #158889 which is in the queue