Skip to content

Commit

Permalink
Auto merge of #83278 - Amanieu:bump_stdarch, r=Mark-Simulacrum
Browse files Browse the repository at this point in the history
Bump stdarch submodule

Major changes:
- More AVX-512 intrinsics.
- More ARM & AArch64 NEON intrinsics.
- Updated unstable WASM intrinsics to latest draft standards.
- Intrinsics that previously used `#[rustc_args_required_const]` now use const generics. See #83167 for more details.
- `std_detect` is now a separate crate instead of a submodule of `std`.
  • Loading branch information
bors committed May 8, 2021
2 parents ff34b91 + bf8b15f commit 881c1ac
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 34 deletions.
2 changes: 1 addition & 1 deletion library/stdarch
Submodule stdarch updated 93 files
+4 −2 ci/docker/wasm32-wasi/Dockerfile
+0 −6 ci/run.sh
+1 −0 crates/assert-instr-macro/Cargo.toml
+16 −4 crates/assert-instr-macro/src/lib.rs
+0 −14 crates/core_arch/build.rs
+23 −0 crates/core_arch/src/aarch64/armclang.rs
+5 −1 crates/core_arch/src/aarch64/mod.rs
+16,025 −282 crates/core_arch/src/aarch64/neon/generated.rs
+858 −290 crates/core_arch/src/aarch64/neon/mod.rs
+17 −33 crates/core_arch/src/aarch64/prefetch.rs
+1 −1 crates/core_arch/src/aarch64/test_support.rs
+7 −11 crates/core_arch/src/aarch64/tme.rs
+10 −43 crates/core_arch/src/arm/armclang.rs
+0 −0 crates/core_arch/src/arm/dsp.rs
+16 −8 crates/core_arch/src/arm/ex.rs
+83 −22 crates/core_arch/src/arm/mod.rs
+1,091 −0 crates/core_arch/src/arm/neon.rs
+0 −5,237 crates/core_arch/src/arm/neon/generated.rs
+0 −0 crates/core_arch/src/arm/sat.rs
+1 −1 crates/core_arch/src/arm/simd32.rs
+0 −0 crates/core_arch/src/arm_shared/barrier/common.rs
+12 −3 crates/core_arch/src/arm_shared/barrier/cp15.rs
+0 −0 crates/core_arch/src/arm_shared/barrier/mod.rs
+0 −0 crates/core_arch/src/arm_shared/barrier/not_mclass.rs
+0 −0 crates/core_arch/src/arm_shared/barrier/v8.rs
+1 −1 crates/core_arch/src/arm_shared/crc.rs
+3 −2 crates/core_arch/src/arm_shared/crypto.rs
+6 −46 crates/core_arch/src/arm_shared/hints.rs
+21 −59 crates/core_arch/src/arm_shared/mod.rs
+24,066 −0 crates/core_arch/src/arm_shared/neon/generated.rs
+0 −0 crates/core_arch/src/arm_shared/neon/load_tests.rs
+4,656 −3,342 crates/core_arch/src/arm_shared/neon/mod.rs
+2 −2 crates/core_arch/src/arm_shared/neon/shift_and_insert_tests.rs
+0 −0 crates/core_arch/src/arm_shared/neon/table_lookup_tests.rs
+0 −0 crates/core_arch/src/arm_shared/registers/aarch32.rs
+4 −4 crates/core_arch/src/arm_shared/registers/mod.rs
+0 −0 crates/core_arch/src/arm_shared/registers/v6m.rs
+0 −0 crates/core_arch/src/arm_shared/registers/v7m.rs
+7 −1 crates/core_arch/src/arm_shared/test_support.rs
+3 −4 crates/core_arch/src/lib.rs
+62 −377 crates/core_arch/src/macros.rs
+566 −1,120 crates/core_arch/src/mips/msa.rs
+15 −4,337 crates/core_arch/src/mips/msa/macros.rs
+53 −53 crates/core_arch/src/mod.rs
+8 −7 crates/core_arch/src/powerpc/vsx.rs
+2 −7 crates/core_arch/src/simd_llvm.rs
+9 −37 crates/core_arch/src/wasm32/atomic.rs
+14 −20 crates/core_arch/src/wasm32/memory.rs
+0 −2 crates/core_arch/src/wasm32/mod.rs
+2,512 −774 crates/core_arch/src/wasm32/simd128.rs
+7 −11 crates/core_arch/src/x86/aes.rs
+305 −585 crates/core_arch/src/x86/avx.rs
+740 −1,013 crates/core_arch/src/x86/avx2.rs
+1,088 −1,043 crates/core_arch/src/x86/avx512bw.rs
+5,545 −8,368 crates/core_arch/src/x86/avx512f.rs
+197 −272 crates/core_arch/src/x86/avx512gfni.rs
+18 −18 crates/core_arch/src/x86/avx512vaes.rs
+468 −397 crates/core_arch/src/x86/avx512vbmi2.rs
+53 −61 crates/core_arch/src/x86/avx512vpclmulqdq.rs
+48 −16 crates/core_arch/src/x86/bt.rs
+29 −33 crates/core_arch/src/x86/cpuid.rs
+4 −4 crates/core_arch/src/x86/eflags.rs
+17 −39 crates/core_arch/src/x86/f16c.rs
+49 −1,545 crates/core_arch/src/x86/macros.rs
+14 −18 crates/core_arch/src/x86/pclmulqdq.rs
+7 −11 crates/core_arch/src/x86/rtm.rs
+10 −17 crates/core_arch/src/x86/sha.rs
+42 −74 crates/core_arch/src/x86/sse.rs
+222 −425 crates/core_arch/src/x86/sse2.rs
+139 −209 crates/core_arch/src/x86/sse41.rs
+114 −198 crates/core_arch/src/x86/sse42.rs
+44 −60 crates/core_arch/src/x86/ssse3.rs
+12 −8 crates/core_arch/src/x86/test.rs
+5 −10 crates/core_arch/src/x86_64/avx.rs
+6 −11 crates/core_arch/src/x86_64/avx2.rs
+605 −850 crates/core_arch/src/x86_64/avx512f.rs
+48 −16 crates/core_arch/src/x86_64/bt.rs
+24 −23 crates/core_arch/src/x86_64/macros.rs
+18 −23 crates/core_arch/src/x86_64/sse41.rs
+1 −0 crates/simd-test-macro/Cargo.toml
+0 −2 crates/simd-test-macro/src/lib.rs
+4 −4 crates/std_detect/src/detect/macros.rs
+15 −3 crates/std_detect/src/detect/os/aarch64.rs
+2 −2 crates/std_detect/src/lib.rs
+4,524 −164 crates/stdarch-gen/neon.spec
+2,041 −120 crates/stdarch-gen/src/main.rs
+2 −1 crates/stdarch-test/Cargo.toml
+11 −9 crates/stdarch-test/src/lib.rs
+37 −3 crates/stdarch-verify/src/lib.rs
+110 −0 crates/stdarch-verify/tests/arm.rs
+38 −33 crates/stdarch-verify/tests/mips.rs
+23 −8 crates/stdarch-verify/tests/x86-intel.rs
+9 −9 examples/hex.rs
12 changes: 5 additions & 7 deletions src/test/ui/consts/const_arg_local.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
// only-x86_64
#![feature(rustc_attrs)]

