Skip to content

define a Simd type in minicore - #159656

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd
Jul 22, 2026
Merged

define a Simd type in minicore#159656
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd

Conversation

@folkertdev

Copy link
Copy Markdown
Contributor

Saves a lot of repetition.

r? jieyouxu

@rustbotrustbot added A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` 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 Jul 21, 2026
Comment on lines +32 to +33
type i32x5 = Simd<i32, 5>;
type f32x5 = Simd<f32, 5>;

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

non-standard (so not a power of 2) types I've left as type aliases in specific tests.

View changes since the review

Comment on lines +19 to +20
type i32x32 = Simd<i32, 32>; // 1024-bit HVX vector (128B mode)
type i32x64 = Simd<i32, 64>; // 2048-bit HVX vector pair (128B mode)

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

and here the types have specific comments, so I've left them as type aliases here rather than importing.

View changes since the review

@jieyouxujieyouxu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks, r=me once PR CI is 🍏

View changes since this review

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

@bors r+

@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by folkertdev

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Jul 21, 2026
@folkertdev

Copy link
Copy Markdown
ContributorAuthor

ah, wait, hmm

@bors r-

@bors r=jieyouxu

@rust-borsrust-borsBot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved.

View changes since this unapproval

@rust-borsrust-borsBot removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by jieyouxu

It is now in the queue for this repository.

JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
rust-borsBot pushed a commit that referenced this pull request Jul 21, 2026
Rollup of 12 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159411 ([rustdoc] Correctly handle output options with --show-coverage)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 22, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
This was referenced Jul 22, 2026
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
@rust-bors
rust-borsBot merged commit dd38657 into rust-lang:mainJul 22, 2026
13 checks passed
@rustbotrustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 22, 2026
@rustbotrustbot added this to the 1.99.0 milestone Jul 22, 2026
rust-timer added a commit that referenced this pull request Jul 22, 2026
Rollup merge of #159656 - folkertdev:minicore-simd, r=jieyouxu
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
pullBot pushed a commit to xtqqczze/rust-lang-miri that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- rust-lang/rust#159582 (Sync from portable simd 2026 07 20)
- rust-lang/rust#158890 (Fix splat v0 mangling)
- rust-lang/rust#159614 (debuginfo generation for unsafe binders)
- rust-lang/rust#159647 (Remove `early_exit` closures)
- rust-lang/rust#159656 (define a `Simd` type in `minicore`)
- rust-lang/rust#156474 (Add paths for linked associated items)
- rust-lang/rust#159211 (Fix debuginfo argument when invoking LLBC linker)
- rust-lang/rust#159527 (Bring runtime symbols statics on par with foreign functions)
- rust-lang/rust#159625 (Refactor is_opsem_inhabited)
- rust-lang/rust#159629 (Add more splat rust-call regression tests)
- rust-lang/rust#159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- rust-lang/rust#159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- rust-lang/rust#159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 23, 2026
…eyouxu
use `minicore::simd::Simd` more
follow-up to rust-lang#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
rust-timer added a commit that referenced this pull request Jul 24, 2026
Rollup merge of #159764 - folkertdev:use-minicore-simd, r=jieyouxu
use `minicore::simd::Simd` more
follow-up to #159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Jul 25, 2026
use `minicore::simd::Simd` more
follow-up to rust-lang/rust#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
@RalfJung

Copy link
Copy Markdown
Member

How does this relate to tests/auxiliary/minisimd.rs?

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

I thought that minisimd required the standard library, but I now see that isn´t exactly true. I'll make a pass and see what can use minicore and what can just use core.

Something that core still can't do is create vectors like i128x2 or f128x2.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-infra-minicoreArea: `minicore` test auxiliary and `//@ add-core-stubs`T-compilerRelevant 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

@folkertdev@RalfJung@jieyouxu@rustbot
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
define a `Simd` type in `minicore` by folkertdev · Pull Request #159656 · rust-lang/rust · GitHub
Skip to content

define a Simd type in minicore - #159656

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd
Jul 22, 2026
Merged

define a Simd type in minicore#159656
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd

Conversation

@folkertdev

Copy link
Copy Markdown
Contributor

Saves a lot of repetition.

r? jieyouxu

@rustbotrustbot added A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` 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 Jul 21, 2026
Comment on lines +32 to +33
type i32x5 = Simd<i32, 5>;
type f32x5 = Simd<f32, 5>;

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

non-standard (so not a power of 2) types I've left as type aliases in specific tests.

View changes since the review

Comment on lines +19 to +20
type i32x32 = Simd<i32, 32>; // 1024-bit HVX vector (128B mode)
type i32x64 = Simd<i32, 64>; // 2048-bit HVX vector pair (128B mode)

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

and here the types have specific comments, so I've left them as type aliases here rather than importing.

View changes since the review

@jieyouxujieyouxu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks, r=me once PR CI is 🍏

View changes since this review

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

@bors r+

@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by folkertdev

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Jul 21, 2026
@folkertdev

Copy link
Copy Markdown
ContributorAuthor

ah, wait, hmm

@bors r-

@bors r=jieyouxu

@rust-borsrust-borsBot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved.

View changes since this unapproval

@rust-borsrust-borsBot removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by jieyouxu

It is now in the queue for this repository.

JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
rust-borsBot pushed a commit that referenced this pull request Jul 21, 2026
Rollup of 12 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159411 ([rustdoc] Correctly handle output options with --show-coverage)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 22, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
This was referenced Jul 22, 2026
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
@rust-bors
rust-borsBot merged commit dd38657 into rust-lang:mainJul 22, 2026
13 checks passed
@rustbotrustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 22, 2026
@rustbotrustbot added this to the 1.99.0 milestone Jul 22, 2026
rust-timer added a commit that referenced this pull request Jul 22, 2026
Rollup merge of #159656 - folkertdev:minicore-simd, r=jieyouxu
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
pullBot pushed a commit to xtqqczze/rust-lang-miri that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- rust-lang/rust#159582 (Sync from portable simd 2026 07 20)
- rust-lang/rust#158890 (Fix splat v0 mangling)
- rust-lang/rust#159614 (debuginfo generation for unsafe binders)
- rust-lang/rust#159647 (Remove `early_exit` closures)
- rust-lang/rust#159656 (define a `Simd` type in `minicore`)
- rust-lang/rust#156474 (Add paths for linked associated items)
- rust-lang/rust#159211 (Fix debuginfo argument when invoking LLBC linker)
- rust-lang/rust#159527 (Bring runtime symbols statics on par with foreign functions)
- rust-lang/rust#159625 (Refactor is_opsem_inhabited)
- rust-lang/rust#159629 (Add more splat rust-call regression tests)
- rust-lang/rust#159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- rust-lang/rust#159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- rust-lang/rust#159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 23, 2026
…eyouxu
use `minicore::simd::Simd` more
follow-up to rust-lang#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
rust-timer added a commit that referenced this pull request Jul 24, 2026
Rollup merge of #159764 - folkertdev:use-minicore-simd, r=jieyouxu
use `minicore::simd::Simd` more
follow-up to #159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Jul 25, 2026
use `minicore::simd::Simd` more
follow-up to rust-lang/rust#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
@RalfJung

Copy link
Copy Markdown
Member

How does this relate to tests/auxiliary/minisimd.rs?

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

I thought that minisimd required the standard library, but I now see that isn´t exactly true. I'll make a pass and see what can use minicore and what can just use core.

Something that core still can't do is create vectors like i128x2 or f128x2.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-infra-minicoreArea: `minicore` test auxiliary and `//@ add-core-stubs`T-compilerRelevant 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

@folkertdev@RalfJung@jieyouxu@rustbot
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' define a `Simd` type in `minicore` by folkertdev · Pull Request #159656 · rust-lang/rust · GitHub
Skip to content

define a Simd type in minicore - #159656

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd
Jul 22, 2026
Merged

define a Simd type in minicore#159656
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd

Conversation

@folkertdev

Copy link
Copy Markdown
Contributor

Saves a lot of repetition.

r? jieyouxu

@rustbotrustbot added A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` 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 Jul 21, 2026
Comment on lines +32 to +33
type i32x5 = Simd<i32, 5>;
type f32x5 = Simd<f32, 5>;

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

non-standard (so not a power of 2) types I've left as type aliases in specific tests.

View changes since the review

Comment on lines +19 to +20
type i32x32 = Simd<i32, 32>; // 1024-bit HVX vector (128B mode)
type i32x64 = Simd<i32, 64>; // 2048-bit HVX vector pair (128B mode)

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

and here the types have specific comments, so I've left them as type aliases here rather than importing.

View changes since the review

@jieyouxujieyouxu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks, r=me once PR CI is 🍏

View changes since this review

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

@bors r+

@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by folkertdev

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Jul 21, 2026
@folkertdev

Copy link
Copy Markdown
ContributorAuthor

ah, wait, hmm

@bors r-

@bors r=jieyouxu

@rust-borsrust-borsBot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved.

View changes since this unapproval

@rust-borsrust-borsBot removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by jieyouxu

It is now in the queue for this repository.

JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
rust-borsBot pushed a commit that referenced this pull request Jul 21, 2026
Rollup of 12 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159411 ([rustdoc] Correctly handle output options with --show-coverage)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 22, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
This was referenced Jul 22, 2026
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
@rust-bors
rust-borsBot merged commit dd38657 into rust-lang:mainJul 22, 2026
13 checks passed
@rustbotrustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 22, 2026
@rustbotrustbot added this to the 1.99.0 milestone Jul 22, 2026
rust-timer added a commit that referenced this pull request Jul 22, 2026
Rollup merge of #159656 - folkertdev:minicore-simd, r=jieyouxu
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
pullBot pushed a commit to xtqqczze/rust-lang-miri that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- rust-lang/rust#159582 (Sync from portable simd 2026 07 20)
- rust-lang/rust#158890 (Fix splat v0 mangling)
- rust-lang/rust#159614 (debuginfo generation for unsafe binders)
- rust-lang/rust#159647 (Remove `early_exit` closures)
- rust-lang/rust#159656 (define a `Simd` type in `minicore`)
- rust-lang/rust#156474 (Add paths for linked associated items)
- rust-lang/rust#159211 (Fix debuginfo argument when invoking LLBC linker)
- rust-lang/rust#159527 (Bring runtime symbols statics on par with foreign functions)
- rust-lang/rust#159625 (Refactor is_opsem_inhabited)
- rust-lang/rust#159629 (Add more splat rust-call regression tests)
- rust-lang/rust#159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- rust-lang/rust#159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- rust-lang/rust#159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 23, 2026
…eyouxu
use `minicore::simd::Simd` more
follow-up to rust-lang#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
rust-timer added a commit that referenced this pull request Jul 24, 2026
Rollup merge of #159764 - folkertdev:use-minicore-simd, r=jieyouxu
use `minicore::simd::Simd` more
follow-up to #159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Jul 25, 2026
use `minicore::simd::Simd` more
follow-up to rust-lang/rust#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
@RalfJung

Copy link
Copy Markdown
Member

How does this relate to tests/auxiliary/minisimd.rs?

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

I thought that minisimd required the standard library, but I now see that isn´t exactly true. I'll make a pass and see what can use minicore and what can just use core.

Something that core still can't do is create vectors like i128x2 or f128x2.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-infra-minicoreArea: `minicore` test auxiliary and `//@ add-core-stubs`T-compilerRelevant 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

@folkertdev@RalfJung@jieyouxu@rustbot
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' define a `Simd` type in `minicore` by folkertdev · Pull Request #159656 · rust-lang/rust · GitHub
Skip to content

define a Simd type in minicore - #159656

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd
Jul 22, 2026
Merged

define a Simd type in minicore#159656
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd

Conversation

@folkertdev

Copy link
Copy Markdown
Contributor

Saves a lot of repetition.

r? jieyouxu

