You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Good you bring this up. Frankly, we probably shouldn't be using explicit SIMD intrinsics in the first place. There are plenty of libraries that would make this a lot easier and incidentally even allow us to automatically targets other architectures implicitly. In addition, they all run on stable:
bvh/src/ray/intersect_x86_64.rs
Lines 68 to 69 in e61924c
The docs of
_mm_store_ps
say:[f32; 4]
has the same alignment asf32
, or only 4 bytes.This code appears to be relying on Rust function stack memory layout properties that are not guaranteed.
Possible solutions:
#[repr(C, align(16))]
_mm_storeu_ps
This applies to other x86_64 SIMD stores, not just on f32x4.
The text was updated successfully, but these errors were encountered: