Skip to content

Conversation

@folkertdev
Copy link
Contributor

Discussed in #137555

These functions are not exposed from std::intrinsics::simd, and not used anywhere outside of the compiler. They also don't lower to particularly good code at least on the major ISAs (I checked x86_64, aarch64, s390x, powerpc), where the vector is just spilled to the stack and scalar functions are used for the actual logic.

r? @RalfJung

@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 25, 2025
@rustbot
Copy link
Collaborator

rustbot commented Feb 25, 2025

Some changes occurred in compiler/rustc_codegen_cranelift

cc @bjorn3

Some changes occurred in compiler/rustc_codegen_gcc

cc @antoyo, @GuillaumeGomez

@RalfJung
Copy link
Member

LGTM, thanks!

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Feb 25, 2025

📌 Commit 60a2689 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 25, 2025
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 25, 2025
Rollup of 8 pull requests

Successful merges:

 - rust-lang#137370 (adjust_abi: make fallback logic for ABIs a bit easier to read)
 - rust-lang#137444 (Improve behavior of `IF_LET_RESCOPE` around temporaries and place expressions)
 - rust-lang#137464 (Fix invalid suggestion from type error for derive macro)
 - rust-lang#137539 ( Add rustdoc-gui regression test for rust-lang#137082 )
 - rust-lang#137576 (Don't doc-comment BTreeMap<K, SetValZST, A>)
 - rust-lang#137595 (remove `simd_fpow` and `simd_fpowi`)
 - rust-lang#137600 (type_ir: remove redundant part of comment)
 - rust-lang#137602 (feature: fix typo in attribute description)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 1511ccd into rust-lang:master Feb 25, 2025
6 checks passed
@rustbot rustbot added this to the 1.87.0 milestone Feb 25, 2025
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 25, 2025
Rollup merge of rust-lang#137595 - folkertdev:remove-simd-pow-powi, r=RalfJung

remove `simd_fpow` and `simd_fpowi`

Discussed in rust-lang#137555

These functions are not exposed from `std::intrinsics::simd`, and not used anywhere outside of the compiler. They also don't lower to particularly good code at least on the major ISAs (I checked x86_64, aarch64, s390x, powerpc), where the vector is just spilled to the stack and scalar functions are used for the actual logic.

r? `@RalfJung`
jieyouxu added a commit to jieyouxu/rust that referenced this pull request Feb 28, 2025
… r=RalfJung

import `simd_` intrinsics

In most cases, we can import the simd intrinsics rather than redeclare them. Apparently, most of these tests were written before `std::intrinsics::simd` existed.

There are a couple of exceptions where we can't yet import:

