@@ -3020,8 +3020,29 @@ parameters. You can read more about it in the API documentation:
3020
3020
https://doc.rust-lang.org/std/marker/struct.PhantomData.html
3021
3021
"## ,
3022
3022
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
+
3023
3044
E0440 : r##"
3024
- A platform-specific intrinsic function has wrong number of type
3045
+ A platform-specific intrinsic function has the wrong number of type
3025
3046
parameters. Erroneous code example:
3026
3047
3027
3048
```
@@ -3062,8 +3083,8 @@ extern "platform-intrinsic" {
3062
3083
}
3063
3084
```
3064
3085
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
3067
3088
src/librustc_platform_intrinsics/x86.rs). Example:
3068
3089
3069
3090
```
@@ -3077,7 +3098,7 @@ extern "platform-intrinsic" {
3077
3098
"## ,
3078
3099
3079
3100
E0442 : 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 .
3081
3102
Erroneous code example:
3082
3103
3083
3104
```
@@ -3091,12 +3112,12 @@ struct i64x2(i64, i64);
3091
3112
3092
3113
extern "platform-intrinsic" {
3093
3114
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
3095
3116
}
3096
3117
```
3097
3118
3098
3119
To 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:
3100
3121
3101
3122
```
3102
3123
#[repr(simd)]
@@ -3245,5 +3266,4 @@ register_diagnostics! {
3245
3266
E0399 , // trait items need to be implemented because the associated
3246
3267
// type `{}` was overridden
3247
3268
E0436 , // functional record update requires a struct
3248
- E0439 , // invalid `simd_shuffle`, needs length: `{}`
3249
3269
}
0 commit comments