#[cfg(target_arch = "x86")]
use std::arch::x86::*;
#[cfg(target_arch = "x86_64")]
use std::arch::x86_64::*;
#[rustc_args_required_const(0)]
fn foo(_imm8: i32) {}

unsafe fn pclmul(a: __m128i, b: __m128i) -> __m128i {
fn bar() {
let imm8 = 3;
_mm_clmulepi64_si128(a, b, imm8) //~ ERROR argument 3 is required to be a constant
foo(imm8) //~ ERROR argument 1 is required to be a constant
}

fn main() {}
8 changes: 4 additions & 4 deletions src/test/ui/consts/const_arg_local.stderr
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
error: argument 3 is required to be a constant
--> $DIR/const_arg_local.rs:10:5
error: argument 1 is required to be a constant
--> $DIR/const_arg_local.rs:8:5
|
LL | _mm_clmulepi64_si128(a, b, imm8)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL | foo(imm8)
| ^^^^^^^^^

error: aborting due to previous error

12 changes: 5 additions & 7 deletions src/test/ui/consts/const_arg_promotable.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
// only-x86_64
#![feature(rustc_attrs)]

#[cfg(target_arch = "x86")]
use std::arch::x86::*;
#[cfg(target_arch = "x86_64")]
use std::arch::x86_64::*;
#[rustc_args_required_const(0)]
fn foo(_imm8: i32) {}

unsafe fn pclmul(a: __m128i, b: __m128i) -> __m128i {
_mm_clmulepi64_si128(a, b, *&mut 42) //~ ERROR argument 3 is required to be a constant
fn bar() {
foo(*&mut 42) //~ ERROR argument 1 is required to be a constant
}

fn main() {}
8 changes: 4 additions & 4 deletions src/test/ui/consts/const_arg_promotable.stderr
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
error: argument 3 is required to be a constant
--> $DIR/const_arg_promotable.rs:9:5
error: argument 1 is required to be a constant
--> $DIR/const_arg_promotable.rs:7:5
|
LL | _mm_clmulepi64_si128(a, b, *&mut 42)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL | foo(*&mut 42)
| ^^^^^^^^^^^^^

error: aborting due to previous error

12 changes: 5 additions & 7 deletions src/test/ui/consts/const_arg_wrapper.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
// only-x86_64
#![feature(rustc_attrs)]

#[cfg(target_arch = "x86")]
use std::arch::x86::*;
#[cfg(target_arch = "x86_64")]
use std::arch::x86_64::*;
#[rustc_args_required_const(0)]
fn foo(_imm8: i32) {}

unsafe fn pclmul(a: __m128i, b: __m128i, imm8: i32) -> __m128i {
_mm_clmulepi64_si128(a, b, imm8) //~ ERROR argument 3 is required to be a constant
fn bar(imm8: i32) {
foo(imm8) //~ ERROR argument 1 is required to be a constant
}

fn main() {}
8 changes: 4 additions & 4 deletions src/test/ui/consts/const_arg_wrapper.stderr
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
error: argument 3 is required to be a constant
--> $DIR/const_arg_wrapper.rs:9:5
error: argument 1 is required to be a constant
--> $DIR/const_arg_wrapper.rs:7:5
|
LL | _mm_clmulepi64_si128(a, b, imm8)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL | foo(imm8)
| ^^^^^^^^^

error: aborting due to previous error

0 comments on commit 881c1ac

Please sign in to comment.