@rustbotrustbot added A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` 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 Jul 21, 2026
Comment on lines +32 to +33
type i32x5 = Simd<i32, 5>;
type f32x5 = Simd<f32, 5>;

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

non-standard (so not a power of 2) types I've left as type aliases in specific tests.

View changes since the review

Comment on lines +19 to +20
type i32x32 = Simd<i32, 32>; // 1024-bit HVX vector (128B mode)
type i32x64 = Simd<i32, 64>; // 2048-bit HVX vector pair (128B mode)

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

and here the types have specific comments, so I've left them as type aliases here rather than importing.

View changes since the review

@jieyouxujieyouxu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks, r=me once PR CI is 🍏

View changes since this review

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

@bors r+

@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by folkertdev

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Jul 21, 2026
@folkertdev

Copy link
Copy Markdown
ContributorAuthor

ah, wait, hmm

@bors r-

@bors r=jieyouxu

@rust-borsrust-borsBot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved.

View changes since this unapproval

@rust-borsrust-borsBot removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by jieyouxu

It is now in the queue for this repository.

JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
rust-borsBot pushed a commit that referenced this pull request Jul 21, 2026
Rollup of 12 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159411 ([rustdoc] Correctly handle output options with --show-coverage)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 22, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
This was referenced Jul 22, 2026
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
@rust-bors
rust-borsBot merged commit dd38657 into rust-lang:mainJul 22, 2026
13 checks passed
@rustbotrustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 22, 2026
@rustbotrustbot added this to the 1.99.0 milestone Jul 22, 2026
rust-timer added a commit that referenced this pull request Jul 22, 2026
Rollup merge of #159656 - folkertdev:minicore-simd, r=jieyouxu
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
pullBot pushed a commit to xtqqczze/rust-lang-miri that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- rust-lang/rust#159582 (Sync from portable simd 2026 07 20)
- rust-lang/rust#158890 (Fix splat v0 mangling)
- rust-lang/rust#159614 (debuginfo generation for unsafe binders)
- rust-lang/rust#159647 (Remove `early_exit` closures)
- rust-lang/rust#159656 (define a `Simd` type in `minicore`)
- rust-lang/rust#156474 (Add paths for linked associated items)
- rust-lang/rust#159211 (Fix debuginfo argument when invoking LLBC linker)
- rust-lang/rust#159527 (Bring runtime symbols statics on par with foreign functions)
- rust-lang/rust#159625 (Refactor is_opsem_inhabited)
- rust-lang/rust#159629 (Add more splat rust-call regression tests)
- rust-lang/rust#159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- rust-lang/rust#159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- rust-lang/rust#159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 23, 2026
…eyouxu
use `minicore::simd::Simd` more
follow-up to rust-lang#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
rust-timer added a commit that referenced this pull request Jul 24, 2026
Rollup merge of #159764 - folkertdev:use-minicore-simd, r=jieyouxu
use `minicore::simd::Simd` more
follow-up to #159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Jul 25, 2026
use `minicore::simd::Simd` more
follow-up to rust-lang/rust#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
@RalfJung

Copy link
Copy Markdown
Member

How does this relate to tests/auxiliary/minisimd.rs?

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

I thought that minisimd required the standard library, but I now see that isn´t exactly true. I'll make a pass and see what can use minicore and what can just use core.

Something that core still can't do is create vectors like i128x2 or f128x2.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-infra-minicoreArea: `minicore` test auxiliary and `//@ add-core-stubs`T-compilerRelevant 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

@folkertdev@RalfJung@jieyouxu@rustbot
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' define a `Simd` type in `minicore` by folkertdev · Pull Request #159656 · rust-lang/rust · GitHub
Skip to content

define a Simd type in minicore - #159656

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd
Jul 22, 2026
Merged

define a Simd type in minicore#159656
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd

Conversation

@folkertdev

Copy link
Copy Markdown
Contributor

Saves a lot of repetition.

r? jieyouxu

