Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Update stdarch #136831

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Update stdarch #136831

wants to merge 1 commit into from

Conversation

ehuss
Copy link
Contributor

@ehuss ehuss commented Feb 10, 2025

Updates stdarch

try-job: dist-x86_64-msvc
try-job: aarch64-gnu
try-job: aarch64-gnu-debug
try-job: dist-aarch64-linux
try-job: dist-arm-linux

@rustbot
Copy link
Collaborator

rustbot commented Feb 10, 2025

r? @thomcc

rustbot has assigned @thomcc.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot
Copy link
Collaborator

rustbot commented Feb 10, 2025

⚠️ Warning ⚠️

  • These commits modify submodules.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Feb 10, 2025
@rust-log-analyzer

This comment has been minimized.

@ehuss
Copy link
Contributor Author

ehuss commented Feb 10, 2025

cc @Amanieu

@Amanieu
Copy link
Member

Amanieu commented Feb 11, 2025

@bors r+

@bors
Copy link
Contributor

bors commented Feb 11, 2025

📌 Commit f410520 has been approved by Amanieu

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 11, 2025
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Feb 12, 2025
Update stdarch

Updates stdarch

41 commits in 684de0d6fef708cae08214fef9643dd9ec7296e1..818c71dae1c612bd7b4ffba69e02c8d7270a18f6
2024-12-21 12:02:28 +0000 to 2025-02-09 12:57:14 -0800

- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- add vec_add for s390x: rust-lang/stdarch#1703
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- Fix typo and prettify comment: rust-lang/stdarch#1697
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- New ARM intrinsic generator: rust-lang/stdarch#1693
- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 12, 2025
…llaumeGomez

Rollup of 9 pull requests

Successful merges:

 - rust-lang#135025 (Cast allocas to default address space)
 - rust-lang#136217 (Mark condition/carry bit as clobbered in C-SKY inline assembly)
 - rust-lang#136699 (std: replace the `FromInner` implementation for addresses with private conversion functions)
 - rust-lang#136758 (tests: `-Copt-level=3` instead of `-O` in assembly tests)
 - rust-lang#136761 (tests: `-Copt-level=3` instead of `-O` in codegen tests)
 - rust-lang#136807 (compiler: internally merge `PtxKernel` into `GpuKernel`)
 - rust-lang#136818 (Implement `read*_exact` for `std:io::repeat`)
 - rust-lang#136831 (Update stdarch)
 - rust-lang#136916 (use cc archiver as default in `cc2ar`)

r? `@ghost`
`@rustbot` modify labels: rollup
@workingjubilee
Copy link
Member

@bors r-
@bors try

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 12, 2025
@bors
Copy link
Contributor

bors commented Feb 12, 2025

⌛ Trying commit f410520 with merge 90aa469...

bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 12, 2025
Update stdarch

Updates stdarch

41 commits in 684de0d6fef708cae08214fef9643dd9ec7296e1..818c71dae1c612bd7b4ffba69e02c8d7270a18f6
2024-12-21 12:02:28 +0000 to 2025-02-09 12:57:14 -0800

- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- add vec_add for s390x: rust-lang/stdarch#1703
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- Fix typo and prettify comment: rust-lang/stdarch#1697
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- New ARM intrinsic generator: rust-lang/stdarch#1693
- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688

try-job: aarch64-apple
try-job: aarch64-gnu
try-job: aarch64-gnu-nopt
@GuillaumeGomez
Copy link
Member

Seems like it failed in #136930.

@rust-log-analyzer

This comment has been minimized.

@workingjubilee
Copy link
Member

whoops, wrong job name.

@bors try

@bors
Copy link
Contributor

bors commented Feb 12, 2025

⌛ Trying commit f410520 with merge 45a457d...

bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 12, 2025
Update stdarch

Updates stdarch

41 commits in 684de0d6fef708cae08214fef9643dd9ec7296e1..818c71dae1c612bd7b4ffba69e02c8d7270a18f6
2024-12-21 12:02:28 +0000 to 2025-02-09 12:57:14 -0800

- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- add vec_add for s390x: rust-lang/stdarch#1703
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- Fix typo and prettify comment: rust-lang/stdarch#1697
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- New ARM intrinsic generator: rust-lang/stdarch#1693
- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688

try-job: aarch64-apple
try-job: aarch64-gnu
try-job: aarch64-gnu-debug
@ehuss
Copy link
Contributor Author

ehuss commented Feb 12, 2025

