--enable-rust-simd fails to build using Rust 1.33
Categories
(Core :: Internationalization, defect, P3)
Tracking
()
People
(Reporter: jbeich, Assigned: hsivonen)
References
(Blocks 1 open bug, )
Details
(Whiteboard: [expected to regress performance on ARMv7 Android until bug 1529774 lands])
Attachments
(5 files, 1 obsolete file)
After https://github.com/rust-lang/rust/commit/7616daabc7aa bundled encoding_rs doesn't build with simd-accel enabled.
$ rustc -vV
rustc 1.33.0-nightly
binary: rustc
commit-hash: c76f3c374f80
commit-date: 2019-01-18
host: x86_64-unknown-freebsd
release: 1.33.0-nightly
LLVM version: 8.0
$ echo "ac_add_options --enable-rust-simd # mimic MOZ_AUTOMATION" >>.mozconfig
$ ./mach build
[...]
error: unrecognized platform-specific intrinsic function: x86_mm_movemask_ps
--> third_party/rust/simd/src/x86/sse2.rs:10:5
|
10 | fn x86_mm_movemask_ps(x: f32x4) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_max_ps
--> third_party/rust/simd/src/x86/sse2.rs:11:5
|
11 | fn x86_mm_max_ps(x: f32x4, y: f32x4) -> f32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_min_ps
--> third_party/rust/simd/src/x86/sse2.rs:12:5
|
12 | fn x86_mm_min_ps(x: f32x4, y: f32x4) -> f32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_rsqrt_ps
--> third_party/rust/simd/src/x86/sse2.rs:13:5
|
13 | fn x86_mm_rsqrt_ps(x: f32x4) -> f32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_rcp_ps
--> third_party/rust/simd/src/x86/sse2.rs:14:5
|
14 | fn x86_mm_rcp_ps(x: f32x4) -> f32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_sqrt_ps
--> third_party/rust/simd/src/x86/sse2.rs:15:5
|
15 | fn x86_mm_sqrt_ps(x: f32x4) -> f32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_adds_epi8
--> third_party/rust/simd/src/x86/sse2.rs:19:5
|
19 | fn x86_mm_adds_epi8(x: i8x16, y: i8x16) -> i8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_adds_epu8
--> third_party/rust/simd/src/x86/sse2.rs:20:5
|
20 | fn x86_mm_adds_epu8(x: u8x16, y: u8x16) -> u8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_adds_epi16
--> third_party/rust/simd/src/x86/sse2.rs:21:5
|
21 | fn x86_mm_adds_epi16(x: i16x8, y: i16x8) -> i16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_adds_epu16
--> third_party/rust/simd/src/x86/sse2.rs:22:5
|
22 | fn x86_mm_adds_epu16(x: u16x8, y: u16x8) -> u16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_avg_epu8
--> third_party/rust/simd/src/x86/sse2.rs:23:5
|
23 | fn x86_mm_avg_epu8(x: u8x16, y: u8x16) -> u8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_avg_epu16
--> third_party/rust/simd/src/x86/sse2.rs:24:5
|
24 | fn x86_mm_avg_epu16(x: u16x8, y: u16x8) -> u16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_madd_epi16
--> third_party/rust/simd/src/x86/sse2.rs:25:5
|
25 | fn x86_mm_madd_epi16(x: i16x8, y: i16x8) -> i32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_max_epi16
--> third_party/rust/simd/src/x86/sse2.rs:26:5
|
26 | fn x86_mm_max_epi16(x: i16x8, y: i16x8) -> i16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_max_epu8
--> third_party/rust/simd/src/x86/sse2.rs:27:5
|
27 | fn x86_mm_max_epu8(x: u8x16, y: u8x16) -> u8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_max_pd
--> third_party/rust/simd/src/x86/sse2.rs:28:5
|
28 | fn x86_mm_max_pd(x: f64x2, y: f64x2) -> f64x2;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_min_epi16
--> third_party/rust/simd/src/x86/sse2.rs:29:5
|
29 | fn x86_mm_min_epi16(x: i16x8, y: i16x8) -> i16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_min_epu8
--> third_party/rust/simd/src/x86/sse2.rs:30:5
|
30 | fn x86_mm_min_epu8(x: u8x16, y: u8x16) -> u8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_min_pd
--> third_party/rust/simd/src/x86/sse2.rs:31:5
|
31 | fn x86_mm_min_pd(x: f64x2, y: f64x2) -> f64x2;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_movemask_pd
--> third_party/rust/simd/src/x86/sse2.rs:32:5
|
32 | fn x86_mm_movemask_pd(x: f64x2) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_movemask_epi8
--> third_party/rust/simd/src/x86/sse2.rs:33:5
|
33 | fn x86_mm_movemask_epi8(x: i8x16) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_mul_epu32
--> third_party/rust/simd/src/x86/sse2.rs:34:5
|
34 | fn x86_mm_mul_epu32(x: u32x4, y: u32x4) -> u64x2;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_mulhi_epi16
--> third_party/rust/simd/src/x86/sse2.rs:35:5
|
35 | fn x86_mm_mulhi_epi16(x: i16x8, y: i16x8) -> i16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_mulhi_epu16
--> third_party/rust/simd/src/x86/sse2.rs:36:5
|
36 | fn x86_mm_mulhi_epu16(x: u16x8, y: u16x8) -> u16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_packs_epi16
--> third_party/rust/simd/src/x86/sse2.rs:37:5
|
37 | fn x86_mm_packs_epi16(x: i16x8, y: i16x8) -> i8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_packs_epi32
--> third_party/rust/simd/src/x86/sse2.rs:38:5
|
38 | fn x86_mm_packs_epi32(x: i32x4, y: i32x4) -> i16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_packus_epi16
--> third_party/rust/simd/src/x86/sse2.rs:39:5
|
39 | fn x86_mm_packus_epi16(x: i16x8, y: i16x8) -> u8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_sad_epu8
--> third_party/rust/simd/src/x86/sse2.rs:40:5
|
40 | fn x86_mm_sad_epu8(x: u8x16, y: u8x16) -> u64x2;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_sqrt_pd
--> third_party/rust/simd/src/x86/sse2.rs:41:5
|
41 | fn x86_mm_sqrt_pd(x: f64x2) -> f64x2;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_subs_epi8
--> third_party/rust/simd/src/x86/sse2.rs:42:5
|
42 | fn x86_mm_subs_epi8(x: i8x16, y: i8x16) -> i8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_subs_epu8
--> third_party/rust/simd/src/x86/sse2.rs:43:5
|
43 | fn x86_mm_subs_epu8(x: u8x16, y: u8x16) -> u8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_subs_epi16
--> third_party/rust/simd/src/x86/sse2.rs:44:5
|
44 | fn x86_mm_subs_epi16(x: i16x8, y: i16x8) -> i16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_subs_epu16
--> third_party/rust/simd/src/x86/sse2.rs:45:5
|
45 | fn x86_mm_subs_epu16(x: u16x8, y: u16x8) -> u16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_addsub_ps
--> third_party/rust/simd/src/x86/sse3.rs:5:5
|
5 | fn x86_mm_addsub_ps(x: f32x4, y: f32x4) -> f32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_addsub_pd
--> third_party/rust/simd/src/x86/sse3.rs:6:5
|
6 | fn x86_mm_addsub_pd(x: f64x2, y: f64x2) -> f64x2;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_hadd_ps
--> third_party/rust/simd/src/x86/sse3.rs:7:5
|
7 | fn x86_mm_hadd_ps(x: f32x4, y: f32x4) -> f32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_hadd_pd
--> third_party/rust/simd/src/x86/sse3.rs:8:5
|
8 | fn x86_mm_hadd_pd(x: f64x2, y: f64x2) -> f64x2;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_hsub_ps
--> third_party/rust/simd/src/x86/sse3.rs:9:5
|
9 | fn x86_mm_hsub_ps(x: f32x4, y: f32x4) -> f32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_hsub_pd
--> third_party/rust/simd/src/x86/sse3.rs:10:5
|
10 | fn x86_mm_hsub_pd(x: f64x2, y: f64x2) -> f64x2;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_abs_epi8
--> third_party/rust/simd/src/x86/ssse3.rs:11:5
|
11 | fn x86_mm_abs_epi8(x: i8x16) -> i8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_abs_epi16
--> third_party/rust/simd/src/x86/ssse3.rs:12:5
|
12 | fn x86_mm_abs_epi16(x: i16x8) -> i16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_abs_epi32
--> third_party/rust/simd/src/x86/ssse3.rs:13:5
|
13 | fn x86_mm_abs_epi32(x: i32x4) -> i32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_hadd_epi16
--> third_party/rust/simd/src/x86/ssse3.rs:14:5
|
14 | fn x86_mm_hadd_epi16(x: i16x8, y: i16x8) -> i16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_hadd_epi32
--> third_party/rust/simd/src/x86/ssse3.rs:15:5
|
15 | fn x86_mm_hadd_epi32(x: i32x4, y: i32x4) -> i32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_hadds_epi16
--> third_party/rust/simd/src/x86/ssse3.rs:16:5
|
16 | fn x86_mm_hadds_epi16(x: i16x8, y: i16x8) -> i16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_hsub_epi16
--> third_party/rust/simd/src/x86/ssse3.rs:17:5
|
17 | fn x86_mm_hsub_epi16(x: i16x8, y: i16x8) -> i16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_hsub_epi32
--> third_party/rust/simd/src/x86/ssse3.rs:18:5
|
18 | fn x86_mm_hsub_epi32(x: i32x4, y: i32x4) -> i32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_hsubs_epi16
--> third_party/rust/simd/src/x86/ssse3.rs:19:5
|
19 | fn x86_mm_hsubs_epi16(x: i16x8, y: i16x8) -> i16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_maddubs_epi16
--> third_party/rust/simd/src/x86/ssse3.rs:20:5
|
20 | fn x86_mm_maddubs_epi16(x: u8x16, y: i8x16) -> i16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_mulhrs_epi16
--> third_party/rust/simd/src/x86/ssse3.rs:21:5
|
21 | fn x86_mm_mulhrs_epi16(x: i16x8, y: i16x8) -> i16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_shuffle_epi8
--> third_party/rust/simd/src/x86/ssse3.rs:22:5
|
22 | fn x86_mm_shuffle_epi8(x: i8x16, y: i8x16) -> i8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_sign_epi8
--> third_party/rust/simd/src/x86/ssse3.rs:23:5
|
23 | fn x86_mm_sign_epi8(x: i8x16, y: i8x16) -> i8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_sign_epi16
--> third_party/rust/simd/src/x86/ssse3.rs:24:5
|
24 | fn x86_mm_sign_epi16(x: i16x8, y: i16x8) -> i16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_sign_epi32
--> third_party/rust/simd/src/x86/ssse3.rs:25:5
|
25 | fn x86_mm_sign_epi32(x: i32x4, y: i32x4) -> i32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_dp_ps
--> third_party/rust/simd/src/x86/sse4_1.rs:6:5
|
6 | fn x86_mm_dp_ps(x: f32x4, y: f32x4, z: i32) -> f32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_dp_pd
--> third_party/rust/simd/src/x86/sse4_1.rs:7:5
|
7 | fn x86_mm_dp_pd(x: f64x2, y: f64x2, z: i32) -> f64x2;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_max_epi8
--> third_party/rust/simd/src/x86/sse4_1.rs:8:5
|
8 | fn x86_mm_max_epi8(x: i8x16, y: i8x16) -> i8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_max_epu16
--> third_party/rust/simd/src/x86/sse4_1.rs:9:5
|
9 | fn x86_mm_max_epu16(x: u16x8, y: u16x8) -> u16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_max_epi32
--> third_party/rust/simd/src/x86/sse4_1.rs:10:5
|
10 | fn x86_mm_max_epi32(x: i32x4, y: i32x4) -> i32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_max_epu32
--> third_party/rust/simd/src/x86/sse4_1.rs:11:5
|
11 | fn x86_mm_max_epu32(x: u32x4, y: u32x4) -> u32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_min_epi8
--> third_party/rust/simd/src/x86/sse4_1.rs:12:5
|
12 | fn x86_mm_min_epi8(x: i8x16, y: i8x16) -> i8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_min_epu16
--> third_party/rust/simd/src/x86/sse4_1.rs:13:5
|
13 | fn x86_mm_min_epu16(x: u16x8, y: u16x8) -> u16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_min_epi32
--> third_party/rust/simd/src/x86/sse4_1.rs:14:5
|
14 | fn x86_mm_min_epi32(x: i32x4, y: i32x4) -> i32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_min_epu32
--> third_party/rust/simd/src/x86/sse4_1.rs:15:5
|
15 | fn x86_mm_min_epu32(x: u32x4, y: u32x4) -> u32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_minpos_epu16
--> third_party/rust/simd/src/x86/sse4_1.rs:16:5
|
16 | fn x86_mm_minpos_epu16(x: u16x8) -> u16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_mpsadbw_epu8
--> third_party/rust/simd/src/x86/sse4_1.rs:17:5
|
17 | fn x86_mm_mpsadbw_epu8(x: u8x16, y: u8x16, z: i32) -> u16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_mul_epi32
--> third_party/rust/simd/src/x86/sse4_1.rs:18:5
|
18 | fn x86_mm_mul_epi32(x: i32x4, y: i32x4) -> i64x2;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_packus_epi32
--> third_party/rust/simd/src/x86/sse4_1.rs:19:5
|
19 | fn x86_mm_packus_epi32(x: i32x4, y: i32x4) -> u16x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_testc_si128
--> third_party/rust/simd/src/x86/sse4_1.rs:20:5
|
20 | fn x86_mm_testc_si128(x: u64x2, y: u64x2) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_testnzc_si128
--> third_party/rust/simd/src/x86/sse4_1.rs:21:5
|
21 | fn x86_mm_testnzc_si128(x: u64x2, y: u64x2) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_testz_si128
--> third_party/rust/simd/src/x86/sse4_1.rs:22:5
|
22 | fn x86_mm_testz_si128(x: u64x2, y: u64x2) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_cmpestra
--> third_party/rust/simd/src/x86/sse4_2.rs:5:5
|
5 | fn x86_mm_cmpestra(x: i8x16, y: i32, z: i8x16, w: i32, a: i32) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_cmpestrc
--> third_party/rust/simd/src/x86/sse4_2.rs:6:5
|
6 | fn x86_mm_cmpestrc(x: i8x16, y: i32, z: i8x16, w: i32, a: i32) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_cmpestri
--> third_party/rust/simd/src/x86/sse4_2.rs:7:5
|
7 | fn x86_mm_cmpestri(x: i8x16, y: i32, z: i8x16, w: i32, a: i32) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_cmpestrm
--> third_party/rust/simd/src/x86/sse4_2.rs:8:5
|
8 | fn x86_mm_cmpestrm(x: i8x16, y: i32, z: i8x16, w: i32, a: i32) -> i8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_cmpestro
--> third_party/rust/simd/src/x86/sse4_2.rs:9:5
|
9 | fn x86_mm_cmpestro(x: i8x16, y: i32, z: i8x16, w: i32, a: i32) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_cmpestrs
--> third_party/rust/simd/src/x86/sse4_2.rs:10:5
|
10 | fn x86_mm_cmpestrs(x: i8x16, y: i32, z: i8x16, w: i32, a: i32) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_cmpestrz
--> third_party/rust/simd/src/x86/sse4_2.rs:11:5
|
11 | fn x86_mm_cmpestrz(x: i8x16, y: i32, z: i8x16, w: i32, a: i32) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_cmpistra
--> third_party/rust/simd/src/x86/sse4_2.rs:12:5
|
12 | fn x86_mm_cmpistra(x: i8x16, y: i8x16, z: i32) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_cmpistrc
--> third_party/rust/simd/src/x86/sse4_2.rs:13:5
|
13 | fn x86_mm_cmpistrc(x: i8x16, y: i8x16, z: i32) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_cmpistri
--> third_party/rust/simd/src/x86/sse4_2.rs:14:5
|
14 | fn x86_mm_cmpistri(x: i8x16, y: i8x16, z: i32) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_cmpistrm
--> third_party/rust/simd/src/x86/sse4_2.rs:15:5
|
15 | fn x86_mm_cmpistrm(x: i8x16, y: i8x16, z: i32) -> i8x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_cmpistro
--> third_party/rust/simd/src/x86/sse4_2.rs:16:5
|
16 | fn x86_mm_cmpistro(x: i8x16, y: i8x16, z: i32) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_cmpistrs
--> third_party/rust/simd/src/x86/sse4_2.rs:17:5
|
17 | fn x86_mm_cmpistrs(x: i8x16, y: i8x16, z: i32) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_cmpistrz
--> third_party/rust/simd/src/x86/sse4_2.rs:18:5
|
18 | fn x86_mm_cmpistrz(x: i8x16, y: i8x16, z: i32) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_addsub_ps
--> third_party/rust/simd/src/x86/avx.rs:16:5
|
16 | fn x86_mm256_addsub_ps(x: f32x8, y: f32x8) -> f32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_addsub_pd
--> third_party/rust/simd/src/x86/avx.rs:17:5
|
17 | fn x86_mm256_addsub_pd(x: f64x4, y: f64x4) -> f64x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_dp_ps
--> third_party/rust/simd/src/x86/avx.rs:18:5
|
18 | fn x86_mm256_dp_ps(x: f32x8, y: f32x8, z: i32) -> f32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_hadd_ps
--> third_party/rust/simd/src/x86/avx.rs:19:5
|
19 | fn x86_mm256_hadd_ps(x: f32x8, y: f32x8) -> f32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_hadd_pd
--> third_party/rust/simd/src/x86/avx.rs:20:5
|
20 | fn x86_mm256_hadd_pd(x: f64x4, y: f64x4) -> f64x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_hsub_ps
--> third_party/rust/simd/src/x86/avx.rs:21:5
|
21 | fn x86_mm256_hsub_ps(x: f32x8, y: f32x8) -> f32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_hsub_pd
--> third_party/rust/simd/src/x86/avx.rs:22:5
|
22 | fn x86_mm256_hsub_pd(x: f64x4, y: f64x4) -> f64x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_max_ps
--> third_party/rust/simd/src/x86/avx.rs:23:5
|
23 | fn x86_mm256_max_ps(x: f32x8, y: f32x8) -> f32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_max_pd
--> third_party/rust/simd/src/x86/avx.rs:24:5
|
24 | fn x86_mm256_max_pd(x: f64x4, y: f64x4) -> f64x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_min_ps
--> third_party/rust/simd/src/x86/avx.rs:25:5
|
25 | fn x86_mm256_min_ps(x: f32x8, y: f32x8) -> f32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_min_pd
--> third_party/rust/simd/src/x86/avx.rs:26:5
|
26 | fn x86_mm256_min_pd(x: f64x4, y: f64x4) -> f64x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_movemask_ps
--> third_party/rust/simd/src/x86/avx.rs:27:5
|
27 | fn x86_mm256_movemask_ps(x: f32x8) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_movemask_pd
--> third_party/rust/simd/src/x86/avx.rs:28:5
|
28 | fn x86_mm256_movemask_pd(x: f64x4) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_permutevar_ps
--> third_party/rust/simd/src/x86/avx.rs:29:5
|
29 | fn x86_mm_permutevar_ps(x: f32x4, y: i32x4) -> f32x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_permutevar_pd
--> third_party/rust/simd/src/x86/avx.rs:30:5
|
30 | fn x86_mm_permutevar_pd(x: f64x2, y: i64x2) -> f64x2;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_permutevar_ps
--> third_party/rust/simd/src/x86/avx.rs:31:5
|
31 | fn x86_mm256_permutevar_ps(x: f32x8, y: i32x8) -> f32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_permutevar_pd
--> third_party/rust/simd/src/x86/avx.rs:32:5
|
32 | fn x86_mm256_permutevar_pd(x: f64x4, y: i64x4) -> f64x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_rcp_ps
--> third_party/rust/simd/src/x86/avx.rs:33:5
|
33 | fn x86_mm256_rcp_ps(x: f32x8) -> f32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_rsqrt_ps
--> third_party/rust/simd/src/x86/avx.rs:34:5
|
34 | fn x86_mm256_rsqrt_ps(x: f32x8) -> f32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_sqrt_ps
--> third_party/rust/simd/src/x86/avx.rs:35:5
|
35 | fn x86_mm256_sqrt_ps(x: f32x8) -> f32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_sqrt_pd
--> third_party/rust/simd/src/x86/avx.rs:36:5
|
36 | fn x86_mm256_sqrt_pd(x: f64x4) -> f64x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_testc_ps
--> third_party/rust/simd/src/x86/avx.rs:37:5
|
37 | fn x86_mm_testc_ps(x: f32x4, y: f32x4) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_testc_ps
--> third_party/rust/simd/src/x86/avx.rs:38:5
|
38 | fn x86_mm256_testc_ps(x: f32x8, y: f32x8) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_testc_pd
--> third_party/rust/simd/src/x86/avx.rs:39:5
|
39 | fn x86_mm_testc_pd(x: f64x2, y: f64x2) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_testc_pd
--> third_party/rust/simd/src/x86/avx.rs:40:5
|
40 | fn x86_mm256_testc_pd(x: f64x4, y: f64x4) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_testc_si256
--> third_party/rust/simd/src/x86/avx.rs:41:5
|
41 | fn x86_mm256_testc_si256(x: u64x4, y: u64x4) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_testnzc_ps
--> third_party/rust/simd/src/x86/avx.rs:42:5
|
42 | fn x86_mm_testnzc_ps(x: f32x4, y: f32x4) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_testnzc_ps
--> third_party/rust/simd/src/x86/avx.rs:43:5
|
43 | fn x86_mm256_testnzc_ps(x: f32x8, y: f32x8) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_testnzc_pd
--> third_party/rust/simd/src/x86/avx.rs:44:5
|
44 | fn x86_mm_testnzc_pd(x: f64x2, y: f64x2) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_testnzc_pd
--> third_party/rust/simd/src/x86/avx.rs:45:5
|
45 | fn x86_mm256_testnzc_pd(x: f64x4, y: f64x4) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_testnzc_si256
--> third_party/rust/simd/src/x86/avx.rs:46:5
|
46 | fn x86_mm256_testnzc_si256(x: u64x4, y: u64x4) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_testz_ps
--> third_party/rust/simd/src/x86/avx.rs:47:5
|
47 | fn x86_mm_testz_ps(x: f32x4, y: f32x4) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_testz_ps
--> third_party/rust/simd/src/x86/avx.rs:48:5
|
48 | fn x86_mm256_testz_ps(x: f32x8, y: f32x8) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm_testz_pd
--> third_party/rust/simd/src/x86/avx.rs:49:5
|
49 | fn x86_mm_testz_pd(x: f64x2, y: f64x2) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_testz_pd
--> third_party/rust/simd/src/x86/avx.rs:50:5
|
50 | fn x86_mm256_testz_pd(x: f64x4, y: f64x4) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_testz_si256
--> third_party/rust/simd/src/x86/avx.rs:51:5
|
51 | fn x86_mm256_testz_si256(x: u64x4, y: u64x4) -> i32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_abs_epi8
--> third_party/rust/simd/src/x86/avx2.rs:5:5
|
5 | fn x86_mm256_abs_epi8(x: i8x32) -> i8x32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_abs_epi16
--> third_party/rust/simd/src/x86/avx2.rs:6:5
|
6 | fn x86_mm256_abs_epi16(x: i16x16) -> i16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_abs_epi32
--> third_party/rust/simd/src/x86/avx2.rs:7:5
|
7 | fn x86_mm256_abs_epi32(x: i32x8) -> i32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_adds_epi8
--> third_party/rust/simd/src/x86/avx2.rs:8:5
|
8 | fn x86_mm256_adds_epi8(x: i8x32, y: i8x32) -> i8x32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_adds_epu8
--> third_party/rust/simd/src/x86/avx2.rs:9:5
|
9 | fn x86_mm256_adds_epu8(x: u8x32, y: u8x32) -> u8x32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_adds_epi16
--> third_party/rust/simd/src/x86/avx2.rs:10:5
|
10 | fn x86_mm256_adds_epi16(x: i16x16, y: i16x16) -> i16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_adds_epu16
--> third_party/rust/simd/src/x86/avx2.rs:11:5
|
11 | fn x86_mm256_adds_epu16(x: u16x16, y: u16x16) -> u16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_avg_epu8
--> third_party/rust/simd/src/x86/avx2.rs:12:5
|
12 | fn x86_mm256_avg_epu8(x: u8x32, y: u8x32) -> u8x32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_avg_epu16
--> third_party/rust/simd/src/x86/avx2.rs:13:5
|
13 | fn x86_mm256_avg_epu16(x: u16x16, y: u16x16) -> u16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_hadd_epi16
--> third_party/rust/simd/src/x86/avx2.rs:14:5
|
14 | fn x86_mm256_hadd_epi16(x: i16x16, y: i16x16) -> i16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_hadd_epi32
--> third_party/rust/simd/src/x86/avx2.rs:15:5
|
15 | fn x86_mm256_hadd_epi32(x: i32x8, y: i32x8) -> i32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_hadds_epi16
--> third_party/rust/simd/src/x86/avx2.rs:16:5
|
16 | fn x86_mm256_hadds_epi16(x: i16x16, y: i16x16) -> i16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_hsub_epi16
--> third_party/rust/simd/src/x86/avx2.rs:17:5
|
17 | fn x86_mm256_hsub_epi16(x: i16x16, y: i16x16) -> i16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_hsub_epi32
--> third_party/rust/simd/src/x86/avx2.rs:18:5
|
18 | fn x86_mm256_hsub_epi32(x: i32x8, y: i32x8) -> i32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_hsubs_epi16
--> third_party/rust/simd/src/x86/avx2.rs:19:5
|
19 | fn x86_mm256_hsubs_epi16(x: i16x16, y: i16x16) -> i16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_madd_epi16
--> third_party/rust/simd/src/x86/avx2.rs:20:5
|
20 | fn x86_mm256_madd_epi16(x: i16x16, y: i16x16) -> i32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_maddubs_epi16
--> third_party/rust/simd/src/x86/avx2.rs:21:5
|
21 | fn x86_mm256_maddubs_epi16(x: i8x32, y: i8x32) -> i16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_max_epi8
--> third_party/rust/simd/src/x86/avx2.rs:22:5
|
22 | fn x86_mm256_max_epi8(x: i8x32, y: i8x32) -> i8x32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_max_epu8
--> third_party/rust/simd/src/x86/avx2.rs:23:5
|
23 | fn x86_mm256_max_epu8(x: u8x32, y: u8x32) -> u8x32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_max_epi16
--> third_party/rust/simd/src/x86/avx2.rs:24:5
|
24 | fn x86_mm256_max_epi16(x: i16x16, y: i16x16) -> i16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_max_epu16
--> third_party/rust/simd/src/x86/avx2.rs:25:5
|
25 | fn x86_mm256_max_epu16(x: u16x16, y: u16x16) -> u16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_max_epi32
--> third_party/rust/simd/src/x86/avx2.rs:26:5
|
26 | fn x86_mm256_max_epi32(x: i32x8, y: i32x8) -> i32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_max_epu32
--> third_party/rust/simd/src/x86/avx2.rs:27:5
|
27 | fn x86_mm256_max_epu32(x: u32x8, y: u32x8) -> u32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_min_epi8
--> third_party/rust/simd/src/x86/avx2.rs:28:5
|
28 | fn x86_mm256_min_epi8(x: i8x32, y: i8x32) -> i8x32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_min_epu8
--> third_party/rust/simd/src/x86/avx2.rs:29:5
|
29 | fn x86_mm256_min_epu8(x: u8x32, y: u8x32) -> u8x32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_min_epi16
--> third_party/rust/simd/src/x86/avx2.rs:30:5
|
30 | fn x86_mm256_min_epi16(x: i16x16, y: i16x16) -> i16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_min_epu16
--> third_party/rust/simd/src/x86/avx2.rs:31:5
|
31 | fn x86_mm256_min_epu16(x: u16x16, y: u16x16) -> u16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_min_epi32
--> third_party/rust/simd/src/x86/avx2.rs:32:5
|
32 | fn x86_mm256_min_epi32(x: i32x8, y: i32x8) -> i32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_min_epu32
--> third_party/rust/simd/src/x86/avx2.rs:33:5
|
33 | fn x86_mm256_min_epu32(x: u32x8, y: u32x8) -> u32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_mul_epi64
--> third_party/rust/simd/src/x86/avx2.rs:34:5
|
34 | fn x86_mm256_mul_epi64(x: i32x8, y: i32x8) -> i64x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_mul_epu64
--> third_party/rust/simd/src/x86/avx2.rs:35:5
|
35 | fn x86_mm256_mul_epu64(x: u32x8, y: u32x8) -> u64x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_mulhi_epi16
--> third_party/rust/simd/src/x86/avx2.rs:36:5
|
36 | fn x86_mm256_mulhi_epi16(x: i16x16, y: i16x16) -> i16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_mulhi_epu16
--> third_party/rust/simd/src/x86/avx2.rs:37:5
|
37 | fn x86_mm256_mulhi_epu16(x: u16x16, y: u16x16) -> u16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_mulhrs_epi16
--> third_party/rust/simd/src/x86/avx2.rs:38:5
|
38 | fn x86_mm256_mulhrs_epi16(x: i16x16, y: i16x16) -> i16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_packs_epi16
--> third_party/rust/simd/src/x86/avx2.rs:39:5
|
39 | fn x86_mm256_packs_epi16(x: i16x16, y: i16x16) -> i8x32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_packus_epi16
--> third_party/rust/simd/src/x86/avx2.rs:40:5
|
40 | fn x86_mm256_packus_epi16(x: i16x16, y: i16x16) -> u8x32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_packs_epi32
--> third_party/rust/simd/src/x86/avx2.rs:41:5
|
41 | fn x86_mm256_packs_epi32(x: i32x8, y: i32x8) -> i16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_packus_epi32
--> third_party/rust/simd/src/x86/avx2.rs:42:5
|
42 | fn x86_mm256_packus_epi32(x: i32x8, y: i32x8) -> u16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_permutevar8x32_epi32
--> third_party/rust/simd/src/x86/avx2.rs:43:5
|
43 | fn x86_mm256_permutevar8x32_epi32(x: i32x8, y: i32x8) -> i32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_permutevar8x32_ps
--> third_party/rust/simd/src/x86/avx2.rs:44:5
|
44 | fn x86_mm256_permutevar8x32_ps(x: f32x8, y: i32x8) -> f32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_sad_epu8
--> third_party/rust/simd/src/x86/avx2.rs:45:5
|
45 | fn x86_mm256_sad_epu8(x: u8x32, y: u8x32) -> u64x4;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_shuffle_epi8
--> third_party/rust/simd/src/x86/avx2.rs:46:5
|
46 | fn x86_mm256_shuffle_epi8(x: i8x32, y: i8x32) -> i8x32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_sign_epi8
--> third_party/rust/simd/src/x86/avx2.rs:47:5
|
47 | fn x86_mm256_sign_epi8(x: i8x32, y: i8x32) -> i8x32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_sign_epi16
--> third_party/rust/simd/src/x86/avx2.rs:48:5
|
48 | fn x86_mm256_sign_epi16(x: i16x16, y: i16x16) -> i16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_sign_epi32
--> third_party/rust/simd/src/x86/avx2.rs:49:5
|
49 | fn x86_mm256_sign_epi32(x: i32x8, y: i32x8) -> i32x8;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_subs_epi8
--> third_party/rust/simd/src/x86/avx2.rs:50:5
|
50 | fn x86_mm256_subs_epi8(x: i8x32, y: i8x32) -> i8x32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_subs_epu8
--> third_party/rust/simd/src/x86/avx2.rs:51:5
|
51 | fn x86_mm256_subs_epu8(x: u8x32, y: u8x32) -> u8x32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_subs_epi16
--> third_party/rust/simd/src/x86/avx2.rs:52:5
|
52 | fn x86_mm256_subs_epi16(x: i16x16, y: i16x16) -> i16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unrecognized platform-specific intrinsic function: x86_mm256_subs_epu16
--> third_party/rust/simd/src/x86/avx2.rs:53:5
|
53 | fn x86_mm256_subs_epu16(x: u16x16, y: u16x16) -> u16x16;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 170 previous errors
error: Could not compile simd
.
Updated•6 years ago
|
Assignee | ||
Comment 1•6 years ago
|
||
Thanks for filing. This code removal happening before https://github.com/rust-lang/rust/issues/57030 is done is problematic in terms of migrating encoding_rs from the simd crate to the packed_simd crate. I'll investigate a bit.
Assignee | ||
Comment 2•6 years ago
|
||
Intermediate finding:
With RUSTC_BOOTSTRAP=1, packed_simd 0.3.1 compiles with rustc 1.30.0 and later on x86_64 (and encoding_rs unit tests pass). However, it doesn't take care of setting RUSTC_BOOTSTRAP=1 itself like the simd crate does.
Assignee | ||
Comment 3•6 years ago
|
||
m_kato, regarding the tracking flags: Shouldn't branches be "wontfix" instead of "affected"? I.e. branches keep working with the release-channel version of Rust that they worked with when they branched away from m-c.
The assumption here is once Rust 1.33 hits release channel downstream would face a dillemma until Firefox ESR60 reaches EOL:
(1) drop --enable-rust-simd from .mozconfig
(2) delay rust update until something requires >= 1.33
(3) package rust < 1.33 just for firefox
Comment 5•6 years ago
|
||
(In reply to Henri Sivonen (:hsivonen) from comment #3)
m_kato, regarding the tracking flags: Shouldn't branches be "wontfix" instead of "affected"? I.e. branches keep working with the release-channel version of Rust that they worked with when they branched away from m-c.
Until 65, our requirement isn't 1.33, so I mark as wontfix or fix-optinal. Firefox 66 is 1.32 or 1.33?
Assignee | ||
Comment 6•6 years ago
|
||
(In reply to Makoto Kato [:m_kato] from comment #5)
(In reply to Henri Sivonen (:hsivonen) from comment #3)
m_kato, regarding the tracking flags: Shouldn't branches be "wontfix" instead of "affected"? I.e. branches keep working with the release-channel version of Rust that they worked with when they branched away from m-c.
Until 65, our requirement isn't 1.33, so I mark as wontfix or fix-optinal. Firefox 66 is 1.32 or 1.33?
For the time being, this is not yet a problem for official builds but for building Firefox with a newer Rust than the official builds are built with.
I'm not sure if 66 is 1.30 or 1.31. Certainly not 1.33.
Also, since 66 is now in soft-freeze, I don't expect it to be OK to fix this until m-c becomes 67.
(In reply to Jan Beich from comment #4)
The assumption here is once Rust 1.33 hits release channel downstream would face a dillemma until Firefox ESR60 reaches EOL:
(1) drop --enable-rust-simd from .mozconfig
(2) delay rust update until something requires >= 1.33
(3) package rust < 1.33 just for firefox
The situation is indeed quite unfortunate for downstreams that simultaneously wish to package ESR and the latest Rust and only one version of Rust.
Once this situation is resolved for m-c, if the fix is migrating to packed_simd
(as opposed to reverting the rustc change), I expect it to be possible to apply the fix to ESR in order to build with Rust 1.33 or later, but doing so would probably break the ability to break buildabilility with Rust 1.24, to which Mozilla's ESR 60 builds are pinned. At present, I don't expect us to roll the rustc version forward for ESR upstream, but folks working on the build system could probably say something with more confidence.
Another intermediate finding:
Compiling packed_simd
makes rustc consume more than 2 GB of RAM. Fortunately, it's still within the 3 GB address space limit for 32-bit build hosts. (I verified that it's buildable on an ARMv7 Linux host with 4 GB of physical RAM.)
Comment 7•6 years ago
|
||
(In reply to Henri Sivonen (:hsivonen) from comment #6)
Another intermediate finding:
Compilingpacked_simd
makes rustc consume more than 2 GB of RAM.
This is, to put it nicely, ridiculous.
Assignee | ||
Comment 8•6 years ago
|
||
(In reply to Nathan Froyd [:froydnj] from comment #7)
(In reply to Henri Sivonen (:hsivonen) from comment #6)
Another intermediate finding:
Compilingpacked_simd
makes rustc consume more than 2 GB of RAM.This is, to put it nicely, ridiculous.
Filed as a Rust issue.
Assignee | ||
Comment 9•6 years ago
|
||
(In reply to Henri Sivonen (:hsivonen) from comment #6)
Compiling
packed_simd
makes rustc consume more than 2 GB of RAM.
2 GB of physical RAM + swap works.
Relevant dependencies:
https://github.com/rust-lang/rust/pull/57808
https://github.com/rust-lang/rust/pull/57862
https://github.com/rust-lang-nursery/packed_simd/issues/203
https://github.com/rust-lang-nursery/packed_simd/pull/205
Assignee | ||
Comment 10•6 years ago
|
||
(In reply to Henri Sivonen (:hsivonen) from comment #9)
Relevant dependencies:
For clarity: These aren't relevant to compiler memory usage but relevant to moving forward with the migration to packed_simd
.
Assignee | ||
Comment 11•6 years ago
|
||
Removing bug 1476505 from the dependencies, since it's unlikely that packed_simd
will become std::simd
before we need this fixed.
Nick - can you see if you can find a way to improve the memory usage here?
Assignee | ||
Comment 13•6 years ago
|
||
Switching to a NEON-enabled standard library didn't bring packed_simd
to performance parity with simd
on ARMv7 yet. I need to examine the compiler output, try with a git clone of packed_simd
, etc.
Assignee | ||
Comment 14•6 years ago
|
||
Comment 15•6 years ago
|
||
I did a DHAT run, which shows that 54% of the peak memory usage has a single cause (lazy constant interning): https://github.com/rust-lang/rust/issues/57829#issuecomment-460425506
I will see if I can improve things, or if not, try to find someone who can.
Assignee | ||
Comment 16•6 years ago
|
||
(In reply to Henri Sivonen (:hsivonen) from comment #13)
Switching to a NEON-enabled standard library didn't bring
packed_simd
to performance parity withsimd
on ARMv7 yet. I need to examine the compiler output, try with a git clone ofpacked_simd
, etc.
Filed as https://github.com/rust-lang-nursery/packed_simd/issues/215
Assignee | ||
Comment 17•6 years ago
|
||
1.33 broke simd
and now packed_simd
requires 1.34 and will require an additional change in order not to regress performance on ARMv7.
Since the Firefox build system requires crates to use RUSTC_BOOTSTRAP and packed_simd
won't have that in the upstream crate, I'll need to maintain a fork of packed_simd
anyway and use the cargo replacement feature when vendoring the crates into m-c.
Once it's known how large the change not to regress perf on ARMv7 is going to be, I'll see if it makes sense to make the fork a snapshot of packed_simd
that compiles on 1.33 and backport the ARMv7 fix.
If that turns out not to make sense, we should probably skip 1.33 for Mozilla-provided builds. Unclear how that's going to work for distros. One option would be to publish an easy-to-apply patch that makes Firefox compile with 1.33 and with SIMD but in a way that regresses perf on ARMv7. At least that wouldn't disrupt 64-bit distro builds. I gather that distros tend to build without SIMD anyway for 32-bit x86 and ARMv7.
Assignee | ||
Comment 18•6 years ago
|
||
(Using nightly Rust,) When I build packed_simd
0.3.3 outside Gecko, it builds fine. However, when I vendor it into m-c and build, the imports get all messed up.
Is there some known thing that the Firefox build system does that could confuse module references, especially 2018-style ones, within a vendored crate?
7:41.85 error[E0432]: unresolved imports `crate::codegen::pointer_sized_int::isize_`, `crate::codegen::pointer_sized_int::usize_`
7:41.85 --> /opt/Projects/gecko/third_party/rust/packed_simd/src/codegen/vSize.rs:3:41
7:41.85 |
7:41.85 3 | use crate::codegen::pointer_sized_int::{isize_, usize_};
7:41.85 | ^^^^^^ ^^^^^^ no `usize_` in `codegen::pointer_sized_int`
7:41.86 | |
7:41.86 | no `isize_` in `codegen::pointer_sized_int`
7:41.86 error[E0433]: failed to resolve: did you mean `core::arch`?
7:41.86 --> /opt/Projects/gecko/third_party/rust/packed_simd/src/api/into_bits/arch_specific.rs:50:20
7:41.86 |
7:41.86 50 | use crate::arch::$arch::{
7:41.86 | ^^^^ did you mean `core::arch`?
7:41.86 ...
7:41.86 86 | / impl_arch!(
7:41.86 87 | | [x86["x86"]: __m64], [x86_64["x86_64"]: __m64],
7:41.86 88 | | [arm["arm"]: int8x8_t, uint8x8_t, poly8x8_t, int16x4_t, uint16x4_t,
7:41.86 89 | | poly16x4_t, int32x2_t, uint32x2_t, float32x2_t, int64x1_t,
7:41.86 ... |
7:41.86 96 | | test: test_v64
7:41.86 97 | | );
7:41.86 | |__- in this macro invocation
Comment 19•6 years ago
|
||
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #12)
Nick - can you see if you can find a way to improve the memory usage here?
https://github.com/rust-lang/rust/pull/58207 reduces memory usage by 59%. It's currently in the landing queue and will hopefully land some time in the next few days.
Assignee | ||
Comment 20•6 years ago
•
|
||
cd third_party/rust/packed_simd/; cargo build
works, so the vendoring process hasn't damaged the crate. The errors are a subset of the errors I get if I comment out edition = "2018"
from Cargo.toml
of packed_simd
when building it individually (the extra errors I get that way relate to locating cfg_if
).
It the cranelift-*
crates are already edition 2018 crates, so it seems the issue isn't the edition 2018 in m-c is totally broken and packed_simd
was the first edition 2018 crate.
In any case, it looks a lot like the full build doesn't propagate edition the right way. Why might that be and what can I do about it?
Assignee | ||
Comment 21•6 years ago
|
||
By watching the process list during the build, it seems that 1) the rustc
being invoked is indeed the right one (nightly) and 2) --edition 2018
is being passed to rustc
.
Comment 22•6 years ago
|
||
(In reply to Henri Sivonen (:hsivonen) from comment #18)
(Using nightly Rust,) When I build
packed_simd
0.3.3 outside Gecko, it builds fine. However, when I vendor it into m-c and build, the imports get all messed up.Is there some known thing that the Firefox build system does that could confuse module references, especially 2018-style ones, within a vendored crate?
Your guess is as good as mine.
Assignee | ||
Comment 23•6 years ago
|
||
For reference, here's the patch that introduces packed_simd
(in a nightly-only-compatible state) but that fails to build due to 2018-style module paths mysteriously not working.
Assignee | ||
Comment 24•6 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #22)
Your guess is as good as mine.
Assignee | ||
Comment 25•6 years ago
|
||
Removing sccache from the build didn't help. strace shows --edition=2018
being passed the same way during an m-c build and during a standalone packed_simd
build.
Assignee | ||
Comment 26•6 years ago
|
||
(In reply to Henri Sivonen (:hsivonen) from comment #18)
(Using nightly Rust,) When I build
packed_simd
0.3.3 outside Gecko, it builds fine. However, when I vendor it into m-c and build, the imports get all messed up.
Filed as bug 1526924.
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 27•6 years ago
|
||
Assignee | ||
Comment 28•6 years ago
•
|
||
Making dependent on bug 1521734 again, because vendoring core_arch
didn't work on the first attempt. (It's likely that vendoring core_arch
would work with some effort, but it makes more sense to put effort into bug 1521734, which will give us core::arch
. With core_arch
we'd have to track compiler compat. core::arch
is guaranteed to be compatible with the compilers, since it ships with the compiler.)
Assignee | ||
Comment 29•6 years ago
|
||
mhoye, does an import of a crate from rust-lang-nursery under Apache License 2.0 need license review as a formality?
Comment 30•6 years ago
|
||
I can answer for mhoye: it doesn't. As a matter of fact, we already have plenty of Apache License 2.0 code in the tree. Normally, you'd have to update toolkit/content/license.html with the new directory that contains code under the known license, but apparently, for the Apache license, we've gone with a broad "This license applies to various files in the Mozilla codebase."
Assignee | ||
Comment 31•6 years ago
|
||
This changeset requires nightly Rust (to be changed in the next part).
Assignee | ||
Comment 32•6 years ago
|
||
This adds the Firefox-required build.rs hack and reverts the commit
that added bitmasks in a way that depends on Rust 1.34 compiler
internals.
Depends on D20288
Assignee | ||
Comment 33•6 years ago
|
||
The attached patches work with Rust 1.32, 1.33, and 1.34 for x86_64, x86, and aarch64. However, 32-bit ARM performance depends on bug 1521734, which depends on Rust 1.33.
(In reply to Mike Hommey [:glandium] from comment #30)
I can answer for mhoye: it doesn't. As a matter of fact, we already have plenty of Apache License 2.0 code in the tree. Normally, you'd have to update toolkit/content/license.html with the new directory that contains code under the known license, but apparently, for the Apache license, we've gone with a broad "This license applies to various files in the Mozilla codebase."
I'm aware that this is totally within policy. What was not clear to me was if a license r+ was needed anyway.
Assignee | ||
Comment 34•6 years ago
|
||
Comment 35•6 years ago
|
||
Mike Hommey is correct, but I should clarify why, and what I think "license r+" means.
In general "we need to import code X under already-accepted license Y" is fast and easy, and all it involves is adding the list of files or directories being added to that license's section - see about:license#apache-llvm as an example. I generally get back to those quickly, but if you're concerned about my response time or product momentum in general feel free to file the changes to about:license as a separate change so you're not blocking on me, and if you're concerned about my responsiveness you are always welcome to contact my boss to nudge me about it.
Unfortunately, "we need to import code X under new license Z" is always going to be harder and take longer, and should be considered a blocker, which kind of sucks but there's a reason they call it "doing the right thing", not "doing the easy thing". If you foresee this in your future I would be grateful for as much notice as you can give me.
More generally, I would like any interested party to be able to move back and forth between any part of the codebase and the related license on the about:license page for anything not MPL. In practice this is a mess and we're a very long way from being able to do that. This is not to say that we're out of compliance with any licensing that I'm aware of, only that our traceability situation here is poor.
At the moment there are four licenses - Apache, React, React-MIT and the Android OSL - that are listed in about:license with the phrase "This license applies to various files in the Mozilla codebase, including (whatever)", which I would like people to interpret as "FIXME". Cleaning that up will take a while but just so we're not losing ground on that cleanup, I would like to add newly-imported files under those four licenses to the list of files in about:license, following the Apache-LLVM example. That said, it's a nice to have in this case, not a requirement.
You're welcome to file that patch yourself - as I say, I can turn those reviews around quickly - or to tag me in to the bug where it's happening so I can clean it up later.
Assignee | ||
Comment 36•6 years ago
|
||
This patch backports part 1 to ESR60. You probably don't want this unless you are building ESR with a new rustc, since this breaks compat with Rust 1.24, which ESR upstream is pinned to. This should work at least with Rust 1.32, 1.33 and 1.34 for x86, x86_64 and aarch64. Regresses perf for 32-bit ARM.
(To build with current Rust, you also need to remove #![deny(missing_docs)]
from servo/components/style/lib.rs
and servo/components/style_traits/lib.rs
.)
Assignee | ||
Comment 37•6 years ago
|
||
This patch backports part 2 to ESR60.
Assignee | ||
Comment 38•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Comment 40•6 years ago
|
||
Assignee | ||
Comment 41•6 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #39)
Can you land this?
Landed on the assumption that bug 1529774 will follow soon.
Note to sheriff: This is expected to regress performance on ARMv7 Android until bug 1529774 lands.
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Comment 42•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/be4f4ec91925
https://hg.mozilla.org/mozilla-central/rev/d3d185b3c085
https://hg.mozilla.org/mozilla-central/rev/0b463e85dfe4
Updated•6 years ago
|
Comment 43•6 years ago
|
||
Updated•6 years ago
|
Updated•5 years ago
|
Description
•