Skip to content

Remove SSE ABI from i586-pc-windows-msvc #137149

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 17, 2025

Conversation

Noratrieb
Copy link
Member

As an i586 target, it should not have SSE. This caused the following warning to be emitted:

warning: target feature `sse2` must be enabled to ensure that the ABI of the current target can be implemented correctly
  |
  = note: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
  = note: for more information, see issue #116344 <https://github.com/rust-lang/rust/issues/116344>

warning: 1 warning emitted

see #116344.

r? RalfJung

As an i586 target, it should not have SSE. This caused the following
warning to be emitted:

```
warning: target feature `sse2` must be enabled to ensure that the ABI of the current target can be implemented correctly
  |
  = note: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
  = note: for more information, see issue rust-lang#116344 <rust-lang#116344>

warning: 1 warning emitted
```
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Feb 16, 2025
@rustbot
Copy link
Collaborator

rustbot commented Feb 16, 2025

These commits modify compiler targets.
(See the Target Tier Policy.)

@Noratrieb
Copy link
Member Author

Before someone questions why I would use this target, don't worry. I was simply running --print target-spec-json on every target :D

@RalfJung
Copy link
Member

Ah, I must have missed this one -- having it inherit from the "stronger" target makes this quite error-prone.

@bors r+ rollup

I was simply running --print target-spec-json on every target :D

So you're reasonably sure that this is the only problematic one?

@bors
Copy link
Collaborator

bors commented Feb 16, 2025

📌 Commit 1c66d5b has been approved by RalfJung

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 16, 2025
@RalfJung RalfJung added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Feb 16, 2025
@RalfJung
Copy link
Member

Nominating for backporting to the beta; this is a tier 2 target and without this PR everyone using it will get the above warning.

@Noratrieb
Copy link
Member Author

Ah, I must have missed this one -- having it inherit from the "stronger" target makes this quite error-prone.

@bors r+ rollup

I was simply running --print target-spec-json on every target :D

So you're reasonably sure that this is the only problematic one?

Yes, I am sure that this is the only target where this warning is emitted. I also double-checked all the other i585 targets and they either override it when inheriting or don't inherit at all.

workingjubilee added a commit to workingjubilee/rustc that referenced this pull request Feb 16, 2025
…lfJung

Remove SSE ABI from i586-pc-windows-msvc

As an i586 target, it should not have SSE. This caused the following warning to be emitted:

```
warning: target feature `sse2` must be enabled to ensure that the ABI of the current target can be implemented correctly
  |
  = note: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
  = note: for more information, see issue rust-lang#116344 <rust-lang#116344>

warning: 1 warning emitted
```

see rust-lang#116344.

r? RalfJung
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 17, 2025
…kingjubilee

Rollup of 12 pull requests

Successful merges:

 - rust-lang#136671 (Overhaul `rustc_middle::limits`)
 - rust-lang#136817 (Pattern Migration 2024: clean up and comment)
 - rust-lang#136844 (Use `const_error!` when possible)
 - rust-lang#136953 (rustc_target: import TargetMetadata)
 - rust-lang#137095 (Replace some u64 hashes with Hash64)
 - rust-lang#137100 (HIR analysis: Remove unnecessary abstraction over list of clauses)
 - rust-lang#137105 (Restrict DerefPure for Cow<T> impl to T = impl Clone, [impl Clone], str.)
 - rust-lang#137120 (Enable `relative-path-include-bytes-132203` rustdoc-ui test on Windows)
 - rust-lang#137125 (Re-add missing empty lines in the releases notes)
 - rust-lang#137140 (Fix const items not being allowed to be called `r#move` or `r#static`)
 - rust-lang#137145 (use add-core-stubs / minicore for a few more tests)
 - rust-lang#137149 (Remove SSE ABI from i586-pc-windows-msvc)

r? `@ghost`
`@rustbot` modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 17, 2025
…iaskrgr

Rollup of 7 pull requests

Successful merges:

 - rust-lang#137095 (Replace some u64 hashes with Hash64)
 - rust-lang#137100 (HIR analysis: Remove unnecessary abstraction over list of clauses)
 - rust-lang#137105 (Restrict DerefPure for Cow<T> impl to T = impl Clone, [impl Clone], str.)
 - rust-lang#137120 (Enable `relative-path-include-bytes-132203` rustdoc-ui test on Windows)
 - rust-lang#137125 (Re-add missing empty lines in the releases notes)
 - rust-lang#137145 (use add-core-stubs / minicore for a few more tests)
 - rust-lang#137149 (Remove SSE ABI from i586-pc-windows-msvc)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 183fc30 into rust-lang:master Feb 17, 2025