@rustbotrustbot added A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` 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 Jul 21, 2026
Comment on lines +32 to +33
type i32x5 = Simd<i32, 5>;
type f32x5 = Simd<f32, 5>;

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

non-standard (so not a power of 2) types I've left as type aliases in specific tests.

View changes since the review

Comment on lines +19 to +20
type i32x32 = Simd<i32, 32>; // 1024-bit HVX vector (128B mode)
type i32x64 = Simd<i32, 64>; // 2048-bit HVX vector pair (128B mode)

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

and here the types have specific comments, so I've left them as type aliases here rather than importing.

View changes since the review

@jieyouxujieyouxu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks, r=me once PR CI is 🍏

View changes since this review

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

@bors r+

@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by folkertdev

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Jul 21, 2026
@folkertdev

Copy link
Copy Markdown
ContributorAuthor

ah, wait, hmm

@bors r-

@bors r=jieyouxu

@rust-borsrust-borsBot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved.

View changes since this unapproval

@rust-borsrust-borsBot removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by jieyouxu

It is now in the queue for this repository.

JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
rust-borsBot pushed a commit that referenced this pull request Jul 21, 2026
Rollup of 12 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159411 ([rustdoc] Correctly handle output options with --show-coverage)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 22, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
This was referenced Jul 22, 2026
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
@rust-bors
rust-borsBot merged commit dd38657 into rust-lang:mainJul 22, 2026
13 checks passed
@rustbotrustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 22, 2026
@rustbotrustbot added this to the 1.99.0 milestone Jul 22, 2026
rust-timer added a commit that referenced this pull request Jul 22, 2026
Rollup merge of #159656 - folkertdev:minicore-simd, r=jieyouxu
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
pullBot pushed a commit to xtqqczze/rust-lang-miri that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- rust-lang/rust#159582 (Sync from portable simd 2026 07 20)
- rust-lang/rust#158890 (Fix splat v0 mangling)
- rust-lang/rust#159614 (debuginfo generation for unsafe binders)
- rust-lang/rust#159647 (Remove `early_exit` closures)
- rust-lang/rust#159656 (define a `Simd` type in `minicore`)
- rust-lang/rust#156474 (Add paths for linked associated items)
- rust-lang/rust#159211 (Fix debuginfo argument when invoking LLBC linker)
- rust-lang/rust#159527 (Bring runtime symbols statics on par with foreign functions)
- rust-lang/rust#159625 (Refactor is_opsem_inhabited)
- rust-lang/rust#159629 (Add more splat rust-call regression tests)
- rust-lang/rust#159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- rust-lang/rust#159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- rust-lang/rust#159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 23, 2026
…eyouxu
use `minicore::simd::Simd` more
follow-up to rust-lang#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
rust-timer added a commit that referenced this pull request Jul 24, 2026
Rollup merge of #159764 - folkertdev:use-minicore-simd, r=jieyouxu
use `minicore::simd::Simd` more
follow-up to #159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Jul 25, 2026
use `minicore::simd::Simd` more
follow-up to rust-lang/rust#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
@RalfJung

Copy link
Copy Markdown
Member

How does this relate to tests/auxiliary/minisimd.rs?

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

I thought that minisimd required the standard library, but I now see that isn´t exactly true. I'll make a pass and see what can use minicore and what can just use core.

Something that core still can't do is create vectors like i128x2 or f128x2.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-infra-minicoreArea: `minicore` test auxiliary and `//@ add-core-stubs`T-compilerRelevant 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

@folkertdev@RalfJung@jieyouxu@rustbot
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' define a `Simd` type in `minicore` by folkertdev · Pull Request #159656 · rust-lang/rust · GitHub
Skip to content

define a Simd type in minicore - #159656

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd
Jul 22, 2026
Merged

define a Simd type in minicore#159656
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd

Conversation

@folkertdev

Copy link
Copy Markdown
Contributor

Saves a lot of repetition.

r? jieyouxu

