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

New ARM intrinsic generator #1693

Merged
merged 8 commits into from
Jan 16, 2025

Conversation

Jamesbarford
Copy link
Contributor

New Arm intrinsic generator

A new generator for creating ARM intrinsics using YAML. The input which superseeds the old generators bespoke file format that was proving cumbersome to maintain and tricky to expand to support other architectures than neon. The YAML provides a more expressive and maintainable way to declare intrinsics.

Summary of changes

  • Remove the old generator
  • Add new generator
  • Add YAML files for generating rust instrinsics
  • aarch64/neon/generated.rs and arm_shared/neon/generated.rs are both newly created from the new input as such has a slightly different output and code style.

@rustbot
Copy link
Collaborator

rustbot commented Dec 16, 2024

r? @Amanieu

rustbot has assigned @Amanieu.
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

@Amanieu
Copy link
Member

Amanieu commented Dec 18, 2024

Some initial notes (I'm travelling and will do a full review later):

  • I'm very glad to see this! It indeed seems much more maintainable than the old generator.
  • This should be called stdarch-gen-arm rather than stdarch-gen2.
  • We have existing manual implementations of intrinsics in crates/core_arch/src/arm_shared/neon/mod.rs, for example vbsl_p16. Ideally we should use automatic generation for all intrinsics and remove the manual implementations.

@Jamesbarford
Copy link
Contributor Author

Thanks, hope your travels are going smoothly! It can be a pretty hectic time of year.

I'll hold off changes until you've had a more thorough perusal.

With respect to the intrinsics floating about in the example you gave of crates/core_arch/src/arm_shared/neon/mod.rs. I was thinking of doing a two stage approach; replace what we are currently generating with the new generator. Then port over the other intrinsics when the opportune moment arises to do so.

This is based off it being time consuming porting the old intrinsics over coupled with the desire to unblock other units of work that cannot be achieved without the new generator.

I do, however, undoubtedly agree that the goal should be to have all of these intrinsics generated with the new generator.

@Jamesbarford
Copy link
Contributor Author

Thanks for your review, I believe the latest commit should have taken care of your comments.

adamgemmell and others added 5 commits January 6, 2025 13:30
Co-authored-by: Jamie Cunliffe <Jamie.Cunliffe@arm.com>
Co-authored-by: Jacob Bramley <jacob.bramley@arm.com>
Co-authored-by: Luca Vizzarro <Luca.Vizzarro@arm.com>
Co-authored-by: Jamie Cunliffe <Jamie.Cunliffe@arm.com>
Co-authored-by: Jacob Bramley <jacob.bramley@arm.com>
Co-authored-by: Luca Vizzarro <Luca.Vizzarro@arm.com>
Co-authored-by: Adam Gemmell <adam.gemmell@arm.com>
@Jamesbarford Jamesbarford force-pushed the dev/jambar02/neon-yaml branch from cd1785b to 04ef1bd Compare January 7, 2025 11:06
@Jamesbarford Jamesbarford requested a review from Amanieu January 8, 2025 12:23
@Jamesbarford
Copy link
Contributor Author

Are there any other changes that are required? I'd be of the opinion the manually created intrinsics can be done as a follow-up because this PR is arguably quite large

@Amanieu Amanieu added this pull request to the merge queue Jan 16, 2025
Merged via the queue into rust-lang:master with commit b1f0789 Jan 16, 2025
60 checks passed
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
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
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
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 27, 2025
Update stdarch

Updates stdarch

- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- S390x float rounding: rust-lang/stdarch#1712
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- 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
try-job: dist-powerpc-linux
try-job: i686-gnu-1
try-job: i686-gnu-2
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 28, 2025
Update stdarch

Updates stdarch

- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- S390x float rounding: rust-lang/stdarch#1712
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- 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
try-job: dist-powerpc-linux
try-job: i686-gnu-1
try-job: i686-gnu-2
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 28, 2025
Update stdarch

Updates stdarch

- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- S390x float rounding: rust-lang/stdarch#1712
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- 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
try-job: dist-powerpc-linux
try-job: i686-gnu-1
try-job: i686-gnu-2
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 1, 2025
Update stdarch

Updates stdarch

- Fix doctests failing due to unused_unsafe: rust-lang/stdarch#1731
- s390x_is_feature_detected!: detect more features: rust-lang/stdarch#1720
- fix - neon type signed unsigned conversions: rust-lang/stdarch#1729
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: rust-lang/stdarch#1727
- Changed altivec.rs to new intrinsic declaration: rust-lang/stdarch#1722
- powerpc: use simd_ceil and simd_floor: rust-lang/stdarch#1723
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: rust-lang/stdarch#1725
- wasm: use simd_as for float to integer conversions: rust-lang/stdarch#1724
- AArch64: Add NEON fp16 intrinsics: rust-lang/stdarch#1726
- mark x86 intrinsics as safe: rust-lang/stdarch#1714
- Fix - AArch64 Big Endian Intrinsics: rust-lang/stdarch#1708
- change redundant transmutations of sign to cast_unsigned: rust-lang/stdarch#1711
- mark riscv intrinsics as safe: rust-lang/stdarch#1717
- S390x float rounding: rust-lang/stdarch#1712
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): rust-lang/stdarch#1713
- Update wasm sub sat intrinsics for LLVM 20: rust-lang/stdarch#1719
- Update CI to FreeBSD 13.4: rust-lang/stdarch#1715
- S390x vector bitwise operations: rust-lang/stdarch#1709
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: rust-lang/stdarch#1706
- 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 Mar 3, 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

try: dist-s390x-linux
try: dist-aarch64-msvc
try: dist-powerpc-linux
try: dist-powerpc64-linux
try: dist-powerpc64le-linux
try: x86_64-msvc-ext3
try: x86_64-msvc-ext2
try: x86_64-msvc-1
try: x86_64-msvc-2
try: i686-msvc-1
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 3, 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

try-job: dist-s390x-linux
try-job: dist-aarch64-msvc
try-job: dist-powerpc-linux
try-job: dist-powerpc64-linux
try-job: dist-powerpc64le-linux
try-job: x86_64-msvc-ext3
try-job: x86_64-msvc-ext2
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
try-job: i686-msvc-1
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 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 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 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
lnicola pushed a commit to lnicola/rust-analyzer that referenced this pull request Mar 10, 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants