const data:[4]f64 = .{ 1.0, 2.0, 3.0, 4.0 };
var vec: @Vector(4, f64) = undefined;
inline for (0..4) |i| {
vec[i] = data[i];
}
The asm code generated by the above zig code can load 4 f64 data from mem to ymm0 using vmovsd
But sometimes want to load partial data like 3 f64 data from mem to ymm0, and use vmaskmovsd in generated asm code to do it efficiently.
But I don't know how to achieve the above mask load effect in Zig without using inline asm.