- the intrinsics are not declared as `const fn` in the standard library, causing issues in the `const-eval` tests
- the `simd_shuffle_generic` function is not exposed from `std::intrinsics`
- the `simd_fpow` and `simd_fpowi` functions are not exposed from `std::intrinsics` (removed in rust-lang#137595)
- some tests use `no_core`, and therefore cannot use `std::intrinsics`

r? `@RalfJung`

cc `@workingjubilee` do you have context on why some intrinsics are not exposed?
jieyouxu added a commit to jieyouxu/rust that referenced this pull request Feb 28, 2025
… r=RalfJung

import `simd_` intrinsics

In most cases, we can import the simd intrinsics rather than redeclare them. Apparently, most of these tests were written before `std::intrinsics::simd` existed.

There are a couple of exceptions where we can't yet import:

- the intrinsics are not declared as `const fn` in the standard library, causing issues in the `const-eval` tests
- the `simd_shuffle_generic` function is not exposed from `std::intrinsics`
- the `simd_fpow` and `simd_fpowi` functions are not exposed from `std::intrinsics` (removed in rust-lang#137595)
- some tests use `no_core`, and therefore cannot use `std::intrinsics`

r? ``@RalfJung``

cc ``@workingjubilee`` do you have context on why some intrinsics are not exposed?
jieyouxu added a commit to jieyouxu/rust that referenced this pull request Feb 28, 2025
… r=RalfJung

import `simd_` intrinsics

In most cases, we can import the simd intrinsics rather than redeclare them. Apparently, most of these tests were written before `std::intrinsics::simd` existed.

There are a couple of exceptions where we can't yet import:

- the intrinsics are not declared as `const fn` in the standard library, causing issues in the `const-eval` tests
- the `simd_shuffle_generic` function is not exposed from `std::intrinsics`
- the `simd_fpow` and `simd_fpowi` functions are not exposed from `std::intrinsics` (removed in rust-lang#137595)
- some tests use `no_core`, and therefore cannot use `std::intrinsics`

r? ```@RalfJung```

cc ```@workingjubilee``` do you have context on why some intrinsics are not exposed?
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Mar 1, 2025
Rollup merge of rust-lang#137551 - folkertdev:import-simd-intrinsics, r=RalfJung

import `simd_` intrinsics

In most cases, we can import the simd intrinsics rather than redeclare them. Apparently, most of these tests were written before `std::intrinsics::simd` existed.

There are a couple of exceptions where we can't yet import:

- the intrinsics are not declared as `const fn` in the standard library, causing issues in the `const-eval` tests
- the `simd_shuffle_generic` function is not exposed from `std::intrinsics`
- the `simd_fpow` and `simd_fpowi` functions are not exposed from `std::intrinsics` (removed in rust-lang#137595)
- some tests use `no_core`, and therefore cannot use `std::intrinsics`

r? ```@RalfJung```

cc ```@workingjubilee``` do you have context on why some intrinsics are not exposed?
github-actions bot pushed a commit to tautschnig/verify-rust-std that referenced this pull request Mar 11, 2025
Rollup of 8 pull requests

Successful merges:

 - rust-lang#137370 (adjust_abi: make fallback logic for ABIs a bit easier to read)
 - rust-lang#137444 (Improve behavior of `IF_LET_RESCOPE` around temporaries and place expressions)
 - rust-lang#137464 (Fix invalid suggestion from type error for derive macro)
 - rust-lang#137539 ( Add rustdoc-gui regression test for rust-lang#137082 )
 - rust-lang#137576 (Don't doc-comment BTreeMap<K, SetValZST, A>)
 - rust-lang#137595 (remove `simd_fpow` and `simd_fpowi`)
 - rust-lang#137600 (type_ir: remove redundant part of comment)
 - rust-lang#137602 (feature: fix typo in attribute description)

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
… r=RalfJung

import `simd_` intrinsics

In most cases, we can import the simd intrinsics rather than redeclare them. Apparently, most of these tests were written before `std::intrinsics::simd` existed.

There are a couple of exceptions where we can't yet import:

- the intrinsics are not declared as `const fn` in the standard library, causing issues in the `const-eval` tests
- the `simd_shuffle_generic` function is not exposed from `std::intrinsics`
- the `simd_fpow` and `simd_fpowi` functions are not exposed from `std::intrinsics` (removed in rust-lang#137595)
- some tests use `no_core`, and therefore cannot use `std::intrinsics`

r? ```@RalfJung```

cc ```@workingjubilee``` do you have context on why some intrinsics are not exposed?
github-actions bot pushed a commit to tautschnig/verify-rust-std that referenced this pull request Mar 11, 2025
Rollup of 8 pull requests

Successful merges:

 - rust-lang#137370 (adjust_abi: make fallback logic for ABIs a bit easier to read)
 - rust-lang#137444 (Improve behavior of `IF_LET_RESCOPE` around temporaries and place expressions)
 - rust-lang#137464 (Fix invalid suggestion from type error for derive macro)
 - rust-lang#137539 ( Add rustdoc-gui regression test for rust-lang#137082 )
 - rust-lang#137576 (Don't doc-comment BTreeMap<K, SetValZST, A>)
 - rust-lang#137595 (remove `simd_fpow` and `simd_fpowi`)
 - rust-lang#137600 (type_ir: remove redundant part of comment)
 - rust-lang#137602 (feature: fix typo in attribute description)

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
… r=RalfJung

import `simd_` intrinsics

In most cases, we can import the simd intrinsics rather than redeclare them. Apparently, most of these tests were written before `std::intrinsics::simd` existed.

There are a couple of exceptions where we can't yet import:

- the intrinsics are not declared as `const fn` in the standard library, causing issues in the `const-eval` tests
- the `simd_shuffle_generic` function is not exposed from `std::intrinsics`
- the `simd_fpow` and `simd_fpowi` functions are not exposed from `std::intrinsics` (removed in rust-lang#137595)
- some tests use `no_core`, and therefore cannot use `std::intrinsics`

r? ```@RalfJung```

cc ```@workingjubilee``` do you have context on why some intrinsics are not exposed?
bjorn3 pushed a commit to bjorn3/rust that referenced this pull request Mar 25, 2025
…=RalfJung

remove `simd_fpow` and `simd_fpowi`

Discussed in rust-lang#137555

These functions are not exposed from `std::intrinsics::simd`, and not used anywhere outside of the compiler. They also don't lower to particularly good code at least on the major ISAs (I checked x86_64, aarch64, s390x, powerpc), where the vector is just spilled to the stack and scalar functions are used for the actual logic.

r? `@RalfJung`
bjorn3 pushed a commit to bjorn3/rust that referenced this pull request Mar 25, 2025
Rollup of 8 pull requests

Successful merges:

 - rust-lang#137370 (adjust_abi: make fallback logic for ABIs a bit easier to read)
 - rust-lang#137444 (Improve behavior of `IF_LET_RESCOPE` around temporaries and place expressions)
 - rust-lang#137464 (Fix invalid suggestion from type error for derive macro)
 - rust-lang#137539 ( Add rustdoc-gui regression test for rust-lang#137082 )
 - rust-lang#137576 (Don't doc-comment BTreeMap<K, SetValZST, A>)
 - rust-lang#137595 (remove `simd_fpow` and `simd_fpowi`)
 - rust-lang#137600 (type_ir: remove redundant part of comment)
 - rust-lang#137602 (feature: fix typo in attribute description)

r? `@ghost`
`@rustbot` modify labels: rollup
GuillaumeGomez pushed a commit to GuillaumeGomez/rust that referenced this pull request Apr 18, 2025
…=RalfJung

remove `simd_fpow` and `simd_fpowi`

Discussed in rust-lang#137555

These functions are not exposed from `std::intrinsics::simd`, and not used anywhere outside of the compiler. They also don't lower to particularly good code at least on the major ISAs (I checked x86_64, aarch64, s390x, powerpc), where the vector is just spilled to the stack and scalar functions are used for the actual logic.

r? `@RalfJung`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

4 participants