@rustbotrustbot added A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` 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 Jul 21, 2026
Comment on lines +32 to +33
type i32x5 = Simd<i32, 5>;
type f32x5 = Simd<f32, 5>;

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

non-standard (so not a power of 2) types I've left as type aliases in specific tests.

View changes since the review

Comment on lines +19 to +20
type i32x32 = Simd<i32, 32>; // 1024-bit HVX vector (128B mode)
type i32x64 = Simd<i32, 64>; // 2048-bit HVX vector pair (128B mode)

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

and here the types have specific comments, so I've left them as type aliases here rather than importing.

View changes since the review

@jieyouxujieyouxu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks, r=me once PR CI is 🍏

View changes since this review

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

@bors r+

@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by folkertdev

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Jul 21, 2026
@folkertdev

Copy link
Copy Markdown
ContributorAuthor

ah, wait, hmm

@bors r-

@bors r=jieyouxu

@rust-borsrust-borsBot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved.

View changes since this unapproval

@rust-borsrust-borsBot removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by jieyouxu

It is now in the queue for this repository.

JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
rust-borsBot pushed a commit that referenced this pull request Jul 21, 2026
Rollup of 12 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159411 ([rustdoc] Correctly handle output options with --show-coverage)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 22, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
This was referenced Jul 22, 2026
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
@rust-bors
rust-borsBot merged commit dd38657 into rust-lang:mainJul 22, 2026
13 checks passed
@rustbotrustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 22, 2026
@rustbotrustbot added this to the 1.99.0 milestone Jul 22, 2026
rust-timer added a commit that referenced this pull request Jul 22, 2026
Rollup merge of #159656 - folkertdev:minicore-simd, r=jieyouxu
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
pullBot pushed a commit to xtqqczze/rust-lang-miri that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- rust-lang/rust#159582 (Sync from portable simd 2026 07 20)
- rust-lang/rust#158890 (Fix splat v0 mangling)
- rust-lang/rust#159614 (debuginfo generation for unsafe binders)
- rust-lang/rust#159647 (Remove `early_exit` closures)
- rust-lang/rust#159656 (define a `Simd` type in `minicore`)
- rust-lang/rust#156474 (Add paths for linked associated items)
- rust-lang/rust#159211 (Fix debuginfo argument when invoking LLBC linker)
- rust-lang/rust#159527 (Bring runtime symbols statics on par with foreign functions)
- rust-lang/rust#159625 (Refactor is_opsem_inhabited)
- rust-lang/rust#159629 (Add more splat rust-call regression tests)
- rust-lang/rust#159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- rust-lang/rust#159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- rust-lang/rust#159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 23, 2026
…eyouxu
use `minicore::simd::Simd` more
follow-up to rust-lang#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
rust-timer added a commit that referenced this pull request Jul 24, 2026
Rollup merge of #159764 - folkertdev:use-minicore-simd, r=jieyouxu
use `minicore::simd::Simd` more
follow-up to #159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Jul 25, 2026
use `minicore::simd::Simd` more
follow-up to rust-lang/rust#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
@RalfJung

Copy link
Copy Markdown
Member

How does this relate to tests/auxiliary/minisimd.rs?

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

I thought that minisimd required the standard library, but I now see that isn´t exactly true. I'll make a pass and see what can use minicore and what can just use core.

Something that core still can't do is create vectors like i128x2 or f128x2.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-infra-minicoreArea: `minicore` test auxiliary and `//@ add-core-stubs`T-compilerRelevant 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

@folkertdev@RalfJung@jieyouxu@rustbot
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' define a `Simd` type in `minicore` by folkertdev · Pull Request #159656 · rust-lang/rust · GitHub
Skip to content

define a Simd type in minicore - #159656

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd
Jul 22, 2026
Merged

define a Simd type in minicore#159656
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd

Conversation

@folkertdev

Copy link
Copy Markdown
Contributor

Saves a lot of repetition.

r? jieyouxu

