authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-11-04 15:47:27-05:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-11-04 22:45:54-05:00
loga6d444c2714f24b7232895cf15282e2287fe445e
treef0c382105c149fb28985ba039fe0bd244f4d4f3f
parent74900e938a8ea28b6ea7aa35924a2dee9818056b

x86_64: implement split vector stores

Closes #25809

1 files changed, 4 insertions(+), 0 deletions(-)

src/codegen/x86_64/CodeGen.zig+4
......@@ -183533,6 +183533,10 @@ const Temp = struct {
183533183533 assert(src_regs.len - part_index == std.math.divCeil(u32, src_abi_size, 8) catch unreachable);
183534183534 break :part_ty try cg.pt.intType(.unsigned, @as(u16, 8) * @min(src_abi_size, 8));
183535183535 },
183536 .vector_type => |vector_type| try cg.pt.vectorType(.{
183537 .len = @intCast(@divExact(vector_type.len, src_regs.len)),
183538 .child = vector_type.child,
183539 }),
183536183540 .opt_type => |opt_child| switch (ip.indexToKey(opt_child)) {
183537183541 else => std.debug.panic("{s}: {f}\n", .{ @src().fn_name, src_ty.fmt(cg.pt) }),
183538183542 .ptr_type => |ptr_info| {