I would suspect it is related to rust-lang/stdarch#1693.
I wonder if the definition of vqsub_u8 changed?

@ehuss
Copy link
Contributor Author

ehuss commented Feb 12, 2025

That particular test (test_vqsub_u8) passes with the LLVM backend, but not cranelift.

@bjorn3 Do you have any ideas?

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented Feb 12, 2025

💔 Test failed - checks-actions

@workingjubilee
Copy link
Member

bjorn3 thinks it was this miscompilation: rust-lang/rustc_codegen_cranelift#1560

@ehuss
Copy link
Contributor Author

ehuss commented Feb 15, 2025

bjorn3 thinks it was this miscompilation: rust-lang/rustc_codegen_cranelift#1560

From what I can tell, with the latest cranelift (or #137078), the test still fails.

@bors
Copy link
Contributor

bors commented Mar 3, 2025

📌 Commit c4cee08 has been approved by Amanieu

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 Mar 3, 2025
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 4, 2025
Update stdarch

Updates stdarch

- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688
- New ARM intrinsic generator: rust-lang/stdarch#1693
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Fix typo and prettify comment: rust-lang/stdarch#1697
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- add vec_add for s390x: rust-lang/stdarch#1703
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- S390x float rounding: rust-lang/stdarch#1712
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- fix compilation on armebv7r-none-eabi: rust-lang/stdarch#1733
- wasm: update for rintf intrinsic rename: rust-lang/stdarch#1721
- powerpc: use the simd_fma intrinsic for vec_madd: rust-lang/stdarch#1734
- powerpc: use llvm.fshl for vec_rl: rust-lang/stdarch#1735
- s390x: add more intrinsics: rust-lang/stdarch#1728
@bors
Copy link
Contributor

bors commented Mar 4, 2025

⌛ Testing commit c4cee08 with merge d9bebb6...

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented Mar 4, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Mar 4, 2025
@RalfJung
Copy link
Member

RalfJung commented Mar 4, 2025

"unnecessary unsafe block" in a stdarch file -- why did stdrach CI not catch this? (library/core/src/../../stdarch/crates/core_arch/src/x86/sse41.rs:192:28)

@usamoi
Copy link
Contributor

usamoi commented Mar 4, 2025

"unnecessary unsafe block" in a stdarch file -- why did stdrach CI not catch this? (library/core/src/../../stdarch/crates/core_arch/src/x86/sse41.rs:192:28)

It seems that rustdoc doesn't build doctests for #[target_feature] functions, if target features are not set at compilation. This doctest only builds for x86_64-apple-darwin because the baseline of this target contains sse4.2.

@RalfJung
Copy link
Member

RalfJung commented Mar 4, 2025

I think the reason is that docstests in stdarch don't use the "local" stdarch, they use the one form libcore, so when stdarch itself changes, doctests only get that update with a delay. Due to stdarch being a submodule, that makes changes that affect doctests quite tricky, as they have to be done in stages.

@usamoi
Copy link
Contributor

usamoi commented Mar 4, 2025

I think the reason is that docstests in stdarch don't use the "local" stdarch, they use the one form libcore, so when stdarch itself changes, doctests only get that update with a delay. Due to stdarch being a submodule, that makes changes that affect doctests quite tricky, as they have to be done in stages.

You are right. I just realized

  • docs of _mm_extract_ps is not built for x86_64-linux-gnu
  • stdarch CI did not catch this

are two different things.

@ehuss
Copy link
Contributor Author

ehuss commented Mar 4, 2025

Dang, I didn't think to try a target that had a different base set of target features enabled by default.

Now blocked on rust-lang/stdarch#1739

@ehuss ehuss force-pushed the update-stdarch branch 2 times, most recently from 2e08593 to e0e1492 Compare March 6, 2025 02:13
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Mar 6, 2025
@ehuss
Copy link
Contributor Author

ehuss commented Mar 6, 2025

@bors try

@bors
Copy link
Contributor

bors commented Mar 6, 2025

⌛ Trying commit e3fd813 with merge ac896e7aecf3a47a74110b13d105db9e2a6cbaeb...

bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 6, 2025
Update stdarch

Updates stdarch

- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688
- New ARM intrinsic generator: rust-lang/stdarch#1693
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Fix typo and prettify comment: rust-lang/stdarch#1697
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- add vec_add for s390x: rust-lang/stdarch#1703
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- S390x float rounding: rust-lang/stdarch#1712
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- fix compilation on armebv7r-none-eabi: rust-lang/stdarch#1733
- wasm: update for rintf intrinsic rename: rust-lang/stdarch#1721
- powerpc: use the simd_fma intrinsic for vec_madd: rust-lang/stdarch#1734
- powerpc: use llvm.fshl for vec_rl: rust-lang/stdarch#1735
- s390x: add more intrinsics: rust-lang/stdarch#1728
- make _mm256_zero{upper,all} safe: rust-lang/stdarch#1736
- fix unnecessary unsafe error in doctest: rust-lang/stdarch#1739
- Feat - Aarch64 FEAT_FAMINMAX: rust-lang/stdarch#1732
- feat - FEAT_LUT neon instrinsics: rust-lang/stdarch#1741

try-job: x86_64-gnu-tools
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
try-job: i686-msvc-1
try-job: i686-msvc-2
try-job: x86_64-msvc-ext1
try-job: x86_64-msvc-ext2
try-job: x86_64-msvc-ext3
try-job: i686-mingw-1
try-job: i686-mingw-2
try-job: i686-mingw-3
try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
try-job: dist-i686-msvc
try-job: dist-aarch64-msvc
try-job: dist-i686-mingw
try-job: dist-x86_64-mingw
try-job: dist-x86_64-msvc-alt
try-job: dist-x86_64-apple
try-job: dist-apple-various
try-job: x86_64-apple-1
try-job: x86_64-apple-2
try-job: dist-aarch64-apple
try-job: aarch64-apple
try-job: dist-android
try-job: dist-ohos
try-job: dist-various-1
try-job: dist-various-2
try-job: test-various
try-job: armhf-gnu
@bors
Copy link
Contributor

bors commented Mar 6, 2025

☀️ Try build successful - checks-actions
Build commit: ac896e7 (ac896e7aecf3a47a74110b13d105db9e2a6cbaeb)

@ehuss
Copy link
Contributor Author

ehuss commented Mar 6, 2025

@bors try

@bors
Copy link
Contributor

bors commented Mar 6, 2025

⌛ Trying commit e3fd813 with merge 25a50037c041fcc495cc02d50f5d1dc75670a725...

bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 6, 2025
Update stdarch

Updates stdarch

- core_arch: Add LoongArch basic intrinsics: rust-lang/stdarch#1688
- New ARM intrinsic generator: rust-lang/stdarch#1693
- Fix the bug in CMPINT intrinsics with IMM3=7: rust-lang/stdarch#1694
- Expand feature detection on AArch64 Darwin: rust-lang/stdarch#1695
- Tidying x86 `as_*` functions: rust-lang/stdarch#1696
- Fix typo and prettify comment: rust-lang/stdarch#1697
- add is_s390x_feature_detected: rust-lang/stdarch#1699
- add vec_add for s390x: rust-lang/stdarch#1703
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: rust-lang/stdarch#1704
- Fix build and CLI behaviour for stdarch-gen-arm. rust-lang/stdarch#1705
- Fix some test naming, and refactor stdarch-verify in general: rust-lang/stdarch#1707
- Update all stdarch crates to Rust 2024: rust-lang/stdarch#1710
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- S390x float rounding: rust-lang/stdarch#1712
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- fix compilation on armebv7r-none-eabi: rust-lang/stdarch#1733
- wasm: update for rintf intrinsic rename: rust-lang/stdarch#1721
- powerpc: use the simd_fma intrinsic for vec_madd: rust-lang/stdarch#1734
- powerpc: use llvm.fshl for vec_rl: rust-lang/stdarch#1735
- s390x: add more intrinsics: rust-lang/stdarch#1728
- make _mm256_zero{upper,all} safe: rust-lang/stdarch#1736
- fix unnecessary unsafe error in doctest: rust-lang/stdarch#1739
- Feat - Aarch64 FEAT_FAMINMAX: rust-lang/stdarch#1732
- feat - FEAT_LUT neon instrinsics: rust-lang/stdarch#1741

try-job: dist-x86_64-msvc
try-job: aarch64-gnu
try-job: aarch64-gnu-debug
try-job: dist-aarch64-linux
try-job: dist-arm-linux
@bors
Copy link
Contributor

bors commented Mar 6, 2025

☀️ Try build successful - checks-actions
Build commit: 25a5003 (25a50037c041fcc495cc02d50f5d1dc75670a725)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc relnotes Marks issues that should be documented in the release notes of the next release. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.