Le Wed, Nov 10, 2021 at 03:32:21PM +0100, Patrick Wildt a écrit :
> Hi,
> 
> on my ARM64 workstation firefox has recently begun crashing all the
> time.  Turns out it's because QCMS (whatever that is), uses some HW
> acceleration (SIMD using NEON/VFP) on ARM64, and the LLVM-backed Rust-
> compiler seems to not produce a pseudo-op that instead of emitting
> a proper ASM instruction creates a call to it:
> 
>          U llvm.fptosi.sat.v4i32.v4f32
> 
> This change is a workaround which simply makes QCMS not use NEON on
> AArch64.  In the end the right fix would be in Rust/LLVM to create
> proper ASM, but I don't know where to look.  Maybe a future update
> of Rust/LLVM will fix it automatically.
> 
> This patch will continue to compile the NEON extensions, so nm(1)
> will still show the reference, but the extensions won't be used.
> 
> Not sure this is worth committing.  For now I'll use this locally.

Sorry for not replying earlier, was offline.

I didnt even know firefox actually worked on arm64, which i never used
:) as for the patch itself, i doubt it is upstreamable as is, but i'd
like at least this to be reported upstream so that rust/qcms/aarch64
experts can chime in on the subject. Can you take care of that, or
should i proxy it ?

As you say, the right fix would be in rust, but my understanding is that
rust on OpenBSD/arm64 doesnt produce the same working asm as
Linux/aarch64 uses ?

Landry

Reply via email to