@@ -3020,8 +3020,29 @@ parameters. You can read more about it in the API documentation:
30203020https://doc.rust-lang.org/std/marker/struct.PhantomData.html
30213021"## ,
30223022
3023+ E0439 : r##"
3024+ The length of the platform-intrinsic function `simd_shuffle`
3025+ wasn't specified. Erroneous code example:
3026+
3027+ ```
3028+ extern "platform-intrinsic" {
3029+ fn simd_shuffle<A,B>(a: A, b: A, c: [u32; 8]) -> B;
3030+ // error: invalid `simd_shuffle`, needs length: `simd_shuffle`
3031+ }
3032+ ```
3033+
3034+ The `simd_shuffle` function needs the length of the array passed as
3035+ last parameter in its name. Example:
3036+
3037+ ```
3038+ extern "platform-intrinsic" {
3039+ fn simd_shuffle8<A,B>(a: A, b: A, c: [u32; 8]) -> B;
3040+ }
3041+ ```
3042+ "## ,
3043+
30233044E0440 : r##"
3024- A platform-specific intrinsic function has wrong number of type
3045+ A platform-specific intrinsic function has the wrong number of type
30253046parameters. Erroneous code example:
30263047
30273048```
@@ -3062,8 +3083,8 @@ extern "platform-intrinsic" {
30623083}
30633084```
30643085
3065- Please check you didn't misspell the function's name or that it is
3066- declared in the rust source code (in the file
3086+ Please verify that the function name wasn't misspelled, and ensure
3087+ that it is declared in the rust source code (in the file
30673088src/librustc_platform_intrinsics/x86.rs). Example:
30683089
30693090```
@@ -3077,7 +3098,7 @@ extern "platform-intrinsic" {
30773098"## ,
30783099
30793100E0442 : r##"
3080- Intrinsic argument(s) and/or return value have the wrong length .
3101+ Intrinsic argument(s) and/or return value have the wrong type .
30813102Erroneous code example:
30823103
30833104```
@@ -3091,12 +3112,12 @@ struct i64x2(i64, i64);
30913112
30923113extern "platform-intrinsic" {
30933114 fn x86_mm_adds_epi16(x: i8x16, y: i32x4) -> i64x2;
3094- // error: intrinsic arguments/return value have wrong length
3115+ // error: intrinsic arguments/return value have wrong type
30953116}
30963117```
30973118
30983119To fix this error, please refer to the function declaration to give
3099- it the awaited types with the awaited length . Example:
3120+ it the awaited types. Example:
31003121
31013122```
31023123#[repr(simd)]
@@ -3245,5 +3266,4 @@ register_diagnostics! {
32453266 E0399 , // trait items need to be implemented because the associated
32463267 // type `{}` was overridden
32473268 E0436 , // functional record update requires a struct
3248- E0439 , // invalid `simd_shuffle`, needs length: `{}`
32493269}
0 commit comments