Auto merge of #83278 - Amanieu:bump_stdarch, r=Mark-Simulacrum

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`.
This commit is contained in:
bors 2021-05-08 18:41:16 +00:00
commit 881c1ac408
7 changed files with 28 additions and 34 deletions

@ -1 +1 @@
Subproject commit 19f5459dd0f89e466b7bcaa0f69ecca90f21a4d1
Subproject commit 6c4f4e1990b76be8a07bde1956d2e3452fd55ee4

View File

@ -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() {}

View File

@ -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

View File

@ -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() {}

View File

@ -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

View File

@ -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() {}

View File

@ -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