Available on (x86 or x86-64) and target feature
sse
and x86 only.Expand description
Loads four f32
values from aligned memory into a __m128
in reverse
order.
If the pointer is not aligned to a 128-bit boundary (16 bytes) a general protection fault will be triggered (fatal program crash).
Functionally equivalent to the following code sequence (assuming p
satisfies the alignment restrictions):
let a0 = *p;
let a1 = *p.add(1);
let a2 = *p.add(2);
let a3 = *p.add(3);
__m128::new(a3, a2, a1, a0)
This corresponds to instructions VMOVAPS
/ MOVAPS
followed by some
shuffling.