Skip to content

remove win64_128bit_abi_hack #759

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 1 commit into from
Feb 19, 2025

Conversation

RalfJung
Copy link
Member

For msvc and GNU targets, that hack is no longer needed -- rustc by itself now returns i128/u128 via xmm0 on these targets. That got implemented in rust-lang/rust#134290.

For the x86_64-unknown-uefi target, the situation still seems a bit unclear, but using a repr(simd) is definitely wrong for that target as SIMD is not available. So I can't imagine that this PR would make anything any worse...

Fixes #758

@RalfJung
Copy link
Member Author

That aarch64 failure can't be related to this PR, I think.

The windows failure is suspicious but it's on win32 and this patch only affects 64bit systems so I don't think it can be that, either?

@beetrees
Copy link
Contributor

The i686-pc-windows-gnu failure is rust-lang/rust#136795.

Copy link
Contributor

@tgross35 tgross35 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change lgtm, but I just want to be certain of the uefi situation before merging. Also CI issues, I'll try to get those fixed #760.

@tgross35 tgross35 force-pushed the win64_128bit_abi_hack branch from ef328d9 to 349ad31 Compare February 19, 2025 20:39
@tgross35 tgross35 enabled auto-merge (rebase) February 19, 2025 20:39
@tgross35 tgross35 merged commit 72d0cde into rust-lang:master Feb 19, 2025
26 checks passed
tgross35 added a commit to tgross35/rust that referenced this pull request Feb 20, 2025
Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on
Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang#116558
Link: rust-lang/compiler-builtins#758
@tgross35
Copy link
Contributor

r-l/rust update rust-lang/rust#137297

bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 20, 2025
Update `compiler-builtins` to 0.1.147

Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang#116558
Link: rust-lang/compiler-builtins#758

try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 20, 2025
Update `compiler-builtins` to 0.1.147

Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang#116558
Link: rust-lang/compiler-builtins#758

try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
tgross35 added a commit to tgross35/rust that referenced this pull request Feb 23, 2025
Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on
Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang#116558
Link: rust-lang/compiler-builtins#758
tgross35 added a commit to tgross35/compiler-builtins that referenced this pull request Feb 23, 2025
Since [1], the issue should be resolved so the workaround can be
dropped.

This reverts commit 88e83b9.

[1]: rust-lang#759
tgross35 added a commit that referenced this pull request Feb 23, 2025
Since [1], the issue should be resolved so the workaround can be
dropped.

This reverts commit 88e83b9.

[1]: #759
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 23, 2025
Update `compiler-builtins` to 0.1.147

Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang#116558
Link: rust-lang/compiler-builtins#758

try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
tgross35 added a commit to tgross35/rust that referenced this pull request Feb 23, 2025
Update `compiler-builtins` to 0.1.147

Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang#116558
Link: rust-lang/compiler-builtins#758

try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 24, 2025
Rollup merge of rust-lang#137297 - tgross35:update-builtins, r=tgross35

Update `compiler-builtins` to 0.1.147

Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang#116558
Link: rust-lang/compiler-builtins#758

try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
RalfJung pushed a commit to RalfJung/miri that referenced this pull request Feb 24, 2025
Update `compiler-builtins` to 0.1.147

Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang/rust#116558
Link: rust-lang/compiler-builtins#758

try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
bjorn3 pushed a commit to rust-lang/rustc_codegen_cranelift that referenced this pull request Feb 26, 2025
Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on
Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang/rust#116558
Link: rust-lang/compiler-builtins#758
bjorn3 pushed a commit to rust-lang/rustc_codegen_cranelift that referenced this pull request Feb 26, 2025
Update `compiler-builtins` to 0.1.147

Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang/rust#116558
Link: rust-lang/compiler-builtins#758

try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
github-actions bot pushed a commit to tautschnig/verify-rust-std that referenced this pull request Mar 6, 2025
Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on
Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang#116558
Link: rust-lang/compiler-builtins#758
github-actions bot pushed a commit to thanhnguyen-aws/verify-rust-std that referenced this pull request Mar 6, 2025
Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on
Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang#116558
Link: rust-lang/compiler-builtins#758
github-actions bot pushed a commit to tautschnig/verify-rust-std that referenced this pull request Mar 11, 2025
Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on
Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang#116558
Link: rust-lang/compiler-builtins#758
github-actions bot pushed a commit to tautschnig/verify-rust-std that referenced this pull request Mar 11, 2025
Update `compiler-builtins` to 0.1.147

Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang#116558
Link: rust-lang/compiler-builtins#758

try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
github-actions bot pushed a commit to tautschnig/verify-rust-std that referenced this pull request Mar 11, 2025
Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on
Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang#116558
Link: rust-lang/compiler-builtins#758
github-actions bot pushed a commit to tautschnig/verify-rust-std that referenced this pull request Mar 11, 2025
Update `compiler-builtins` to 0.1.147

Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang#116558
Link: rust-lang/compiler-builtins#758

try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
github-actions bot pushed a commit to model-checking/verify-rust-std that referenced this pull request Mar 11, 2025
Removes an ABI hack that used `<2 x i64>` to return `i128` in `xmm0` on
Windows [1].

[1]: rust-lang/compiler-builtins#759
Link: rust-lang#116558
Link: rust-lang/compiler-builtins#758
tgross35 added a commit to tgross35/rust that referenced this pull request Jun 3, 2025
Since [1], the issue should be resolved so the workaround can be
dropped.

This reverts commit 88e83b96ad09f3cf9e2d1b4543a7d43f9c5a77c0.

[1]: rust-lang/compiler-builtins#759
tautschnig pushed a commit to model-checking/verify-rust-std that referenced this pull request Jun 17, 2025
Since [1], the issue should be resolved so the workaround can be
dropped.

This reverts commit 88e83b96ad09f3cf9e2d1b4543a7d43f9c5a77c0.

[1]: rust-lang/compiler-builtins#759
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

x86-64: Some extern "C" functions use U64x2 on a softfloat target, which makes no sense
3 participants