servo / pathfinder

A fast, practical GPU rasterizer for fonts and vector graphics
Apache License 2.0
3.62k stars 207 forks source link

I32x4 min/max operations use unsupported fmin/fmax on i32 values #297

Closed jdm closed 4 years ago

jdm commented 4 years ago

When I build raqote using the font-kit that includes pathfinder_geometry (and therefore pathfinder_simd), I get this error on ARM builds:

error[E0511]: invalid monomorphization of `simd_fmax` intrinsic: unsupported operation on `std::arch::aarch64::int32x4_t` with element `i32`

This comes from this code I32x4 code: https://github.com/servo/pathfinder/blob/e87b330123de68f19198a6d1647e567456766290/simd/src/arm/mod.rs#L560-L568

jdm commented 4 years ago

Unfortunately this doesn't show up as a failure in https://github.com/servo/pathfinder/pull/296 because no code compiled for arm64 ends up calling these functions.