6 checks passed
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 17, 2025
Rollup merge of rust-lang#137149 - Noratrieb:wtf-is-this-target, r=RalfJung

Remove SSE ABI from i586-pc-windows-msvc

As an i586 target, it should not have SSE. This caused the following warning to be emitted:

```
warning: target feature `sse2` must be enabled to ensure that the ABI of the current target can be implemented correctly
  |
  = note: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
  = note: for more information, see issue rust-lang#116344 <rust-lang#116344>

warning: 1 warning emitted
```

see rust-lang#116344.

r? RalfJung
@rustbot rustbot added this to the 1.87.0 milestone Feb 17, 2025
@Noratrieb Noratrieb deleted the wtf-is-this-target branch February 17, 2025 14:39
@RalfJung
Copy link
Member

(To be clear this is meant for backport to the just-branched beta that will be released in 6 weeks, not the about-to-be-released stable.)

@RalfJung
Copy link
Member

@Noratrieb

Yes, I am sure that this is the only target where this warning is emitted. I also double-checked all the other i585 targets and they either override it when inheriting or don't inherit at all.

Is there some way we could turn this into an automated test? I was wondering how to best ensure that all our built-in targets pass the target feature ABI check, but so far didn't find anything great.

@Noratrieb
Copy link
Member Author

Having a "execute -vV for all targets" test seems reasonable to me. We could run it with -Dwarnings or even ensure that there's no stderr outout at all (there currently is for some other targets, some MIPS thing saying it's experimental in LLVM and #137150

@apiraino
Copy link
Contributor

Yes, I am sure that this is the only target where this warning is emitted. I also double-checked all the other i585 targets and they either override it when inheriting or don't inherit at all.

@Noratrieb Isn't there a proposal to remove this target completely in MCP#840? Are there actual people using it and thus is a backport interesting? (asking more for curiosity)

@RalfJung
Copy link
Member

It seems like a low-risk backport to avoid the situation of everyone using that target getting a bogus warning. That's why I nominated it. I don't think the fact that the target will likely be removed soon changes that calculus.

@Noratrieb
Copy link
Member Author

I wouldn't bother backporting it given that the target useless and will be removed.

@apiraino
Copy link
Contributor

Beta backport accepted as per compiler team on Zulip. A backport PR will be authored by the release team at the end of the current development cycle. Backport labels handled by them.

@rustbot label +beta-accepted

@rustbot rustbot added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Feb 20, 2025
@cuviper cuviper removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Feb 21, 2025
@cuviper cuviper modified the milestones: 1.87.0, 1.86.0 Feb 21, 2025
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 24, 2025
[beta] stage0 update and a backport

- bump stage0 to 1.85.0
- Remove SSE ABI from i586-pc-windows-msvc rust-lang#137149

r? cuviper
github-actions bot pushed a commit to tautschnig/verify-rust-std that referenced this pull request Mar 11, 2025
…iaskrgr

Rollup of 7 pull requests

Successful merges:

 - rust-lang#137095 (Replace some u64 hashes with Hash64)
 - rust-lang#137100 (HIR analysis: Remove unnecessary abstraction over list of clauses)
 - rust-lang#137105 (Restrict DerefPure for Cow<T> impl to T = impl Clone, [impl Clone], str.)
 - rust-lang#137120 (Enable `relative-path-include-bytes-132203` rustdoc-ui test on Windows)
 - rust-lang#137125 (Re-add missing empty lines in the releases notes)
 - rust-lang#137145 (use add-core-stubs / minicore for a few more tests)
 - rust-lang#137149 (Remove SSE ABI from i586-pc-windows-msvc)

r? `@ghost`
`@rustbot` modify labels: rollup
github-actions bot pushed a commit to tautschnig/verify-rust-std that referenced this pull request Mar 11, 2025
…iaskrgr

Rollup of 7 pull requests

Successful merges:

 - rust-lang#137095 (Replace some u64 hashes with Hash64)
 - rust-lang#137100 (HIR analysis: Remove unnecessary abstraction over list of clauses)
 - rust-lang#137105 (Restrict DerefPure for Cow<T> impl to T = impl Clone, [impl Clone], str.)
 - rust-lang#137120 (Enable `relative-path-include-bytes-132203` rustdoc-ui test on Windows)
 - rust-lang#137125 (Re-add missing empty lines in the releases notes)
 - rust-lang#137145 (use add-core-stubs / minicore for a few more tests)
 - rust-lang#137149 (Remove SSE ABI from i586-pc-windows-msvc)

r? `@ghost`
`@rustbot` modify labels: rollup
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
beta-accepted Accepted for backporting to the compiler in the beta channel. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants