packed_simd does not compile on nightly Rust
Categories
(Firefox Build System :: General, defect)
Tracking
(firefox-esr78 fixed, firefox84 fixed)
People
(Reporter: hsivonen, Assigned: hsivonen)
References
Details
Attachments
(2 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
jcristau
:
approval-mozilla-esr78+
|
Details | Review |
Rust compiler changed in a way that makes packed_simd
not compile. Need to adjust our copy of packed_simd
accordingly. This may be related to LLVM removing MMX support.
0:14.63 error[E0432]: unresolved import `crate::arch::x86_64::__m64`
0:14.63 --> /opt/Projects/gecko/third_party/rust/packed_simd/src/api/into_bits/arch_specific.rs:51:15
0:14.63 |
0:14.63 51 | $($arch_ty),*
0:14.63 | ^^^^^^^^ no `__m64` in `arch::x86_64`
0:14.63 ...
0:14.63 86 | / impl_arch!(
0:14.63 87 | | [x86["x86"]: __m64], [x86_64["x86_64"]: __m64],
0:14.63 88 | | [arm["arm"]: int8x8_t, uint8x8_t, poly8x8_t, int16x4_t, uint16x4_t,
0:14.63 89 | | poly16x4_t, int32x2_t, uint32x2_t, float32x2_t, int64x1_t,
0:14.63 ... |
0:14.63 96 | | test: test_v64
0:14.63 97 | | );
0:14.63 | |__- in this macro invocation
0:14.63 |
0:14.63 = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
0:14.63 error[E0432]: unresolved import `crate::arch::x86_64::_mm_movemask_pi8`
0:14.63 --> /opt/Projects/gecko/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/sse.rs:47:21
0:14.63 |
0:14.63 47 | use crate::arch::x86_64::_mm_movemask_pi8;
0:14.63 | ^^^^^^^^^^^^^^^^^^^^^----------------
0:14.63 | | |
0:14.63 | | help: a similar name exists in the module: `_mm_movemask_epi8`
0:14.64 | no `_mm_movemask_pi8` in `arch::x86_64`
0:14.64 |
0:14.64 ::: /opt/Projects/gecko/third_party/rust/packed_simd/src/codegen/reductions/mask.rs:41:1
0:14.64 |
0:14.64 41 | impl_mask_reductions!(m8x8);
0:14.64 | ---------------------------- in this macro invocation
0:14.64 |
0:14.64 = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
0:14.64 error[E0432]: unresolved import `crate::arch::x86_64::_mm_movemask_pi8`
0:14.64 --> /opt/Projects/gecko/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/sse.rs:62:21
0:14.64 |
0:14.64 62 | use crate::arch::x86_64::_mm_movemask_pi8;
0:14.65 | ^^^^^^^^^^^^^^^^^^^^^----------------
0:14.65 | | |
0:14.65 | | help: a similar name exists in the module: `_mm_movemask_epi8`
0:14.65 | no `_mm_movemask_pi8` in `arch::x86_64`
0:14.65 |
0:14.65 ::: /opt/Projects/gecko/third_party/rust/packed_simd/src/codegen/reductions/mask.rs:41:1
0:14.65 |
0:14.65 41 | impl_mask_reductions!(m8x8);
0:14.65 | ---------------------------- in this macro invocation
0:14.65 |
0:14.65 = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
0:14.66 error[E0432]: unresolved import `crate::arch::x86_64::_mm_movemask_pi8`
0:14.66 --> /opt/Projects/gecko/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/sse.rs:47:21
0:14.66 |
0:14.66 47 | use crate::arch::x86_64::_mm_movemask_pi8;
0:14.66 | ^^^^^^^^^^^^^^^^^^^^^----------------
0:14.66 | | |
0:14.66 | | help: a similar name exists in the module: `_mm_movemask_epi8`
0:14.66 | no `_mm_movemask_pi8` in `arch::x86_64`
0:14.66 |
0:14.66 ::: /opt/Projects/gecko/third_party/rust/packed_simd/src/codegen/reductions/mask.rs:47:1
0:14.66 |
0:14.66 47 | impl_mask_reductions!(m16x4);
0:14.66 | ----------------------------- in this macro invocation
0:14.66 |
0:14.66 = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
0:14.66 error[E0432]: unresolved import `crate::arch::x86_64::_mm_movemask_pi8`
0:14.66 --> /opt/Projects/gecko/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/sse.rs:62:21
0:14.66 |
0:14.67 62 | use crate::arch::x86_64::_mm_movemask_pi8;
0:14.67 | ^^^^^^^^^^^^^^^^^^^^^----------------
0:14.67 | | |
0:14.67 | | help: a similar name exists in the module: `_mm_movemask_epi8`
0:14.67 | no `_mm_movemask_pi8` in `arch::x86_64`
0:14.67 |
0:14.67 ::: /opt/Projects/gecko/third_party/rust/packed_simd/src/codegen/reductions/mask.rs:47:1
0:14.67 |
0:14.67 47 | impl_mask_reductions!(m16x4);
0:14.67 | ----------------------------- in this macro invocation
0:14.67 |
0:14.67 = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
0:14.67 error[E0432]: unresolved import `crate::arch::x86_64::_mm_movemask_pi8`
0:14.67 --> /opt/Projects/gecko/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/sse.rs:47:21
0:14.68 |
0:14.68 47 | use crate::arch::x86_64::_mm_movemask_pi8;
0:14.68 | ^^^^^^^^^^^^^^^^^^^^^----------------
0:14.68 | | |
0:14.68 | | help: a similar name exists in the module: `_mm_movemask_epi8`
0:14.68 | no `_mm_movemask_pi8` in `arch::x86_64`
0:14.68 |
0:14.68 ::: /opt/Projects/gecko/third_party/rust/packed_simd/src/codegen/reductions/mask.rs:52:1
0:14.68 |
0:14.68 52 | impl_mask_reductions!(m32x2);
0:14.68 | ----------------------------- in this macro invocation
0:14.68 |
0:14.68 = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
0:14.68 error[E0432]: unresolved import `crate::arch::x86_64::_mm_movemask_pi8`
0:14.68 --> /opt/Projects/gecko/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/sse.rs:62:21
0:14.68 |
0:14.69 62 | use crate::arch::x86_64::_mm_movemask_pi8;
0:14.69 | ^^^^^^^^^^^^^^^^^^^^^----------------
0:14.69 | | |
0:14.70 | | help: a similar name exists in the module: `_mm_movemask_epi8`
0:14.70 | no `_mm_movemask_pi8` in `arch::x86_64`
0:14.70 |
0:14.70 ::: /opt/Projects/gecko/third_party/rust/packed_simd/src/codegen/reductions/mask.rs:52:1
0:14.70 |
0:14.70 52 | impl_mask_reductions!(m32x2);
0:14.70 | ----------------------------- in this macro invocation
0:14.70 |
0:14.70 = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
0:16.80 dom/cache
0:17.16 dom/canvas
0:19.83 dom/clients/api
0:27.84 dom/clients/manager
0:29.12 dom/commandhandler
0:29.15 error: aborting due to 7 previous errors
0:29.15 For more information about this error, try `rustc --explain E0432`.
0:29.36 error: could not compile `packed_simd`
0:29.37 To learn more, run the command again with --verbose.
0:29.38 /opt/Projects/gecko/config/makefiles/rust.mk:302: recipe for target 'force-cargo-library-build' failed
0:29.38 make[4]: *** [force-cargo-library-build] Error 101
0:29.38 /opt/Projects/gecko/config/recurse.mk:72: recipe for target 'toolkit/library/rust/target' failed
0:29.38 make[3]: *** [toolkit/library/rust/target] Error 2
0:29.38 make[3]: *** Waiting for unfinished jobs....
Assignee | ||
Comment 1•4 years ago
|
||
Assignee | ||
Comment 2•4 years ago
|
||
Assignee | ||
Comment 4•4 years ago
|
||
The patch compiles locally on both 1.46 (current stable) and 1.48 (current nightly) but doesn't compile on 1.43, which we use in CI.
I'm not sure if you're aware, but packed_simd won't be updated on crates.io anymore (if you're waiting for the new version):
https://github.com/rust-lang/packed_simd#the-cratesio-version-can-no-longer-be-updated
Assignee | ||
Comment 6•4 years ago
|
||
(In reply to mceier from comment #5)
I'm not sure if you're aware, but packed_simd won't be updated on crates.io anymore (if you're waiting for the new version):
https://github.com/rust-lang/packed_simd#the-cratesio-version-can-no-longer-be-updated
Thanks. I'm aware. The corresponding change has landed in encoding_rs
, and I intend to sort out that issue out on mozilla-central once the time comes to update encoding_rs
in m-c.
Comment 8•4 years ago
|
||
bugherder |
Assignee | ||
Comment 10•3 years ago
|
||
Assignee | ||
Comment 11•3 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #9)
Could we get this on esr?
The patch didn't apply cleanly to the generated files, so I've posted a distinct patch for review.
Assignee | ||
Comment 12•3 years ago
|
||
Comment on attachment 9220292 [details]
Bug 1667736 - Update packed_simd to compile on Rust 1.48, esr rebase.
ESR Uplift Approval Request
- If this is not a sec:{high,crit} bug, please state case for ESR consideration: Allow ESR to be built with newer Rust.
- User impact if declined: Impact is on distro maintainers; not end users.
- Fix Landed on Version: 84
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): This changes compiler compatibility on parts of the crate that we don't use but still need to compile and the patch has been in multiple non-ESR releases.
- String or UUID changes made by this patch: None
Comment 13•3 years ago
|
||
Comment on attachment 9220292 [details]
Bug 1667736 - Update packed_simd to compile on Rust 1.48, esr rebase.
approved for 78.12esr, thanks
Comment 14•3 years ago
|
||
bugherder uplift |
Description
•