@rustbotrustbot added A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` 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 Jul 21, 2026
Comment on lines +32 to +33
type i32x5 = Simd<i32, 5>;
type f32x5 = Simd<f32, 5>;

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

non-standard (so not a power of 2) types I've left as type aliases in specific tests.

View changes since the review

Comment on lines +19 to +20
type i32x32 = Simd<i32, 32>; // 1024-bit HVX vector (128B mode)
type i32x64 = Simd<i32, 64>; // 2048-bit HVX vector pair (128B mode)

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

and here the types have specific comments, so I've left them as type aliases here rather than importing.

View changes since the review

@jieyouxujieyouxu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks, r=me once PR CI is 🍏

View changes since this review

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

@bors r+

@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by folkertdev

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Jul 21, 2026
@folkertdev

Copy link
Copy Markdown
ContributorAuthor

ah, wait, hmm

@bors r-

@bors r=jieyouxu

@rust-borsrust-borsBot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved.

View changes since this unapproval

@rust-borsrust-borsBot removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by jieyouxu

It is now in the queue for this repository.

JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
rust-borsBot pushed a commit that referenced this pull request Jul 21, 2026
Rollup of 12 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159411 ([rustdoc] Correctly handle output options with --show-coverage)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 22, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
This was referenced Jul 22, 2026
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
@rust-bors
rust-borsBot merged commit dd38657 into rust-lang:mainJul 22, 2026
13 checks passed
@rustbotrustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 22, 2026
@rustbotrustbot added this to the 1.99.0 milestone Jul 22, 2026
rust-timer added a commit that referenced this pull request Jul 22, 2026
Rollup merge of #159656 - folkertdev:minicore-simd, r=jieyouxu
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
pullBot pushed a commit to xtqqczze/rust-lang-miri that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- rust-lang/rust#159582 (Sync from portable simd 2026 07 20)
- rust-lang/rust#158890 (Fix splat v0 mangling)
- rust-lang/rust#159614 (debuginfo generation for unsafe binders)
- rust-lang/rust#159647 (Remove `early_exit` closures)
- rust-lang/rust#159656 (define a `Simd` type in `minicore`)
- rust-lang/rust#156474 (Add paths for linked associated items)
- rust-lang/rust#159211 (Fix debuginfo argument when invoking LLBC linker)
- rust-lang/rust#159527 (Bring runtime symbols statics on par with foreign functions)
- rust-lang/rust#159625 (Refactor is_opsem_inhabited)
- rust-lang/rust#159629 (Add more splat rust-call regression tests)
- rust-lang/rust#159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- rust-lang/rust#159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- rust-lang/rust#159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 23, 2026
…eyouxu
use `minicore::simd::Simd` more
follow-up to rust-lang#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
rust-timer added a commit that referenced this pull request Jul 24, 2026
Rollup merge of #159764 - folkertdev:use-minicore-simd, r=jieyouxu
use `minicore::simd::Simd` more
follow-up to #159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Jul 25, 2026
use `minicore::simd::Simd` more
follow-up to rust-lang/rust#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
@RalfJung

Copy link
Copy Markdown
Member

How does this relate to tests/auxiliary/minisimd.rs?

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

I thought that minisimd required the standard library, but I now see that isn´t exactly true. I'll make a pass and see what can use minicore and what can just use core.

Something that core still can't do is create vectors like i128x2 or f128x2.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-infra-minicoreArea: `minicore` test auxiliary and `//@ add-core-stubs`T-compilerRelevant 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

@folkertdev@RalfJung@jieyouxu@rustbot
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); define a `Simd` type in `minicore` by folkertdev · Pull Request #159656 · rust-lang/rust · GitHub
Skip to content

define a Simd type in minicore - #159656

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd
Jul 22, 2026
Merged

define a Simd type in minicore#159656
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
folkertdev:minicore-simd

Conversation

@folkertdev

Copy link
Copy Markdown
Contributor

Saves a lot of repetition.

r? jieyouxu

@rustbotrustbot added A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` 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 Jul 21, 2026
Comment on lines +32 to +33
type i32x5 = Simd<i32, 5>;
type f32x5 = Simd<f32, 5>;

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

non-standard (so not a power of 2) types I've left as type aliases in specific tests.

View changes since the review

Comment on lines +19 to +20
type i32x32 = Simd<i32, 32>; // 1024-bit HVX vector (128B mode)
type i32x64 = Simd<i32, 64>; // 2048-bit HVX vector pair (128B mode)

@folkertdevfolkertdevJul 21, 2026

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

and here the types have specific comments, so I've left them as type aliases here rather than importing.

View changes since the review

@jieyouxujieyouxu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks, r=me once PR CI is 🍏

View changes since this review

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

@bors r+

@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by folkertdev

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Jul 21, 2026
@folkertdev

Copy link
Copy Markdown
ContributorAuthor

ah, wait, hmm

@bors r-

@bors r=jieyouxu

@rust-borsrust-borsBot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved.

View changes since this unapproval

@rust-borsrust-borsBot removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jul 21, 2026
@rust-bors

rust-borsBot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3feb78f has been approved by jieyouxu

It is now in the queue for this repository.

JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
rust-borsBot pushed a commit that referenced this pull request Jul 21, 2026
Rollup of 12 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159411 ([rustdoc] Correctly handle output options with --show-coverage)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 22, 2026
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
This was referenced Jul 22, 2026
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
rust-borsBot pushed a commit that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- #159582 (Sync from portable simd 2026 07 20)
- #158890 (Fix splat v0 mangling)
- #159614 (debuginfo generation for unsafe binders)
- #159647 (Remove `early_exit` closures)
- #159656 (define a `Simd` type in `minicore`)
- #156474 (Add paths for linked associated items)
- #159211 (Fix debuginfo argument when invoking LLBC linker)
- #159527 (Bring runtime symbols statics on par with foreign functions)
- #159625 (Refactor is_opsem_inhabited)
- #159629 (Add more splat rust-call regression tests)
- #159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- #159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- #159663 (Add layout cycle hang regression test)
@rust-bors
rust-borsBot merged commit dd38657 into rust-lang:mainJul 22, 2026
13 checks passed
@rustbotrustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 22, 2026
@rustbotrustbot added this to the 1.99.0 milestone Jul 22, 2026
rust-timer added a commit that referenced this pull request Jul 22, 2026
Rollup merge of #159656 - folkertdev:minicore-simd, r=jieyouxu
define a `Simd` type in `minicore`
Saves a lot of repetition.
r? jieyouxu
pullBot pushed a commit to xtqqczze/rust-lang-miri that referenced this pull request Jul 22, 2026
Rollup of 13 pull requests
Successful merges:
- rust-lang/rust#159582 (Sync from portable simd 2026 07 20)
- rust-lang/rust#158890 (Fix splat v0 mangling)
- rust-lang/rust#159614 (debuginfo generation for unsafe binders)
- rust-lang/rust#159647 (Remove `early_exit` closures)
- rust-lang/rust#159656 (define a `Simd` type in `minicore`)
- rust-lang/rust#156474 (Add paths for linked associated items)
- rust-lang/rust#159211 (Fix debuginfo argument when invoking LLBC linker)
- rust-lang/rust#159527 (Bring runtime symbols statics on par with foreign functions)
- rust-lang/rust#159625 (Refactor is_opsem_inhabited)
- rust-lang/rust#159629 (Add more splat rust-call regression tests)
- rust-lang/rust#159652 (Remove `cfg(not(no_global_oom_handling))` from the `Drop` impl of `UniqueArcUninit`)
- rust-lang/rust#159657 (Remove the blanket `#![cfg_attr(test, allow(unused))]` from bootstrap )
- rust-lang/rust#159663 (Add layout cycle hang regression test)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 23, 2026
…eyouxu
use `minicore::simd::Simd` more
follow-up to rust-lang#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
rust-timer added a commit that referenced this pull request Jul 24, 2026
Rollup merge of #159764 - folkertdev:use-minicore-simd, r=jieyouxu
use `minicore::simd::Simd` more
follow-up to #159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
github-actionsBot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Jul 25, 2026
use `minicore::simd::Simd` more
follow-up to rust-lang/rust#159656.
I've used `grep -rlZ "repr_simd" . | xargs -0 grep -l "use minicore"` to find all test files that used both `repr_simd` and `use minicore`, they now all use `minicore::simd` to `repr_simd` is no longer needed for them.
@RalfJung

Copy link
Copy Markdown
Member

How does this relate to tests/auxiliary/minisimd.rs?

@folkertdev

Copy link
Copy Markdown
ContributorAuthor

I thought that minisimd required the standard library, but I now see that isn´t exactly true. I'll make a pass and see what can use minicore and what can just use core.

Something that core still can't do is create vectors like i128x2 or f128x2.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-infra-minicoreArea: `minicore` test auxiliary and `//@ add-core-stubs`T-compilerRelevant 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

@folkertdev@RalfJung@jieyouxu@rustbot