Commit a9f738e56b

Jacob Young <jacobly0@users.noreply.github.com>
2024-02-09 10:30:17
x86_64: implement c abi for bool vectors
1 parent c6b3db8
Changed files (7)
lib
src
arch
codegen
test
lib/std/mem.zig
@@ -635,6 +635,7 @@ test "lessThan" {
 const backend_can_use_eql_bytes = switch (builtin.zig_backend) {
     // The SPIR-V backend does not support the optimized path yet.
     .stage2_spirv64 => false,
+    .stage2_x86_64 => !std.Target.x86.featureSetHas(builtin.cpu.features, .avx2),
     else => true,
 };
 
src/arch/x86_64/abi.zig
@@ -10,6 +10,7 @@ pub const Class = enum {
     win_i128,
     float,
     float_combine,
+    integer_per_element,
 };
 
 pub fn classifyWindows(ty: Type, mod: *Module) Class {
@@ -161,6 +162,31 @@ pub fn classifySystemV(ty: Type, mod: *Module, ctx: Context) [8]Class {
         .Vector => {
             const elem_ty = ty.childType(mod);
             const bits = elem_ty.bitSize(mod) * ty.arrayLen(mod);
+            if (elem_ty.toIntern() == .bool_type) {
+                if (bits <= 32) return .{
+                    .integer, .none, .none, .none,
+                    .none,    .none, .none, .none,
+                };
+                if (bits <= 64) return .{
+                    .sse,  .none, .none, .none,
+                    .none, .none, .none, .none,
+                };
+                if (ctx == .arg) {
+                    if (bits <= 128) return .{
+                        .integer_per_element, .none, .none, .none,
+                        .none,                .none, .none, .none,
+                    };
+                    if (bits <= 256 and std.Target.x86.featureSetHas(target.cpu.features, .avx)) return .{
+                        .integer_per_element, .none, .none, .none,
+                        .none,                .none, .none, .none,
+                    };
+                    if (bits <= 512 and std.Target.x86.featureSetHas(target.cpu.features, .avx512f)) return .{
+                        .integer_per_element, .none, .none, .none,
+                        .none,                .none, .none, .none,
+                    };
+                }
+                return memory_class;
+            }
             if (bits <= 64) return .{
                 .sse,  .none, .none, .none,
                 .none, .none, .none, .none,
src/arch/x86_64/CodeGen.zig
@@ -221,6 +221,8 @@ pub const MCValue = union(enum) {
     /// The address of an offset from a frame index
     /// Payload is a frame address.
     lea_frame: FrameAddr,
+    /// Supports integer_per_element abi
+    elementwise_regs_then_frame: packed struct { regs: u3 = 0, frame_off: i29 = 0, frame_index: FrameIndex },
     /// This indicates that we have already allocated a frame index for this instruction,
     /// but it has not been spilled there yet in the current control flow.
     /// Payload is a frame index.
@@ -300,6 +302,7 @@ pub const MCValue = union(enum) {
             .lea_got,
             .lea_tlv,
             .lea_frame,
+            .elementwise_regs_then_frame,
             .reserved_frame,
             .air_ref,
             => unreachable, // not in memory
@@ -332,6 +335,7 @@ pub const MCValue = union(enum) {
             .load_tlv,
             .load_frame,
             .load_symbol,
+            .elementwise_regs_then_frame,
             .reserved_frame,
             .air_ref,
             => unreachable, // not dereferenceable
@@ -352,6 +356,7 @@ pub const MCValue = union(enum) {
             .unreach,
             .dead,
             .undef,
+            .elementwise_regs_then_frame,
             .reserved_frame,
             .air_ref,
             => unreachable, // not valid
@@ -403,8 +408,8 @@ pub const MCValue = union(enum) {
             .load_tlv,
             .lea_tlv,
             .lea_frame,
+            .elementwise_regs_then_frame,
             .reserved_frame,
-            .air_ref,
             .lea_symbol,
             => unreachable,
             .memory => |addr| if (math.cast(i32, @as(i64, @bitCast(addr)))) |small_addr| .{
@@ -441,6 +446,7 @@ pub const MCValue = union(enum) {
                     } },
                 };
             },
+            .air_ref => |ref| (try function.resolveInst(ref)).mem(function, size),
         };
     }
 
@@ -470,6 +476,7 @@ pub const MCValue = union(enum) {
             .load_tlv => |pl| try writer.print("[tlv:{d}]", .{pl}),
             .lea_tlv => |pl| try writer.print("tlv:{d}", .{pl}),
             .load_frame => |pl| try writer.print("[{} + 0x{x}]", .{ pl.index, pl.off }),
+            .elementwise_regs_then_frame => |pl| try writer.print("elementwise:{d}:[{} + 0x{x}]", .{ pl.regs, pl.frame_index, pl.frame_off }),
             .lea_frame => |pl| try writer.print("{} + 0x{x}", .{ pl.index, pl.off }),
             .reserved_frame => |pl| try writer.print("(dead:{})", .{pl}),
             .air_ref => |pl| try writer.print("(air:0x{x})", .{@intFromEnum(pl)}),
@@ -502,6 +509,7 @@ const InstTracking = struct {
             .lea_symbol,
             => result,
             .dead,
+            .elementwise_regs_then_frame,
             .reserved_frame,
             .air_ref,
             => unreachable,
@@ -569,6 +577,7 @@ const InstTracking = struct {
             .register_offset,
             .register_overflow,
             .indirect,
+            .elementwise_regs_then_frame,
             .reserved_frame,
             .air_ref,
             => unreachable,
@@ -614,6 +623,7 @@ const InstTracking = struct {
             .register_offset,
             .register_overflow,
             .indirect,
+            .elementwise_regs_then_frame,
             .air_ref,
             => unreachable,
         }
@@ -1757,7 +1767,7 @@ fn gen(self: *Self) InnerError!void {
                         .{},
                     );
 
-                try self.performReloc(skip_sse_reloc);
+                self.performReloc(skip_sse_reloc);
             },
             .Win64 => return self.fail("TODO implement gen var arg function for Win64", .{}),
             else => unreachable,
@@ -2223,14 +2233,14 @@ fn genLazy(self: *Self, lazy_sym: link.File.LazySymbol) InnerError!void {
                 );
 
                 exitlude_jump_reloc.* = try self.asmJmpReloc(undefined);
-                try self.performReloc(skip_reloc);
+                self.performReloc(skip_reloc);
 
                 data_off += @intCast(tag_name.len + 1);
             }
 
             try self.airTrap();
 
-            for (exitlude_jump_relocs) |reloc| try self.performReloc(reloc);
+            for (exitlude_jump_relocs) |reloc| self.performReloc(reloc);
             try self.asmOpOnly(.{ ._, .ret });
         },
         else => return self.fail(
@@ -3360,7 +3370,7 @@ fn airMulDivBinOp(self: *Self, inst: Air.Inst.Index) !void {
                             .resurrect = true,
                             .close_scope = true,
                         });
-                        try self.performReloc(signed_div_floor_state.reloc);
+                        self.performReloc(signed_div_floor_state.reloc);
                         const dst_mcv = try self.genCall(
                             .{ .lib = .{
                                 .return_type = dst_ty.toIntern(),
@@ -4097,7 +4107,7 @@ fn airMulWithOverflow(self: *Self, inst: Air.Inst.Index) !void {
                     } },
                 }, Immediate.u(0));
                 _ = try self.asmJccReloc(.z, overflow_loop);
-                try self.performReloc(overflow);
+                self.performReloc(overflow);
                 try self.asmMemoryImmediate(.{ ._, .mov }, .{
                     .base = .{ .frame = dst_mcv.load_frame.index },
                     .mod = .{ .rm = .{
@@ -4105,9 +4115,9 @@ fn airMulWithOverflow(self: *Self, inst: Air.Inst.Index) !void {
                         .disp = @intCast(tuple_ty.structFieldOffset(1, mod)),
                     } },
                 }, Immediate.u(1));
-                try self.performReloc(no_overflow);
+                self.performReloc(no_overflow);
 
-                try self.performReloc(skip_inner);
+                self.performReloc(skip_inner);
                 if (slow_inc) {
                     try self.asmRegisterImmediate(.{ ._, .add }, temp_regs[0].to32(), Immediate.u(1));
                 } else {
@@ -5355,11 +5365,26 @@ fn airArrayElemVal(self: *Self, inst: Air.Inst.Index) !void {
                 else => try self.copyToTmpRegister(index_ty, index_mcv),
             };
             switch (array_mcv) {
-                .register => |array_reg| try self.asmRegisterRegister(
-                    .{ ._, .bt },
-                    array_reg.to64(),
-                    index_reg.to64(),
-                ),
+                .register => |array_reg| switch (array_reg.class()) {
+                    .general_purpose => try self.asmRegisterRegister(
+                        .{ ._, .bt },
+                        array_reg.to64(),
+                        index_reg.to64(),
+                    ),
+                    .sse => {
+                        const frame_index = try self.allocFrameIndex(FrameAlloc.initType(array_ty, mod));
+                        try self.genSetMem(.{ .frame = frame_index }, 0, array_ty, array_mcv, .{});
+                        try self.asmMemoryRegister(
+                            .{ ._, .bt },
+                            .{
+                                .base = .{ .frame = frame_index },
+                                .mod = .{ .rm = .{ .size = .qword } },
+                            },
+                            index_reg.to64(),
+                        );
+                    },
+                    else => unreachable,
+                },
                 .load_frame => try self.asmMemoryRegister(
                     .{ ._, .bt },
                     try array_mcv.mem(self, .qword),
@@ -6700,7 +6725,7 @@ fn airAbs(self: *Self, inst: Air.Inst.Index) !void {
                     try self.asmRegisterImmediate(.{ ._, .cmp }, tmp_regs[0].to32(), Immediate.u(limb_len));
                     _ = try self.asmJccReloc(.b, neg_loop);
 
-                    try self.performReloc(positive);
+                    self.performReloc(positive);
                     break :result dst_mcv;
                 },
             },
@@ -7124,6 +7149,7 @@ fn load(self: *Self, dst_mcv: MCValue, ptr_ty: Type, ptr_mcv: MCValue) InnerErro
         .eflags,
         .register_pair,
         .register_overflow,
+        .elementwise_regs_then_frame,
         .reserved_frame,
         => unreachable, // not a valid pointer
         .immediate,
@@ -7326,6 +7352,7 @@ fn store(
         .eflags,
         .register_pair,
         .register_overflow,
+        .elementwise_regs_then_frame,
         .reserved_frame,
         => unreachable, // not a valid pointer
         .immediate,
@@ -7826,13 +7853,14 @@ fn genUnOpMir(self: *Self, mir_tag: Mir.Inst.FixedTag, dst_ty: Type, dst_mcv: MC
         .register_offset,
         .eflags,
         .register_overflow,
+        .lea_symbol,
         .lea_direct,
         .lea_got,
         .lea_tlv,
         .lea_frame,
+        .elementwise_regs_then_frame,
         .reserved_frame,
         .air_ref,
-        .lea_symbol,
         => unreachable, // unmodifiable destination
         .register => |dst_reg| try self.asmRegister(mir_tag, registerAlias(dst_reg, abi_size)),
         .register_pair => unreachable, // unimplemented
@@ -8470,7 +8498,7 @@ fn genMulDivBinOp(
                 );
                 _ = try self.asmJccReloc(.b, inner_loop);
 
-                try self.performReloc(skip_inner);
+                self.performReloc(skip_inner);
                 if (slow_inc) {
                     try self.asmRegisterImmediate(.{ ._, .add }, temp_regs[0].to32(), Immediate.u(1));
                 } else {
@@ -8903,6 +8931,7 @@ fn genBinOp(
 
     const ordered_air: [2]Air.Inst.Ref = if (lhs_ty.isVector(mod) and
         switch (lhs_ty.childType(mod).zigTypeTag(mod)) {
+        .Bool => false,
         .Int => switch (air_tag) {
             .cmp_lt, .cmp_gte => true,
             else => false,
@@ -9212,6 +9241,7 @@ fn genBinOp(
                         .load_tlv,
                         .lea_tlv,
                         .lea_frame,
+                        .elementwise_regs_then_frame,
                         .reserved_frame,
                         .air_ref,
                         => unreachable,
@@ -9253,6 +9283,16 @@ fn genBinOp(
                 }
             },
 
+            .cmp_eq, .cmp_neq => {
+                assert(lhs_ty.isVector(mod) and lhs_ty.childType(mod).toIntern() == .bool_type);
+                try self.genBinOpMir(.{ ._, .xor }, lhs_ty, dst_mcv, src_mcv);
+                switch (air_tag) {
+                    .cmp_eq => try self.genUnOpMir(.{ ._, .not }, lhs_ty, dst_mcv),
+                    .cmp_neq => {},
+                    else => unreachable,
+                }
+            },
+
             else => return self.fail("TODO implement genBinOp for {s} {}", .{
                 @tagName(air_tag), lhs_ty.fmt(mod),
             }),
@@ -10447,6 +10487,7 @@ fn genBinOpMir(
         .lea_tlv,
         .lea_frame,
         .lea_symbol,
+        .elementwise_regs_then_frame,
         .reserved_frame,
         .air_ref,
         => unreachable, // unmodifiable destination
@@ -10481,6 +10522,7 @@ fn genBinOpMir(
                     .dead,
                     .undef,
                     .register_overflow,
+                    .elementwise_regs_then_frame,
                     .reserved_frame,
                     => unreachable,
                     .register, .register_pair => try self.asmRegisterRegister(
@@ -10639,6 +10681,7 @@ fn genBinOpMir(
                 .dead,
                 .undef,
                 .register_overflow,
+                .elementwise_regs_then_frame,
                 .reserved_frame,
                 .air_ref,
                 => unreachable,
@@ -10733,6 +10776,7 @@ fn genBinOpMir(
                     .dead,
                     .undef,
                     .register_overflow,
+                    .elementwise_regs_then_frame,
                     .reserved_frame,
                     .air_ref,
                     => unreachable,
@@ -10868,6 +10912,7 @@ fn genIntMulComplexOpMir(self: *Self, dst_ty: Type, dst_mcv: MCValue, src_mcv: M
         .lea_got,
         .lea_tlv,
         .lea_frame,
+        .elementwise_regs_then_frame,
         .reserved_frame,
         .air_ref,
         => unreachable, // unmodifiable destination
@@ -10887,6 +10932,7 @@ fn genIntMulComplexOpMir(self: *Self, dst_ty: Type, dst_mcv: MCValue, src_mcv: M
                 .undef,
                 .register_pair,
                 .register_overflow,
+                .elementwise_regs_then_frame,
                 .reserved_frame,
                 .air_ref,
                 => unreachable,
@@ -10996,6 +11042,92 @@ fn airArg(self: *Self, inst: Air.Inst.Index) !void {
                 try self.genCopy(arg_ty, dst_mcv, src_mcv, .{});
                 break :dst dst_mcv;
             },
+            .elementwise_regs_then_frame => |regs_frame_addr| dst: {
+                try self.spillEflagsIfOccupied();
+
+                const fn_info = mod.typeToFunc(self.fn_type).?;
+                const cc = abi.resolveCallingConvention(fn_info.cc, self.target.*);
+                const param_int_regs = abi.getCAbiIntParamRegs(cc);
+                var prev_reg: Register = undefined;
+                for (
+                    param_int_regs[param_int_regs.len - regs_frame_addr.regs ..],
+                    0..,
+                ) |dst_reg, elem_index| {
+                    assert(self.register_manager.isRegFree(dst_reg));
+                    if (elem_index > 0) {
+                        try self.asmRegisterImmediate(
+                            .{ ._l, .sh },
+                            dst_reg.to8(),
+                            Immediate.u(elem_index),
+                        );
+                        try self.asmRegisterRegister(
+                            .{ ._, .@"or" },
+                            dst_reg.to8(),
+                            prev_reg.to8(),
+                        );
+                    }
+                    prev_reg = dst_reg;
+                }
+
+                const prev_lock = if (regs_frame_addr.regs > 0)
+                    self.register_manager.lockRegAssumeUnused(prev_reg)
+                else
+                    null;
+                defer if (prev_lock) |lock| self.register_manager.unlockReg(lock);
+
+                const dst_mcv = try self.allocRegOrMem(inst, false);
+                if (regs_frame_addr.regs > 0) try self.asmMemoryRegister(
+                    .{ ._, .mov },
+                    try dst_mcv.mem(self, .byte),
+                    prev_reg.to8(),
+                );
+                try self.genInlineMemset(
+                    dst_mcv.address().offset(@intFromBool(regs_frame_addr.regs > 0)),
+                    .{ .immediate = 0 },
+                    .{ .immediate = arg_ty.abiSize(mod) - @intFromBool(regs_frame_addr.regs > 0) },
+                    .{},
+                );
+
+                const index_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp);
+                const index_lock = self.register_manager.lockRegAssumeUnused(index_reg);
+                defer self.register_manager.unlockReg(index_lock);
+
+                try self.asmRegisterImmediate(
+                    .{ ._, .mov },
+                    index_reg.to32(),
+                    Immediate.u(regs_frame_addr.regs),
+                );
+                const loop: Mir.Inst.Index = @intCast(self.mir_instructions.len);
+                try self.asmMemoryImmediate(.{ ._, .cmp }, .{
+                    .base = .{ .frame = regs_frame_addr.frame_index },
+                    .mod = .{ .rm = .{
+                        .size = .byte,
+                        .index = index_reg.to64(),
+                        .scale = .@"8",
+                        .disp = regs_frame_addr.frame_off - @as(u6, regs_frame_addr.regs) * 8,
+                    } },
+                }, Immediate.u(0));
+                const unset = try self.asmJccReloc(.e, undefined);
+                try self.asmMemoryRegister(
+                    .{ ._s, .bt },
+                    try dst_mcv.mem(self, .dword),
+                    index_reg.to32(),
+                );
+                self.performReloc(unset);
+                if (self.hasFeature(.slow_incdec)) {
+                    try self.asmRegisterImmediate(.{ ._, .add }, index_reg.to32(), Immediate.u(1));
+                } else {
+                    try self.asmRegister(.{ ._, .inc }, index_reg.to32());
+                }
+                try self.asmRegisterImmediate(
+                    .{ ._, .cmp },
+                    index_reg.to32(),
+                    Immediate.u(arg_ty.vectorLen(mod)),
+                );
+                _ = try self.asmJccReloc(.b, loop);
+
+                break :dst dst_mcv;
+            },
             else => return self.fail("TODO implement arg for {}", .{src_mcv}),
         };
 
@@ -11018,7 +11150,7 @@ fn genArgDbgInfo(self: Self, ty: Type, name: [:0]const u8, mcv: MCValue) !void {
                     regs[0].dwarfNum(), regs[1].dwarfNum(),
                 } },
                 // TODO use a frame index
-                .load_frame => return,
+                .load_frame, .elementwise_regs_then_frame => return,
                 //.stack_offset => |off| .{
                 //    .stack = .{
                 //        // TODO handle -fomit-frame-pointer
@@ -11254,6 +11386,61 @@ fn genCall(self: *Self, info: union(enum) {
                 try self.genCopy(arg_ty, dst_arg, src_arg, .{});
                 try self.freeValue(src_arg);
             },
+            .elementwise_regs_then_frame => |regs_frame_addr| {
+                const index_reg = try self.register_manager.allocReg(null, abi.RegisterClass.gp);
+                const index_lock = self.register_manager.lockRegAssumeUnused(index_reg);
+                defer self.register_manager.unlockReg(index_lock);
+
+                const src_mem: Memory = if (src_arg.isMemory()) try src_arg.mem(self, .dword) else .{
+                    .base = .{ .reg = try self.copyToTmpRegister(
+                        Type.usize,
+                        switch (src_arg) {
+                            else => src_arg,
+                            .air_ref => |src_ref| try self.resolveInst(src_ref),
+                        }.address(),
+                    ) },
+                    .mod = .{ .rm = .{ .size = .dword } },
+                };
+                const src_lock = switch (src_mem.base) {
+                    .reg => |src_reg| self.register_manager.lockReg(src_reg),
+                    else => null,
+                };
+                defer if (src_lock) |lock| self.register_manager.unlockReg(lock);
+
+                try self.asmRegisterImmediate(
+                    .{ ._, .mov },
+                    index_reg.to32(),
+                    Immediate.u(regs_frame_addr.regs),
+                );
+                const loop: Mir.Inst.Index = @intCast(self.mir_instructions.len);
+                try self.asmMemoryRegister(.{ ._, .bt }, src_mem, index_reg.to32());
+                try self.asmSetccMemory(.c, .{
+                    .base = .{ .frame = regs_frame_addr.frame_index },
+                    .mod = .{ .rm = .{
+                        .size = .byte,
+                        .index = index_reg.to64(),
+                        .scale = .@"8",
+                        .disp = regs_frame_addr.frame_off - @as(u6, regs_frame_addr.regs) * 8,
+                    } },
+                });
+                if (self.hasFeature(.slow_incdec)) {
+                    try self.asmRegisterImmediate(.{ ._, .add }, index_reg.to32(), Immediate.u(1));
+                } else {
+                    try self.asmRegister(.{ ._, .inc }, index_reg.to32());
+                }
+                try self.asmRegisterImmediate(
+                    .{ ._, .cmp },
+                    index_reg.to32(),
+                    Immediate.u(arg_ty.vectorLen(mod)),
+                );
+                _ = try self.asmJccReloc(.b, loop);
+
+                const param_int_regs = abi.getCAbiIntParamRegs(resolved_cc);
+                for (param_int_regs[param_int_regs.len - regs_frame_addr.regs ..]) |dst_reg| {
+                    try self.register_manager.getReg(dst_reg, null);
+                    try reg_locks.append(self.register_manager.lockReg(dst_reg));
+                }
+            },
             else => unreachable,
         };
 
@@ -11295,6 +11482,37 @@ fn genCall(self: *Self, info: union(enum) {
             .indirect => |reg_off| try self.genSetReg(reg_off.reg, Type.usize, .{
                 .lea_frame = .{ .index = frame_index, .off = -reg_off.off },
             }, .{}),
+            .elementwise_regs_then_frame => |regs_frame_addr| {
+                const src_mem: Memory = if (src_arg.isMemory()) try src_arg.mem(self, .dword) else .{
+                    .base = .{ .reg = try self.copyToTmpRegister(
+                        Type.usize,
+                        switch (src_arg) {
+                            else => src_arg,
+                            .air_ref => |src_ref| try self.resolveInst(src_ref),
+                        }.address(),
+                    ) },
+                    .mod = .{ .rm = .{ .size = .dword } },
+                };
+                const src_lock = switch (src_mem.base) {
+                    .reg => |src_reg| self.register_manager.lockReg(src_reg),
+                    else => null,
+                };
+                defer if (src_lock) |lock| self.register_manager.unlockReg(lock);
+
+                const param_int_regs = abi.getCAbiIntParamRegs(resolved_cc);
+                for (
+                    param_int_regs[param_int_regs.len - regs_frame_addr.regs ..],
+                    0..,
+                ) |dst_reg, elem_index| {
+                    try self.asmRegisterRegister(.{ ._, .xor }, dst_reg.to32(), dst_reg.to32());
+                    try self.asmMemoryImmediate(
+                        .{ ._, .bt },
+                        src_mem,
+                        Immediate.u(elem_index),
+                    );
+                    try self.asmSetccRegister(.c, dst_reg.to8());
+                }
+            },
             else => unreachable,
         };
 
@@ -11581,6 +11799,7 @@ fn airCmp(self: *Self, inst: Air.Inst.Index, op: math.CompareOperator) !void {
                                     .lea_tlv,
                                     .lea_frame,
                                     .lea_symbol,
+                                    .elementwise_regs_then_frame,
                                     .reserved_frame,
                                     .air_ref,
                                     => unreachable,
@@ -11641,6 +11860,7 @@ fn airCmp(self: *Self, inst: Air.Inst.Index, op: math.CompareOperator) !void {
                                     .lea_got,
                                     .lea_tlv,
                                     .lea_frame,
+                                    .elementwise_regs_then_frame,
                                     .reserved_frame,
                                     .air_ref,
                                     => unreachable,
@@ -11925,7 +12145,7 @@ fn genTry(
         .close_scope = true,
     });
 
-    try self.performReloc(reloc);
+    self.performReloc(reloc);
 
     for (liveness_cond_br.then_deaths) |death| try self.processDeath(death);
 
@@ -12039,7 +12259,7 @@ fn airCondBr(self: *Self, inst: Air.Inst.Index) !void {
         .close_scope = true,
     });
 
-    try self.performReloc(reloc);
+    self.performReloc(reloc);
 
     for (liveness_cond_br.else_deaths) |death| try self.processDeath(death);
     try self.genBody(else_body);
@@ -12086,6 +12306,7 @@ fn isNull(self: *Self, inst: Air.Inst.Index, opt_ty: Type, opt_mcv: MCValue) !MC
         .lea_tlv,
         .lea_frame,
         .lea_symbol,
+        .elementwise_regs_then_frame,
         .reserved_frame,
         .air_ref,
         => unreachable,
@@ -12422,7 +12643,7 @@ fn airBlock(self: *Self, inst: Air.Inst.Index) !void {
             .resurrect = true,
             .close_scope = true,
         });
-        for (block_data.value.relocs.items) |reloc| try self.performReloc(reloc);
+        for (block_data.value.relocs.items) |reloc| self.performReloc(reloc);
     }
 
     if (std.debug.runtime_safety) assert(self.inst_tracking.getIndex(inst).? == inst_tracking_i);
@@ -12482,7 +12703,7 @@ fn airSwitchBr(self: *Self, inst: Air.Inst.Index) !void {
 
         for (liveness.deaths[case_i]) |operand| try self.processDeath(operand);
 
-        for (relocs[0 .. relocs.len - 1]) |reloc| try self.performReloc(reloc);
+        for (relocs[0 .. relocs.len - 1]) |reloc| self.performReloc(reloc);
         try self.genBody(case_body);
         try self.restoreState(state, &.{}, .{
             .emit_instructions = false,
@@ -12491,7 +12712,7 @@ fn airSwitchBr(self: *Self, inst: Air.Inst.Index) !void {
             .close_scope = true,
         });
 
-        try self.performReloc(relocs[relocs.len - 1]);
+        self.performReloc(relocs[relocs.len - 1]);
     }
 
     if (switch_br.data.else_body_len > 0) {
@@ -12514,7 +12735,7 @@ fn airSwitchBr(self: *Self, inst: Air.Inst.Index) !void {
     self.finishAirBookkeeping();
 }
 
-fn performReloc(self: *Self, reloc: Mir.Inst.Index) !void {
+fn performReloc(self: *Self, reloc: Mir.Inst.Index) void {
     const next_inst: u32 = @intCast(self.mir_instructions.len);
     switch (self.mir_instructions.items(.tag)[reloc]) {
         .j, .jmp => {},
@@ -12863,7 +13084,7 @@ fn airAsm(self: *Self, inst: Air.Inst.Index) !void {
                 if (!anon and label_gop.value_ptr.pending_relocs.items.len == 0)
                     return self.fail("redefined label: '{s}'", .{label_name});
                 for (label_gop.value_ptr.pending_relocs.items) |pending_reloc|
-                    try self.performReloc(pending_reloc);
+                    self.performReloc(pending_reloc);
                 if (anon)
                     label_gop.value_ptr.pending_relocs.clearRetainingCapacity()
                 else
@@ -13380,7 +13601,13 @@ fn moveStrategy(self: *Self, ty: Type, class: Register.Class, aligned: bool) !Mo
                 else => {},
             },
             .Vector => switch (ty.childType(mod).zigTypeTag(mod)) {
-                .Bool => {},
+                .Bool => switch (ty.vectorLen(mod)) {
+                    33...64 => return .{ .move = if (self.hasFeature(.avx))
+                        .{ .v_q, .mov }
+                    else
+                        .{ ._q, .mov } },
+                    else => {},
+                },
                 .Int => switch (ty.childType(mod).intInfo(mod).bits) {
                     8 => switch (ty.vectorLen(mod)) {
                         1 => if (self.hasFeature(.avx)) return .{ .vex_insert_extract = .{
@@ -13618,6 +13845,7 @@ fn genCopy(self: *Self, ty: Type, dst_mcv: MCValue, src_mcv: MCValue, opts: Copy
         .lea_tlv,
         .lea_frame,
         .lea_symbol,
+        .elementwise_regs_then_frame,
         .reserved_frame,
         .air_ref,
         => unreachable, // unmodifiable destination
@@ -13628,6 +13856,7 @@ fn genCopy(self: *Self, ty: Type, dst_mcv: MCValue, src_mcv: MCValue, opts: Copy
             .dead,
             .undef,
             .register_overflow,
+            .elementwise_regs_then_frame,
             .reserved_frame,
             => unreachable,
             .immediate,
@@ -13725,6 +13954,7 @@ fn genSetReg(
         .unreach,
         .dead,
         .register_overflow,
+        .elementwise_regs_then_frame,
         .reserved_frame,
         => unreachable,
         .undef => if (opts.safety) switch (dst_reg.class()) {
@@ -14034,7 +14264,12 @@ fn genSetMem(
         .reloc => |base_symbol| .{ .lea_symbol = .{ .sym = base_symbol.sym_index, .off = disp } },
     };
     switch (src_mcv) {
-        .none, .unreach, .dead, .reserved_frame => unreachable,
+        .none,
+        .unreach,
+        .dead,
+        .elementwise_regs_then_frame,
+        .reserved_frame,
+        => unreachable,
         .undef => if (opts.safety) try self.genInlineMemset(
             dst_ptr_mcv,
             src_mcv,
@@ -15233,7 +15468,7 @@ fn airMemset(self: *Self, inst: Air.Inst.Index, safety: bool) !void {
                 );
                 try self.genInlineMemcpy(second_elem_ptr_mcv, ptr, len_mcv);
 
-                try self.performReloc(skip_reloc);
+                self.performReloc(skip_reloc);
             },
             .One => {
                 const elem_ptr_ty = try mod.singleMutPtrType(elem_ty);
@@ -16402,7 +16637,7 @@ fn airVaArg(self: *Self, inst: Air.Inst.Index) !void {
                     try self.genCopy(Type.c_uint, gp_offset, .{ .register = offset_reg }, .{});
                     const done_reloc = try self.asmJmpReloc(undefined);
 
-                    try self.performReloc(mem_reloc);
+                    self.performReloc(mem_reloc);
                     try self.genSetReg(addr_reg, ptr_anyopaque_ty, overflow_arg_area, .{});
                     try self.asmRegisterMemory(.{ ._, .lea }, offset_reg.to64(), .{
                         .base = .{ .reg = addr_reg },
@@ -16418,7 +16653,7 @@ fn airVaArg(self: *Self, inst: Air.Inst.Index) !void {
                         .{},
                     );
 
-                    try self.performReloc(done_reloc);
+                    self.performReloc(done_reloc);
                     if (!unused) try self.genCopy(promote_ty, promote_mcv, .{
                         .indirect = .{ .reg = addr_reg },
                     }, .{});
@@ -16450,7 +16685,7 @@ fn airVaArg(self: *Self, inst: Air.Inst.Index) !void {
                     try self.genCopy(Type.c_uint, fp_offset, .{ .register = offset_reg }, .{});
                     const done_reloc = try self.asmJmpReloc(undefined);
 
-                    try self.performReloc(mem_reloc);
+                    self.performReloc(mem_reloc);
                     try self.genSetReg(addr_reg, ptr_anyopaque_ty, overflow_arg_area, .{});
                     try self.asmRegisterMemory(.{ ._, .lea }, offset_reg.to64(), .{
                         .base = .{ .reg = addr_reg },
@@ -16466,7 +16701,7 @@ fn airVaArg(self: *Self, inst: Air.Inst.Index) !void {
                         .{},
                     );
 
-                    try self.performReloc(done_reloc);
+                    self.performReloc(done_reloc);
                     if (!unused) try self.genCopy(promote_ty, promote_mcv, .{
                         .indirect = .{ .reg = addr_reg },
                     }, .{});
@@ -16771,7 +17006,7 @@ fn resolveCallingConventionValues(
                         };
                         ret_tracking_i += 1;
                     },
-                    .none => unreachable,
+                    .none, .integer_per_element => unreachable,
                 };
                 result.return_value = switch (ret_tracking_i) {
                     else => unreachable,
@@ -16846,6 +17081,32 @@ fn resolveCallingConventionValues(
                         else => unreachable,
                     },
                     .none => unreachable,
+                    .integer_per_element => {
+                        const param_int_regs_len: u32 =
+                            @intCast(abi.getCAbiIntParamRegs(resolved_cc).len);
+                        const remaining_param_int_regs: u3 =
+                            @intCast(param_int_regs_len - param_int_reg_i);
+                        param_int_reg_i = param_int_regs_len;
+
+                        const frame_elem_align = 8;
+                        const frame_elems_len = ty.vectorLen(mod) - remaining_param_int_regs;
+                        const frame_elem_size = mem.alignForward(
+                            u64,
+                            ty.childType(mod).abiSize(mod),
+                            frame_elem_align,
+                        );
+                        const frame_size: u31 = @intCast(frame_elems_len * frame_elem_size);
+
+                        result.stack_byte_count =
+                            mem.alignForward(u31, result.stack_byte_count, frame_elem_align);
+                        arg_mcv[arg_mcv_i] = .{ .elementwise_regs_then_frame = .{
+                            .regs = remaining_param_int_regs,
+                            .frame_off = @intCast(result.stack_byte_count),
+                            .frame_index = stack_frame_base,
+                        } };
+                        arg_mcv_i += 1;
+                        result.stack_byte_count += frame_size;
+                    },
                 } else {
                     arg.* = switch (arg_mcv_i) {
                         else => unreachable,
src/codegen/llvm.zig
@@ -11139,6 +11139,9 @@ fn lowerSystemVFnRetTy(o: *Object, fn_info: InternPool.Key.FuncType) Allocator.E
             .memory => unreachable, // handled above
             .win_i128 => unreachable, // windows only
             .none => break,
+            .integer_per_element => {
+                @panic("TODO");
+            },
         }
     }
     const first_non_integer = std.mem.indexOfNone(x86_64_abi.Class, &classes, &.{.integer});
@@ -11417,6 +11420,9 @@ const ParamTypeIterator = struct {
                 .memory => unreachable, // handled above
                 .win_i128 => unreachable, // windows only
                 .none => break,
+                .integer_per_element => {
+                    @panic("TODO");
+                },
             }
         }
         const first_non_integer = std.mem.indexOfNone(x86_64_abi.Class, &classes, &.{.integer});
test/behavior/vector.zig
@@ -485,7 +485,6 @@ test "initialize vector which is a struct field" {
 
 test "vector comparison operators" {
     if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
-    if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
     if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
     if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
     if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
test/c_abi/cfuncs.c
@@ -236,6 +236,2156 @@ struct SplitStructMixed zig_ret_split_struct_mixed();
 
 struct BigStruct zig_big_struct_both(struct BigStruct);
 
+#if defined(ZIG_BACKEND_STAGE2_X86_64) || defined(ZIG_PPC32)
+
+typedef bool Vector2Bool __attribute__((ext_vector_type(2)));
+typedef bool Vector4Bool __attribute__((ext_vector_type(4)));
+typedef bool Vector8Bool __attribute__((ext_vector_type(8)));
+typedef bool Vector16Bool __attribute__((ext_vector_type(16)));
+typedef bool Vector32Bool __attribute__((ext_vector_type(32)));
+typedef bool Vector64Bool __attribute__((ext_vector_type(64)));
+typedef bool Vector128Bool __attribute__((ext_vector_type(128)));
+typedef bool Vector256Bool __attribute__((ext_vector_type(256)));
+typedef bool Vector512Bool __attribute__((ext_vector_type(512)));
+
+void c_vector_2_bool(Vector2Bool vec) {
+    assert_or_panic(vec[0] == true);
+    assert_or_panic(vec[1] == true);
+}
+
+void c_vector_4_bool(Vector4Bool vec) {
+    assert_or_panic(vec[0] == true);
+    assert_or_panic(vec[1] == true);
+    assert_or_panic(vec[2] == false);
+    assert_or_panic(vec[3] == true);
+}
+
+void c_vector_8_bool(Vector8Bool vec) {
+    assert_or_panic(vec[0] == true);
+    assert_or_panic(vec[1] == false);
+    assert_or_panic(vec[2] == true);
+    assert_or_panic(vec[3] == true);
+    assert_or_panic(vec[4] == true);
+    assert_or_panic(vec[5] == true);
+    assert_or_panic(vec[6] == false);
+    assert_or_panic(vec[7] == true);
+}
+
+void c_vector_16_bool(Vector16Bool vec) {
+    assert_or_panic(vec[0] == true);
+    assert_or_panic(vec[1] == false);
+    assert_or_panic(vec[2] == false);
+    assert_or_panic(vec[3] == false);
+    assert_or_panic(vec[4] == true);
+    assert_or_panic(vec[5] == false);
+    assert_or_panic(vec[6] == true);
+    assert_or_panic(vec[7] == true);
+    assert_or_panic(vec[8] == true);
+    assert_or_panic(vec[9] == true);
+    assert_or_panic(vec[10] == true);
+    assert_or_panic(vec[11] == true);
+    assert_or_panic(vec[12] == false);
+    assert_or_panic(vec[13] == false);
+    assert_or_panic(vec[14] == false);
+    assert_or_panic(vec[15] == false);
+}
+
+void c_vector_32_bool(Vector32Bool vec) {
+    assert_or_panic(vec[0] == true);
+    assert_or_panic(vec[1] == false);
+    assert_or_panic(vec[2] == true);
+    assert_or_panic(vec[3] == true);
+    assert_or_panic(vec[4] == false);
+    assert_or_panic(vec[5] == false);
+    assert_or_panic(vec[6] == true);
+    assert_or_panic(vec[7] == false);
+    assert_or_panic(vec[8] == true);
+    assert_or_panic(vec[9] == false);
+    assert_or_panic(vec[10] == true);
+    assert_or_panic(vec[11] == true);
+    assert_or_panic(vec[12] == true);
+    assert_or_panic(vec[13] == false);
+    assert_or_panic(vec[14] == false);
+    assert_or_panic(vec[15] == true);
+    assert_or_panic(vec[16] == false);
+    assert_or_panic(vec[17] == true);
+    assert_or_panic(vec[18] == false);
+    assert_or_panic(vec[19] == true);
+    assert_or_panic(vec[20] == true);
+    assert_or_panic(vec[21] == true);
+    assert_or_panic(vec[22] == true);
+    assert_or_panic(vec[23] == true);
+    assert_or_panic(vec[24] == false);
+    assert_or_panic(vec[25] == true);
+    assert_or_panic(vec[26] == true);
+    assert_or_panic(vec[27] == true);
+    assert_or_panic(vec[28] == false);
+    assert_or_panic(vec[29] == true);
+    assert_or_panic(vec[30] == true);
+    assert_or_panic(vec[31] == false);
+}
+
+void c_vector_64_bool(Vector64Bool vec) {
+    assert_or_panic(vec[0] == true);
+    assert_or_panic(vec[1] == true);
+    assert_or_panic(vec[2] == true);
+    assert_or_panic(vec[3] == false);
+    assert_or_panic(vec[4] == true);
+    assert_or_panic(vec[5] == false);
+    assert_or_panic(vec[6] == false);
+    assert_or_panic(vec[7] == false);
+    assert_or_panic(vec[8] == true);
+    assert_or_panic(vec[9] == false);
+    assert_or_panic(vec[10] == false);
+    assert_or_panic(vec[11] == false);
+    assert_or_panic(vec[12] == false);
+    assert_or_panic(vec[13] == true);
+    assert_or_panic(vec[14] == true);
+    assert_or_panic(vec[15] == true);
+    assert_or_panic(vec[16] == true);
+    assert_or_panic(vec[17] == false);
+    assert_or_panic(vec[18] == false);
+    assert_or_panic(vec[19] == true);
+    assert_or_panic(vec[20] == false);
+    assert_or_panic(vec[21] == true);
+    assert_or_panic(vec[22] == false);
+    assert_or_panic(vec[23] == true);
+    assert_or_panic(vec[24] == true);
+    assert_or_panic(vec[25] == true);
+    assert_or_panic(vec[26] == true);
+    assert_or_panic(vec[27] == true);
+    assert_or_panic(vec[28] == true);
+    assert_or_panic(vec[29] == true);
+    assert_or_panic(vec[30] == false);
+    assert_or_panic(vec[31] == false);
+    assert_or_panic(vec[32] == true);
+    assert_or_panic(vec[33] == true);
+    assert_or_panic(vec[34] == false);
+    assert_or_panic(vec[35] == true);
+    assert_or_panic(vec[36] == false);
+    assert_or_panic(vec[37] == false);
+    assert_or_panic(vec[38] == true);
+    assert_or_panic(vec[39] == true);
+    assert_or_panic(vec[40] == true);
+    assert_or_panic(vec[41] == false);
+    assert_or_panic(vec[42] == false);
+    assert_or_panic(vec[43] == true);
+    assert_or_panic(vec[44] == true);
+    assert_or_panic(vec[45] == false);
+    assert_or_panic(vec[46] == true);
+    assert_or_panic(vec[47] == false);
+    assert_or_panic(vec[48] == true);
+    assert_or_panic(vec[49] == false);
+    assert_or_panic(vec[50] == false);
+    assert_or_panic(vec[51] == true);
+    assert_or_panic(vec[52] == false);
+    assert_or_panic(vec[53] == true);
+    assert_or_panic(vec[54] == true);
+    assert_or_panic(vec[55] == true);
+    assert_or_panic(vec[56] == true);
+    assert_or_panic(vec[57] == true);
+    assert_or_panic(vec[58] == false);
+    assert_or_panic(vec[59] == false);
+    assert_or_panic(vec[60] == true);
+    assert_or_panic(vec[61] == false);
+    assert_or_panic(vec[62] == true);
+    assert_or_panic(vec[63] == false);
+}
+
+void c_vector_128_bool(Vector128Bool vec) {
+    assert_or_panic(vec[0] == false);
+    assert_or_panic(vec[1] == false);
+    assert_or_panic(vec[2] == false);
+    assert_or_panic(vec[3] == false);
+    assert_or_panic(vec[4] == false);
+    assert_or_panic(vec[5] == true);
+    assert_or_panic(vec[6] == true);
+    assert_or_panic(vec[7] == false);
+    assert_or_panic(vec[8] == true);
+    assert_or_panic(vec[9] == true);
+    assert_or_panic(vec[10] == false);
+    assert_or_panic(vec[11] == true);
+    assert_or_panic(vec[12] == true);
+    assert_or_panic(vec[13] == false);
+    assert_or_panic(vec[14] == true);
+    assert_or_panic(vec[15] == true);
+    assert_or_panic(vec[16] == true);
+    assert_or_panic(vec[17] == false);
+    assert_or_panic(vec[18] == false);
+    assert_or_panic(vec[19] == false);
+    assert_or_panic(vec[20] == false);
+    assert_or_panic(vec[21] == true);
+    assert_or_panic(vec[22] == true);
+    assert_or_panic(vec[23] == false);
+    assert_or_panic(vec[24] == false);
+    assert_or_panic(vec[25] == false);
+    assert_or_panic(vec[26] == true);
+    assert_or_panic(vec[27] == true);
+    assert_or_panic(vec[28] == false);
+    assert_or_panic(vec[29] == true);
+    assert_or_panic(vec[30] == false);
+    assert_or_panic(vec[31] == false);
+    assert_or_panic(vec[32] == true);
+    assert_or_panic(vec[33] == false);
+    assert_or_panic(vec[34] == false);
+    assert_or_panic(vec[35] == true);
+    assert_or_panic(vec[36] == true);
+    assert_or_panic(vec[37] == true);
+    assert_or_panic(vec[38] == true);
+    assert_or_panic(vec[39] == true);
+    assert_or_panic(vec[40] == false);
+    assert_or_panic(vec[41] == true);
+    assert_or_panic(vec[42] == true);
+    assert_or_panic(vec[43] == true);
+    assert_or_panic(vec[44] == false);
+    assert_or_panic(vec[45] == false);
+    assert_or_panic(vec[46] == false);
+    assert_or_panic(vec[47] == false);
+    assert_or_panic(vec[48] == true);
+    assert_or_panic(vec[49] == true);
+    assert_or_panic(vec[50] == false);
+    assert_or_panic(vec[51] == true);
+    assert_or_panic(vec[52] == true);
+    assert_or_panic(vec[53] == true);
+    assert_or_panic(vec[54] == true);
+    assert_or_panic(vec[55] == true);
+    assert_or_panic(vec[56] == false);
+    assert_or_panic(vec[57] == true);
+    assert_or_panic(vec[58] == true);
+    assert_or_panic(vec[59] == false);
+    assert_or_panic(vec[60] == true);
+    assert_or_panic(vec[61] == false);
+    assert_or_panic(vec[62] == false);
+    assert_or_panic(vec[63] == true);
+    assert_or_panic(vec[64] == true);
+    assert_or_panic(vec[65] == false);
+    assert_or_panic(vec[66] == true);
+    assert_or_panic(vec[67] == true);
+    assert_or_panic(vec[68] == false);
+    assert_or_panic(vec[69] == true);
+    assert_or_panic(vec[70] == false);
+    assert_or_panic(vec[71] == false);
+    assert_or_panic(vec[72] == true);
+    assert_or_panic(vec[73] == true);
+    assert_or_panic(vec[74] == false);
+    assert_or_panic(vec[75] == true);
+    assert_or_panic(vec[76] == true);
+    assert_or_panic(vec[77] == true);
+    assert_or_panic(vec[78] == false);
+    assert_or_panic(vec[79] == true);
+    assert_or_panic(vec[80] == false);
+    assert_or_panic(vec[81] == false);
+    assert_or_panic(vec[82] == false);
+    assert_or_panic(vec[83] == false);
+    assert_or_panic(vec[84] == true);
+    assert_or_panic(vec[85] == false);
+    assert_or_panic(vec[86] == false);
+    assert_or_panic(vec[87] == false);
+    assert_or_panic(vec[88] == true);
+    assert_or_panic(vec[89] == true);
+    assert_or_panic(vec[90] == false);
+    assert_or_panic(vec[91] == false);
+    assert_or_panic(vec[92] == true);
+    assert_or_panic(vec[93] == true);
+    assert_or_panic(vec[94] == true);
+    assert_or_panic(vec[95] == true);
+    assert_or_panic(vec[96] == false);
+    assert_or_panic(vec[97] == false);
+    assert_or_panic(vec[98] == false);
+    assert_or_panic(vec[99] == false);
+    assert_or_panic(vec[100] == false);
+    assert_or_panic(vec[101] == true);
+    assert_or_panic(vec[102] == false);
+    assert_or_panic(vec[103] == false);
+    assert_or_panic(vec[104] == false);
+    assert_or_panic(vec[105] == false);
+    assert_or_panic(vec[106] == true);
+    assert_or_panic(vec[107] == true);
+    assert_or_panic(vec[108] == true);
+    assert_or_panic(vec[109] == true);
+    assert_or_panic(vec[110] == true);
+    assert_or_panic(vec[111] == false);
+    assert_or_panic(vec[112] == false);
+    assert_or_panic(vec[113] == true);
+    assert_or_panic(vec[114] == false);
+    assert_or_panic(vec[115] == true);
+    assert_or_panic(vec[116] == false);
+    assert_or_panic(vec[117] == false);
+    assert_or_panic(vec[118] == true);
+    assert_or_panic(vec[119] == false);
+    assert_or_panic(vec[120] == true);
+    assert_or_panic(vec[121] == false);
+    assert_or_panic(vec[122] == true);
+    assert_or_panic(vec[123] == true);
+    assert_or_panic(vec[124] == true);
+    assert_or_panic(vec[125] == true);
+    assert_or_panic(vec[126] == true);
+    assert_or_panic(vec[127] == true);
+}
+
+void c_vector_256_bool(Vector256Bool vec) {
+    assert_or_panic(vec[0] == false);
+    assert_or_panic(vec[1] == true);
+    assert_or_panic(vec[2] == true);
+    assert_or_panic(vec[3] == false);
+    assert_or_panic(vec[4] == false);
+    assert_or_panic(vec[5] == true);
+    assert_or_panic(vec[6] == true);
+    assert_or_panic(vec[7] == true);
+    assert_or_panic(vec[8] == false);
+    assert_or_panic(vec[9] == true);
+    assert_or_panic(vec[10] == true);
+    assert_or_panic(vec[11] == true);
+    assert_or_panic(vec[12] == false);
+    assert_or_panic(vec[13] == true);
+    assert_or_panic(vec[14] == false);
+    assert_or_panic(vec[15] == true);
+    assert_or_panic(vec[16] == false);
+    assert_or_panic(vec[17] == false);
+    assert_or_panic(vec[18] == true);
+    assert_or_panic(vec[19] == true);
+    assert_or_panic(vec[20] == false);
+    assert_or_panic(vec[21] == true);
+    assert_or_panic(vec[22] == false);
+    assert_or_panic(vec[23] == false);
+    assert_or_panic(vec[24] == false);
+    assert_or_panic(vec[25] == true);
+    assert_or_panic(vec[26] == true);
+    assert_or_panic(vec[27] == false);
+    assert_or_panic(vec[28] == false);
+    assert_or_panic(vec[29] == true);
+    assert_or_panic(vec[30] == true);
+    assert_or_panic(vec[31] == false);
+    assert_or_panic(vec[32] == true);
+    assert_or_panic(vec[33] == false);
+    assert_or_panic(vec[34] == false);
+    assert_or_panic(vec[35] == true);
+    assert_or_panic(vec[36] == false);
+    assert_or_panic(vec[37] == true);
+    assert_or_panic(vec[38] == false);
+    assert_or_panic(vec[39] == true);
+    assert_or_panic(vec[40] == true);
+    assert_or_panic(vec[41] == true);
+    assert_or_panic(vec[42] == true);
+    assert_or_panic(vec[43] == false);
+    assert_or_panic(vec[44] == false);
+    assert_or_panic(vec[45] == true);
+    assert_or_panic(vec[46] == false);
+    assert_or_panic(vec[47] == false);
+    assert_or_panic(vec[48] == false);
+    assert_or_panic(vec[49] == false);
+    assert_or_panic(vec[50] == false);
+    assert_or_panic(vec[51] == false);
+    assert_or_panic(vec[52] == true);
+    assert_or_panic(vec[53] == true);
+    assert_or_panic(vec[54] == true);
+    assert_or_panic(vec[55] == true);
+    assert_or_panic(vec[56] == true);
+    assert_or_panic(vec[57] == true);
+    assert_or_panic(vec[58] == false);
+    assert_or_panic(vec[59] == true);
+    assert_or_panic(vec[60] == true);
+    assert_or_panic(vec[61] == false);
+    assert_or_panic(vec[62] == false);
+    assert_or_panic(vec[63] == true);
+    assert_or_panic(vec[64] == false);
+    assert_or_panic(vec[65] == false);
+    assert_or_panic(vec[66] == false);
+    assert_or_panic(vec[67] == false);
+    assert_or_panic(vec[68] == false);
+    assert_or_panic(vec[69] == false);
+    assert_or_panic(vec[70] == true);
+    assert_or_panic(vec[71] == true);
+    assert_or_panic(vec[72] == true);
+    assert_or_panic(vec[73] == false);
+    assert_or_panic(vec[74] == false);
+    assert_or_panic(vec[75] == false);
+    assert_or_panic(vec[76] == true);
+    assert_or_panic(vec[77] == false);
+    assert_or_panic(vec[78] == true);
+    assert_or_panic(vec[79] == true);
+    assert_or_panic(vec[80] == false);
+    assert_or_panic(vec[81] == false);
+    assert_or_panic(vec[82] == true);
+    assert_or_panic(vec[83] == true);
+    assert_or_panic(vec[84] == false);
+    assert_or_panic(vec[85] == true);
+    assert_or_panic(vec[86] == true);
+    assert_or_panic(vec[87] == true);
+    assert_or_panic(vec[88] == true);
+    assert_or_panic(vec[89] == true);
+    assert_or_panic(vec[90] == true);
+    assert_or_panic(vec[91] == true);
+    assert_or_panic(vec[92] == false);
+    assert_or_panic(vec[93] == true);
+    assert_or_panic(vec[94] == true);
+    assert_or_panic(vec[95] == false);
+    assert_or_panic(vec[96] == false);
+    assert_or_panic(vec[97] == true);
+    assert_or_panic(vec[98] == true);
+    assert_or_panic(vec[99] == false);
+    assert_or_panic(vec[100] == true);
+    assert_or_panic(vec[101] == false);
+    assert_or_panic(vec[102] == false);
+    assert_or_panic(vec[103] == true);
+    assert_or_panic(vec[104] == false);
+    assert_or_panic(vec[105] == true);
+    assert_or_panic(vec[106] == true);
+    assert_or_panic(vec[107] == true);
+    assert_or_panic(vec[108] == true);
+    assert_or_panic(vec[109] == true);
+    assert_or_panic(vec[110] == false);
+    assert_or_panic(vec[111] == false);
+    assert_or_panic(vec[112] == false);
+    assert_or_panic(vec[113] == false);
+    assert_or_panic(vec[114] == true);
+    assert_or_panic(vec[115] == true);
+    assert_or_panic(vec[116] == false);
+    assert_or_panic(vec[117] == true);
+    assert_or_panic(vec[118] == false);
+    assert_or_panic(vec[119] == false);
+    assert_or_panic(vec[120] == true);
+    assert_or_panic(vec[121] == false);
+    assert_or_panic(vec[122] == false);
+    assert_or_panic(vec[123] == true);
+    assert_or_panic(vec[124] == false);
+    assert_or_panic(vec[125] == true);
+    assert_or_panic(vec[126] == true);
+    assert_or_panic(vec[127] == true);
+    assert_or_panic(vec[128] == true);
+    assert_or_panic(vec[129] == false);
+    assert_or_panic(vec[130] == true);
+    assert_or_panic(vec[131] == true);
+    assert_or_panic(vec[132] == false);
+    assert_or_panic(vec[133] == false);
+    assert_or_panic(vec[134] == true);
+    assert_or_panic(vec[135] == false);
+    assert_or_panic(vec[136] == false);
+    assert_or_panic(vec[137] == true);
+    assert_or_panic(vec[138] == false);
+    assert_or_panic(vec[139] == true);
+    assert_or_panic(vec[140] == false);
+    assert_or_panic(vec[141] == true);
+    assert_or_panic(vec[142] == true);
+    assert_or_panic(vec[143] == true);
+    assert_or_panic(vec[144] == true);
+    assert_or_panic(vec[145] == false);
+    assert_or_panic(vec[146] == true);
+    assert_or_panic(vec[147] == false);
+    assert_or_panic(vec[148] == false);
+    assert_or_panic(vec[149] == false);
+    assert_or_panic(vec[150] == true);
+    assert_or_panic(vec[151] == true);
+    assert_or_panic(vec[152] == true);
+    assert_or_panic(vec[153] == true);
+    assert_or_panic(vec[154] == true);
+    assert_or_panic(vec[155] == false);
+    assert_or_panic(vec[156] == true);
+    assert_or_panic(vec[157] == false);
+    assert_or_panic(vec[158] == false);
+    assert_or_panic(vec[159] == false);
+    assert_or_panic(vec[160] == true);
+    assert_or_panic(vec[161] == true);
+    assert_or_panic(vec[162] == false);
+    assert_or_panic(vec[163] == true);
+    assert_or_panic(vec[164] == true);
+    assert_or_panic(vec[165] == false);
+    assert_or_panic(vec[166] == false);
+    assert_or_panic(vec[167] == false);
+    assert_or_panic(vec[168] == false);
+    assert_or_panic(vec[169] == true);
+    assert_or_panic(vec[170] == false);
+    assert_or_panic(vec[171] == true);
+    assert_or_panic(vec[172] == false);
+    assert_or_panic(vec[173] == false);
+    assert_or_panic(vec[174] == false);
+    assert_or_panic(vec[175] == false);
+    assert_or_panic(vec[176] == true);
+    assert_or_panic(vec[177] == true);
+    assert_or_panic(vec[178] == true);
+    assert_or_panic(vec[179] == false);
+    assert_or_panic(vec[180] == true);
+    assert_or_panic(vec[181] == false);
+    assert_or_panic(vec[182] == true);
+    assert_or_panic(vec[183] == true);
+    assert_or_panic(vec[184] == false);
+    assert_or_panic(vec[185] == false);
+    assert_or_panic(vec[186] == true);
+    assert_or_panic(vec[187] == false);
+    assert_or_panic(vec[188] == false);
+    assert_or_panic(vec[189] == false);
+    assert_or_panic(vec[190] == false);
+    assert_or_panic(vec[191] == true);
+    assert_or_panic(vec[192] == true);
+    assert_or_panic(vec[193] == true);
+    assert_or_panic(vec[194] == true);
+    assert_or_panic(vec[195] == true);
+    assert_or_panic(vec[196] == true);
+    assert_or_panic(vec[197] == true);
+    assert_or_panic(vec[198] == false);
+    assert_or_panic(vec[199] == true);
+    assert_or_panic(vec[200] == false);
+    assert_or_panic(vec[201] == false);
+    assert_or_panic(vec[202] == true);
+    assert_or_panic(vec[203] == false);
+    assert_or_panic(vec[204] == true);
+    assert_or_panic(vec[205] == true);
+    assert_or_panic(vec[206] == true);
+    assert_or_panic(vec[207] == false);
+    assert_or_panic(vec[208] == false);
+    assert_or_panic(vec[209] == true);
+    assert_or_panic(vec[210] == true);
+    assert_or_panic(vec[211] == true);
+    assert_or_panic(vec[212] == false);
+    assert_or_panic(vec[213] == true);
+    assert_or_panic(vec[214] == true);
+    assert_or_panic(vec[215] == true);
+    assert_or_panic(vec[216] == true);
+    assert_or_panic(vec[217] == true);
+    assert_or_panic(vec[218] == false);
+    assert_or_panic(vec[219] == false);
+    assert_or_panic(vec[220] == false);
+    assert_or_panic(vec[221] == false);
+    assert_or_panic(vec[222] == false);
+    assert_or_panic(vec[223] == true);
+    assert_or_panic(vec[224] == true);
+    assert_or_panic(vec[225] == false);
+    assert_or_panic(vec[226] == true);
+    assert_or_panic(vec[227] == false);
+    assert_or_panic(vec[228] == false);
+    assert_or_panic(vec[229] == true);
+    assert_or_panic(vec[230] == false);
+    assert_or_panic(vec[231] == true);
+    assert_or_panic(vec[232] == false);
+    assert_or_panic(vec[233] == false);
+    assert_or_panic(vec[234] == false);
+    assert_or_panic(vec[235] == true);
+    assert_or_panic(vec[236] == false);
+    assert_or_panic(vec[237] == false);
+    assert_or_panic(vec[238] == false);
+    assert_or_panic(vec[239] == true);
+    assert_or_panic(vec[240] == true);
+    assert_or_panic(vec[241] == true);
+    assert_or_panic(vec[242] == true);
+    assert_or_panic(vec[243] == true);
+    assert_or_panic(vec[244] == true);
+    assert_or_panic(vec[245] == false);
+    assert_or_panic(vec[246] == false);
+    assert_or_panic(vec[247] == true);
+    assert_or_panic(vec[248] == false);
+    assert_or_panic(vec[249] == true);
+    assert_or_panic(vec[250] == true);
+    assert_or_panic(vec[251] == false);
+    assert_or_panic(vec[252] == true);
+    assert_or_panic(vec[253] == true);
+    assert_or_panic(vec[254] == true);
+    assert_or_panic(vec[255] == false);
+}
+
+void c_vector_512_bool(Vector512Bool vec) {
+    assert_or_panic(vec[0] == true);
+    assert_or_panic(vec[1] == true);
+    assert_or_panic(vec[2] == true);
+    assert_or_panic(vec[3] == true);
+    assert_or_panic(vec[4] == true);
+    assert_or_panic(vec[5] == false);
+    assert_or_panic(vec[6] == false);
+    assert_or_panic(vec[7] == true);
+    assert_or_panic(vec[8] == true);
+    assert_or_panic(vec[9] == true);
+    assert_or_panic(vec[10] == true);
+    assert_or_panic(vec[11] == false);
+    assert_or_panic(vec[12] == true);
+    assert_or_panic(vec[13] == true);
+    assert_or_panic(vec[14] == false);
+    assert_or_panic(vec[15] == false);
+    assert_or_panic(vec[16] == false);
+    assert_or_panic(vec[17] == true);
+    assert_or_panic(vec[18] == true);
+    assert_or_panic(vec[19] == true);
+    assert_or_panic(vec[20] == true);
+    assert_or_panic(vec[21] == true);
+    assert_or_panic(vec[22] == false);
+    assert_or_panic(vec[23] == false);
+    assert_or_panic(vec[24] == true);
+    assert_or_panic(vec[25] == true);
+    assert_or_panic(vec[26] == false);
+    assert_or_panic(vec[27] == false);
+    assert_or_panic(vec[28] == false);
+    assert_or_panic(vec[29] == false);
+    assert_or_panic(vec[30] == false);
+    assert_or_panic(vec[31] == true);
+    assert_or_panic(vec[32] == true);
+    assert_or_panic(vec[33] == false);
+    assert_or_panic(vec[34] == true);
+    assert_or_panic(vec[35] == true);
+    assert_or_panic(vec[36] == true);
+    assert_or_panic(vec[37] == true);
+    assert_or_panic(vec[38] == true);
+    assert_or_panic(vec[39] == true);
+    assert_or_panic(vec[40] == false);
+    assert_or_panic(vec[41] == true);
+    assert_or_panic(vec[42] == true);
+    assert_or_panic(vec[43] == false);
+    assert_or_panic(vec[44] == false);
+    assert_or_panic(vec[45] == false);
+    assert_or_panic(vec[46] == true);
+    assert_or_panic(vec[47] == true);
+    assert_or_panic(vec[48] == false);
+    assert_or_panic(vec[49] == true);
+    assert_or_panic(vec[50] == false);
+    assert_or_panic(vec[51] == true);
+    assert_or_panic(vec[52] == true);
+    assert_or_panic(vec[53] == false);
+    assert_or_panic(vec[54] == true);
+    assert_or_panic(vec[55] == false);
+    assert_or_panic(vec[56] == false);
+    assert_or_panic(vec[57] == true);
+    assert_or_panic(vec[58] == true);
+    assert_or_panic(vec[59] == false);
+    assert_or_panic(vec[60] == true);
+    assert_or_panic(vec[61] == true);
+    assert_or_panic(vec[62] == false);
+    assert_or_panic(vec[63] == true);
+    assert_or_panic(vec[64] == false);
+    assert_or_panic(vec[65] == true);
+    assert_or_panic(vec[66] == true);
+    assert_or_panic(vec[67] == true);
+    assert_or_panic(vec[68] == true);
+    assert_or_panic(vec[69] == true);
+    assert_or_panic(vec[70] == true);
+    assert_or_panic(vec[71] == true);
+    assert_or_panic(vec[72] == true);
+    assert_or_panic(vec[73] == true);
+    assert_or_panic(vec[74] == false);
+    assert_or_panic(vec[75] == true);
+    assert_or_panic(vec[76] == false);
+    assert_or_panic(vec[77] == true);
+    assert_or_panic(vec[78] == false);
+    assert_or_panic(vec[79] == false);
+    assert_or_panic(vec[80] == false);
+    assert_or_panic(vec[81] == true);
+    assert_or_panic(vec[82] == false);
+    assert_or_panic(vec[83] == true);
+    assert_or_panic(vec[84] == true);
+    assert_or_panic(vec[85] == false);
+    assert_or_panic(vec[86] == true);
+    assert_or_panic(vec[87] == true);
+    assert_or_panic(vec[88] == true);
+    assert_or_panic(vec[89] == false);
+    assert_or_panic(vec[90] == true);
+    assert_or_panic(vec[91] == true);
+    assert_or_panic(vec[92] == false);
+    assert_or_panic(vec[93] == true);
+    assert_or_panic(vec[94] == false);
+    assert_or_panic(vec[95] == true);
+    assert_or_panic(vec[96] == true);
+    assert_or_panic(vec[97] == false);
+    assert_or_panic(vec[98] == false);
+    assert_or_panic(vec[99] == false);
+    assert_or_panic(vec[100] == true);
+    assert_or_panic(vec[101] == true);
+    assert_or_panic(vec[102] == false);
+    assert_or_panic(vec[103] == true);
+    assert_or_panic(vec[104] == false);
+    assert_or_panic(vec[105] == false);
+    assert_or_panic(vec[106] == true);
+    assert_or_panic(vec[107] == false);
+    assert_or_panic(vec[108] == false);
+    assert_or_panic(vec[109] == true);
+    assert_or_panic(vec[110] == false);
+    assert_or_panic(vec[111] == false);
+    assert_or_panic(vec[112] == false);
+    assert_or_panic(vec[113] == false);
+    assert_or_panic(vec[114] == false);
+    assert_or_panic(vec[115] == true);
+    assert_or_panic(vec[116] == true);
+    assert_or_panic(vec[117] == false);
+    assert_or_panic(vec[118] == false);
+    assert_or_panic(vec[119] == false);
+    assert_or_panic(vec[120] == false);
+    assert_or_panic(vec[121] == true);
+    assert_or_panic(vec[122] == false);
+    assert_or_panic(vec[123] == false);
+    assert_or_panic(vec[124] == true);
+    assert_or_panic(vec[125] == true);
+    assert_or_panic(vec[126] == false);
+    assert_or_panic(vec[127] == true);
+    assert_or_panic(vec[128] == false);
+    assert_or_panic(vec[129] == true);
+    assert_or_panic(vec[130] == true);
+    assert_or_panic(vec[131] == false);
+    assert_or_panic(vec[132] == true);
+    assert_or_panic(vec[133] == false);
+    assert_or_panic(vec[134] == false);
+    assert_or_panic(vec[135] == false);
+    assert_or_panic(vec[136] == false);
+    assert_or_panic(vec[137] == true);
+    assert_or_panic(vec[138] == true);
+    assert_or_panic(vec[139] == false);
+    assert_or_panic(vec[140] == false);
+    assert_or_panic(vec[141] == false);
+    assert_or_panic(vec[142] == true);
+    assert_or_panic(vec[143] == true);
+    assert_or_panic(vec[144] == false);
+    assert_or_panic(vec[145] == false);
+    assert_or_panic(vec[146] == true);
+    assert_or_panic(vec[147] == true);
+    assert_or_panic(vec[148] == true);
+    assert_or_panic(vec[149] == true);
+    assert_or_panic(vec[150] == true);
+    assert_or_panic(vec[151] == true);
+    assert_or_panic(vec[152] == true);
+    assert_or_panic(vec[153] == false);
+    assert_or_panic(vec[154] == true);
+    assert_or_panic(vec[155] == false);
+    assert_or_panic(vec[156] == false);
+    assert_or_panic(vec[157] == true);
+    assert_or_panic(vec[158] == false);
+    assert_or_panic(vec[159] == true);
+    assert_or_panic(vec[160] == false);
+    assert_or_panic(vec[161] == true);
+    assert_or_panic(vec[162] == true);
+    assert_or_panic(vec[163] == true);
+    assert_or_panic(vec[164] == true);
+    assert_or_panic(vec[165] == true);
+    assert_or_panic(vec[166] == true);
+    assert_or_panic(vec[167] == true);
+    assert_or_panic(vec[168] == true);
+    assert_or_panic(vec[169] == false);
+    assert_or_panic(vec[170] == true);
+    assert_or_panic(vec[171] == true);
+    assert_or_panic(vec[172] == false);
+    assert_or_panic(vec[173] == true);
+    assert_or_panic(vec[174] == true);
+    assert_or_panic(vec[175] == false);
+    assert_or_panic(vec[176] == false);
+    assert_or_panic(vec[177] == false);
+    assert_or_panic(vec[178] == true);
+    assert_or_panic(vec[179] == false);
+    assert_or_panic(vec[180] == false);
+    assert_or_panic(vec[181] == true);
+    assert_or_panic(vec[182] == true);
+    assert_or_panic(vec[183] == true);
+    assert_or_panic(vec[184] == true);
+    assert_or_panic(vec[185] == true);
+    assert_or_panic(vec[186] == true);
+    assert_or_panic(vec[187] == true);
+    assert_or_panic(vec[188] == true);
+    assert_or_panic(vec[189] == true);
+    assert_or_panic(vec[190] == false);
+    assert_or_panic(vec[191] == true);
+    assert_or_panic(vec[192] == true);
+    assert_or_panic(vec[193] == false);
+    assert_or_panic(vec[194] == false);
+    assert_or_panic(vec[195] == true);
+    assert_or_panic(vec[196] == true);
+    assert_or_panic(vec[197] == false);
+    assert_or_panic(vec[198] == true);
+    assert_or_panic(vec[199] == true);
+    assert_or_panic(vec[200] == false);
+    assert_or_panic(vec[201] == true);
+    assert_or_panic(vec[202] == true);
+    assert_or_panic(vec[203] == false);
+    assert_or_panic(vec[204] == true);
+    assert_or_panic(vec[205] == true);
+    assert_or_panic(vec[206] == true);
+    assert_or_panic(vec[207] == true);
+    assert_or_panic(vec[208] == false);
+    assert_or_panic(vec[209] == true);
+    assert_or_panic(vec[210] == false);
+    assert_or_panic(vec[211] == true);
+    assert_or_panic(vec[212] == true);
+    assert_or_panic(vec[213] == false);
+    assert_or_panic(vec[214] == true);
+    assert_or_panic(vec[215] == false);
+    assert_or_panic(vec[216] == true);
+    assert_or_panic(vec[217] == false);
+    assert_or_panic(vec[218] == true);
+    assert_or_panic(vec[219] == false);
+    assert_or_panic(vec[220] == false);
+    assert_or_panic(vec[221] == true);
+    assert_or_panic(vec[222] == false);
+    assert_or_panic(vec[223] == false);
+    assert_or_panic(vec[224] == false);
+    assert_or_panic(vec[225] == true);
+    assert_or_panic(vec[226] == true);
+    assert_or_panic(vec[227] == false);
+    assert_or_panic(vec[228] == false);
+    assert_or_panic(vec[229] == false);
+    assert_or_panic(vec[230] == true);
+    assert_or_panic(vec[231] == false);
+    assert_or_panic(vec[232] == true);
+    assert_or_panic(vec[233] == false);
+    assert_or_panic(vec[234] == false);
+    assert_or_panic(vec[235] == false);
+    assert_or_panic(vec[236] == true);
+    assert_or_panic(vec[237] == true);
+    assert_or_panic(vec[238] == false);
+    assert_or_panic(vec[239] == false);
+    assert_or_panic(vec[240] == false);
+    assert_or_panic(vec[241] == false);
+    assert_or_panic(vec[242] == false);
+    assert_or_panic(vec[243] == true);
+    assert_or_panic(vec[244] == true);
+    assert_or_panic(vec[245] == false);
+    assert_or_panic(vec[246] == true);
+    assert_or_panic(vec[247] == false);
+    assert_or_panic(vec[248] == false);
+    assert_or_panic(vec[249] == true);
+    assert_or_panic(vec[250] == false);
+    assert_or_panic(vec[251] == false);
+    assert_or_panic(vec[252] == false);
+    assert_or_panic(vec[253] == true);
+    assert_or_panic(vec[254] == false);
+    assert_or_panic(vec[255] == false);
+    assert_or_panic(vec[256] == false);
+    assert_or_panic(vec[257] == false);
+    assert_or_panic(vec[258] == true);
+    assert_or_panic(vec[259] == true);
+    assert_or_panic(vec[260] == true);
+    assert_or_panic(vec[261] == true);
+    assert_or_panic(vec[262] == false);
+    assert_or_panic(vec[263] == true);
+    assert_or_panic(vec[264] == false);
+    assert_or_panic(vec[265] == false);
+    assert_or_panic(vec[266] == false);
+    assert_or_panic(vec[267] == true);
+    assert_or_panic(vec[268] == false);
+    assert_or_panic(vec[269] == false);
+    assert_or_panic(vec[270] == true);
+    assert_or_panic(vec[271] == true);
+    assert_or_panic(vec[272] == false);
+    assert_or_panic(vec[273] == false);
+    assert_or_panic(vec[274] == false);
+    assert_or_panic(vec[275] == false);
+    assert_or_panic(vec[276] == false);
+    assert_or_panic(vec[277] == true);
+    assert_or_panic(vec[278] == false);
+    assert_or_panic(vec[279] == true);
+    assert_or_panic(vec[280] == true);
+    assert_or_panic(vec[281] == true);
+    assert_or_panic(vec[282] == true);
+    assert_or_panic(vec[283] == true);
+    assert_or_panic(vec[284] == false);
+    assert_or_panic(vec[285] == false);
+    assert_or_panic(vec[286] == false);
+    assert_or_panic(vec[287] == false);
+    assert_or_panic(vec[288] == false);
+    assert_or_panic(vec[289] == false);
+    assert_or_panic(vec[290] == false);
+    assert_or_panic(vec[291] == false);
+    assert_or_panic(vec[292] == false);
+    assert_or_panic(vec[293] == true);
+    assert_or_panic(vec[294] == true);
+    assert_or_panic(vec[295] == true);
+    assert_or_panic(vec[296] == true);
+    assert_or_panic(vec[297] == true);
+    assert_or_panic(vec[298] == true);
+    assert_or_panic(vec[299] == false);
+    assert_or_panic(vec[300] == true);
+    assert_or_panic(vec[301] == false);
+    assert_or_panic(vec[302] == true);
+    assert_or_panic(vec[303] == true);
+    assert_or_panic(vec[304] == true);
+    assert_or_panic(vec[305] == false);
+    assert_or_panic(vec[306] == false);
+    assert_or_panic(vec[307] == true);
+    assert_or_panic(vec[308] == true);
+    assert_or_panic(vec[309] == true);
+    assert_or_panic(vec[310] == false);
+    assert_or_panic(vec[311] == true);
+    assert_or_panic(vec[312] == true);
+    assert_or_panic(vec[313] == true);
+    assert_or_panic(vec[314] == false);
+    assert_or_panic(vec[315] == true);
+    assert_or_panic(vec[316] == true);
+    assert_or_panic(vec[317] == true);
+    assert_or_panic(vec[318] == false);
+    assert_or_panic(vec[319] == true);
+    assert_or_panic(vec[320] == true);
+    assert_or_panic(vec[321] == false);
+    assert_or_panic(vec[322] == false);
+    assert_or_panic(vec[323] == true);
+    assert_or_panic(vec[324] == false);
+    assert_or_panic(vec[325] == false);
+    assert_or_panic(vec[326] == false);
+    assert_or_panic(vec[327] == false);
+    assert_or_panic(vec[328] == true);
+    assert_or_panic(vec[329] == false);
+    assert_or_panic(vec[330] == true);
+    assert_or_panic(vec[331] == true);
+    assert_or_panic(vec[332] == true);
+    assert_or_panic(vec[333] == true);
+    assert_or_panic(vec[334] == false);
+    assert_or_panic(vec[335] == false);
+    assert_or_panic(vec[336] == true);
+    assert_or_panic(vec[337] == false);
+    assert_or_panic(vec[338] == true);
+    assert_or_panic(vec[339] == false);
+    assert_or_panic(vec[340] == false);
+    assert_or_panic(vec[341] == false);
+    assert_or_panic(vec[342] == true);
+    assert_or_panic(vec[343] == false);
+    assert_or_panic(vec[344] == true);
+    assert_or_panic(vec[345] == false);
+    assert_or_panic(vec[346] == false);
+    assert_or_panic(vec[347] == true);
+    assert_or_panic(vec[348] == true);
+    assert_or_panic(vec[349] == true);
+    assert_or_panic(vec[350] == true);
+    assert_or_panic(vec[351] == false);
+    assert_or_panic(vec[352] == false);
+    assert_or_panic(vec[353] == false);
+    assert_or_panic(vec[354] == true);
+    assert_or_panic(vec[355] == true);
+    assert_or_panic(vec[356] == false);
+    assert_or_panic(vec[357] == true);
+    assert_or_panic(vec[358] == false);
+    assert_or_panic(vec[359] == false);
+    assert_or_panic(vec[360] == true);
+    assert_or_panic(vec[361] == false);
+    assert_or_panic(vec[362] == true);
+    assert_or_panic(vec[363] == false);
+    assert_or_panic(vec[364] == true);
+    assert_or_panic(vec[365] == true);
+    assert_or_panic(vec[366] == false);
+    assert_or_panic(vec[367] == false);
+    assert_or_panic(vec[368] == true);
+    assert_or_panic(vec[369] == true);
+    assert_or_panic(vec[370] == true);
+    assert_or_panic(vec[371] == true);
+    assert_or_panic(vec[372] == false);
+    assert_or_panic(vec[373] == false);
+    assert_or_panic(vec[374] == true);
+    assert_or_panic(vec[375] == false);
+    assert_or_panic(vec[376] == true);
+    assert_or_panic(vec[377] == true);
+    assert_or_panic(vec[378] == false);
+    assert_or_panic(vec[379] == true);
+    assert_or_panic(vec[380] == true);
+    assert_or_panic(vec[381] == false);
+    assert_or_panic(vec[382] == true);
+    assert_or_panic(vec[383] == true);
+    assert_or_panic(vec[384] == true);
+    assert_or_panic(vec[385] == false);
+    assert_or_panic(vec[386] == true);
+    assert_or_panic(vec[387] == true);
+    assert_or_panic(vec[388] == true);
+    assert_or_panic(vec[389] == false);
+    assert_or_panic(vec[390] == false);
+    assert_or_panic(vec[391] == true);
+    assert_or_panic(vec[392] == false);
+    assert_or_panic(vec[393] == true);
+    assert_or_panic(vec[394] == true);
+    assert_or_panic(vec[395] == true);
+    assert_or_panic(vec[396] == false);
+    assert_or_panic(vec[397] == false);
+    assert_or_panic(vec[398] == false);
+    assert_or_panic(vec[399] == false);
+    assert_or_panic(vec[400] == false);
+    assert_or_panic(vec[401] == true);
+    assert_or_panic(vec[402] == false);
+    assert_or_panic(vec[403] == false);
+    assert_or_panic(vec[404] == false);
+    assert_or_panic(vec[405] == false);
+    assert_or_panic(vec[406] == true);
+    assert_or_panic(vec[407] == false);
+    assert_or_panic(vec[408] == false);
+    assert_or_panic(vec[409] == true);
+    assert_or_panic(vec[410] == true);
+    assert_or_panic(vec[411] == false);
+    assert_or_panic(vec[412] == false);
+    assert_or_panic(vec[413] == false);
+    assert_or_panic(vec[414] == false);
+    assert_or_panic(vec[415] == true);
+    assert_or_panic(vec[416] == true);
+    assert_or_panic(vec[417] == true);
+    assert_or_panic(vec[418] == true);
+    assert_or_panic(vec[419] == true);
+    assert_or_panic(vec[420] == false);
+    assert_or_panic(vec[421] == false);
+    assert_or_panic(vec[422] == false);
+    assert_or_panic(vec[423] == true);
+    assert_or_panic(vec[424] == false);
+    assert_or_panic(vec[425] == false);
+    assert_or_panic(vec[426] == false);
+    assert_or_panic(vec[427] == false);
+    assert_or_panic(vec[428] == true);
+    assert_or_panic(vec[429] == false);
+    assert_or_panic(vec[430] == true);
+    assert_or_panic(vec[431] == false);
+    assert_or_panic(vec[432] == true);
+    assert_or_panic(vec[433] == true);
+    assert_or_panic(vec[434] == true);
+    assert_or_panic(vec[435] == true);
+    assert_or_panic(vec[436] == false);
+    assert_or_panic(vec[437] == false);
+    assert_or_panic(vec[438] == false);
+    assert_or_panic(vec[439] == false);
+    assert_or_panic(vec[440] == false);
+    assert_or_panic(vec[441] == true);
+    assert_or_panic(vec[442] == true);
+    assert_or_panic(vec[443] == true);
+    assert_or_panic(vec[444] == true);
+    assert_or_panic(vec[445] == true);
+    assert_or_panic(vec[446] == true);
+    assert_or_panic(vec[447] == true);
+    assert_or_panic(vec[448] == true);
+    assert_or_panic(vec[449] == true);
+    assert_or_panic(vec[450] == false);
+    assert_or_panic(vec[451] == false);
+    assert_or_panic(vec[452] == true);
+    assert_or_panic(vec[453] == false);
+    assert_or_panic(vec[454] == true);
+    assert_or_panic(vec[455] == false);
+    assert_or_panic(vec[456] == false);
+    assert_or_panic(vec[457] == true);
+    assert_or_panic(vec[458] == false);
+    assert_or_panic(vec[459] == false);
+    assert_or_panic(vec[460] == true);
+    assert_or_panic(vec[461] == true);
+    assert_or_panic(vec[462] == true);
+    assert_or_panic(vec[463] == true);
+    assert_or_panic(vec[464] == true);
+    assert_or_panic(vec[465] == true);
+    assert_or_panic(vec[466] == false);
+    assert_or_panic(vec[467] == true);
+    assert_or_panic(vec[468] == false);
+    assert_or_panic(vec[469] == false);
+    assert_or_panic(vec[470] == false);
+    assert_or_panic(vec[471] == true);
+    assert_or_panic(vec[472] == true);
+    assert_or_panic(vec[473] == false);
+    assert_or_panic(vec[474] == true);
+    assert_or_panic(vec[475] == true);
+    assert_or_panic(vec[476] == false);
+    assert_or_panic(vec[477] == false);
+    assert_or_panic(vec[478] == true);
+    assert_or_panic(vec[479] == true);
+    assert_or_panic(vec[480] == false);
+    assert_or_panic(vec[481] == false);
+    assert_or_panic(vec[482] == true);
+    assert_or_panic(vec[483] == true);
+    assert_or_panic(vec[484] == false);
+    assert_or_panic(vec[485] == true);
+    assert_or_panic(vec[486] == false);
+    assert_or_panic(vec[487] == true);
+    assert_or_panic(vec[488] == true);
+    assert_or_panic(vec[489] == true);
+    assert_or_panic(vec[490] == true);
+    assert_or_panic(vec[491] == true);
+    assert_or_panic(vec[492] == true);
+    assert_or_panic(vec[493] == true);
+    assert_or_panic(vec[494] == true);
+    assert_or_panic(vec[495] == true);
+    assert_or_panic(vec[496] == false);
+    assert_or_panic(vec[497] == true);
+    assert_or_panic(vec[498] == true);
+    assert_or_panic(vec[499] == true);
+    assert_or_panic(vec[500] == false);
+    assert_or_panic(vec[501] == false);
+    assert_or_panic(vec[502] == true);
+    assert_or_panic(vec[503] == false);
+    assert_or_panic(vec[504] == false);
+    assert_or_panic(vec[505] == false);
+    assert_or_panic(vec[506] == true);
+    assert_or_panic(vec[507] == true);
+    assert_or_panic(vec[508] == false);
+    assert_or_panic(vec[509] == true);
+    assert_or_panic(vec[510] == false);
+    assert_or_panic(vec[511] == true);
+}
+
+Vector2Bool c_ret_vector_2_bool(void) {
+    return (Vector2Bool){
+        true,
+        false,
+    };
+}
+
+Vector4Bool c_ret_vector_4_bool(void) {
+    return (Vector4Bool){
+        true,
+        false,
+        true,
+        false,
+    };
+}
+
+Vector8Bool c_ret_vector_8_bool(void) {
+    return (Vector8Bool){
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        true,
+    };
+}
+
+Vector16Bool c_ret_vector_16_bool(void) {
+    return (Vector16Bool){
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        true,
+    };
+}
+
+Vector32Bool c_ret_vector_32_bool(void) {
+    return (Vector32Bool){
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+    };
+}
+
+Vector64Bool c_ret_vector_64_bool(void) {
+    return (Vector64Bool){
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+    };
+}
+
+Vector128Bool c_ret_vector_128_bool(void) {
+    return (Vector128Bool){
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        false,
+        true,
+        false,
+        true,
+    };
+}
+
+Vector256Bool c_ret_vector_256_bool(void) {
+    return (Vector256Bool){
+        true,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        false,
+        false,
+        true,
+        true,
+        false,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        true,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        false,
+    };
+}
+
+Vector512Bool c_ret_vector_512_bool(void) {
+    return (Vector512Bool){
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        true,
+        true,
+        true,
+        false,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        false,
+        true,
+        true,
+        true,
+        true,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        false,
+        true,
+        true,
+        false,
+        true,
+        false,
+    };
+}
+
+void zig_vector_2_bool(Vector2Bool vec);
+void zig_vector_4_bool(Vector4Bool vec);
+void zig_vector_8_bool(Vector8Bool vec);
+void zig_vector_16_bool(Vector16Bool vec);
+void zig_vector_32_bool(Vector32Bool vec);
+void zig_vector_64_bool(Vector64Bool vec);
+void zig_vector_128_bool(Vector128Bool vec);
+void zig_vector_256_bool(Vector256Bool vec);
+void zig_vector_512_bool(Vector512Bool vec);
+
+Vector2Bool zig_ret_vector_2_bool(void);
+Vector4Bool zig_ret_vector_4_bool(void);
+Vector8Bool zig_ret_vector_8_bool(void);
+Vector16Bool zig_ret_vector_16_bool(void);
+Vector32Bool zig_ret_vector_32_bool(void);
+Vector64Bool zig_ret_vector_64_bool(void);
+Vector128Bool zig_ret_vector_128_bool(void);
+Vector256Bool zig_ret_vector_256_bool(void);
+Vector512Bool zig_ret_vector_512_bool(void);
+
+#endif
+
 typedef struct Vector3 {
     float x;
     float y;
@@ -450,6 +2600,2107 @@ void run_c_tests(void) {
         assert_or_panic(zig_ret_i32() == -1);
         assert_or_panic(zig_ret_i64() == -1);
     }
+
+#if defined(ZIG_BACKEND_STAGE2_X86_64) || defined(ZIG_PPC32)
+    {
+        zig_vector_2_bool((Vector2Bool){
+            false,
+            true,
+        });
+
+        Vector2Bool vec = zig_ret_vector_2_bool();
+        assert_or_panic(vec[0] == false);
+        assert_or_panic(vec[1] == false);
+    }
+    {
+        zig_vector_4_bool((Vector4Bool){
+            false,
+            false,
+            false,
+            false,
+        });
+
+        Vector4Bool vec = zig_ret_vector_4_bool();
+        assert_or_panic(vec[0] == false);
+        assert_or_panic(vec[1] == true);
+        assert_or_panic(vec[2] == true);
+        assert_or_panic(vec[3] == true);
+    }
+    {
+        zig_vector_8_bool((Vector8Bool){
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+        });
+
+        Vector8Bool vec = zig_ret_vector_8_bool();
+        assert_or_panic(vec[0] == false);
+        assert_or_panic(vec[1] == false);
+        assert_or_panic(vec[2] == false);
+        assert_or_panic(vec[3] == false);
+        assert_or_panic(vec[4] == true);
+        assert_or_panic(vec[5] == false);
+        assert_or_panic(vec[6] == false);
+        assert_or_panic(vec[7] == false);
+    }
+    {
+        zig_vector_16_bool((Vector16Bool){
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+        });
+
+        Vector16Bool vec = zig_ret_vector_16_bool();
+        assert_or_panic(vec[0] == false);
+        assert_or_panic(vec[1] == true);
+        assert_or_panic(vec[2] == false);
+        assert_or_panic(vec[3] == false);
+        assert_or_panic(vec[4] == false);
+        assert_or_panic(vec[5] == true);
+        assert_or_panic(vec[6] == false);
+        assert_or_panic(vec[7] == false);
+        assert_or_panic(vec[8] == true);
+        assert_or_panic(vec[9] == false);
+        assert_or_panic(vec[10] == false);
+        assert_or_panic(vec[11] == false);
+        assert_or_panic(vec[12] == false);
+        assert_or_panic(vec[13] == true);
+        assert_or_panic(vec[14] == false);
+        assert_or_panic(vec[15] == false);
+    }
+    {
+        zig_vector_32_bool((Vector32Bool){
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+        });
+
+        Vector32Bool vec = zig_ret_vector_32_bool();
+        assert_or_panic(vec[0] == false);
+        assert_or_panic(vec[1] == true);
+        assert_or_panic(vec[2] == false);
+        assert_or_panic(vec[3] == false);
+        assert_or_panic(vec[4] == true);
+        assert_or_panic(vec[5] == false);
+        assert_or_panic(vec[6] == true);
+        assert_or_panic(vec[7] == true);
+        assert_or_panic(vec[8] == true);
+        assert_or_panic(vec[9] == true);
+        assert_or_panic(vec[10] == true);
+        assert_or_panic(vec[11] == true);
+        assert_or_panic(vec[12] == false);
+        assert_or_panic(vec[13] == false);
+        assert_or_panic(vec[14] == false);
+        assert_or_panic(vec[15] == false);
+        assert_or_panic(vec[16] == false);
+        assert_or_panic(vec[17] == false);
+        assert_or_panic(vec[18] == true);
+        assert_or_panic(vec[19] == true);
+        assert_or_panic(vec[20] == true);
+        assert_or_panic(vec[21] == false);
+        assert_or_panic(vec[22] == true);
+        assert_or_panic(vec[23] == false);
+        assert_or_panic(vec[24] == true);
+        assert_or_panic(vec[25] == false);
+        assert_or_panic(vec[26] == false);
+        assert_or_panic(vec[27] == true);
+        assert_or_panic(vec[28] == false);
+        assert_or_panic(vec[29] == false);
+        assert_or_panic(vec[30] == true);
+        assert_or_panic(vec[31] == true);
+    }
+    {
+        zig_vector_64_bool((Vector64Bool){
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+        });
+
+        Vector64Bool vec = zig_ret_vector_64_bool();
+        assert_or_panic(vec[0] == true);
+        assert_or_panic(vec[1] == false);
+        assert_or_panic(vec[2] == true);
+        assert_or_panic(vec[3] == false);
+        assert_or_panic(vec[4] == false);
+        assert_or_panic(vec[5] == true);
+        assert_or_panic(vec[6] == false);
+        assert_or_panic(vec[7] == true);
+        assert_or_panic(vec[8] == true);
+        assert_or_panic(vec[9] == false);
+        assert_or_panic(vec[10] == true);
+        assert_or_panic(vec[11] == false);
+        assert_or_panic(vec[12] == true);
+        assert_or_panic(vec[13] == false);
+        assert_or_panic(vec[14] == false);
+        assert_or_panic(vec[15] == true);
+        assert_or_panic(vec[16] == false);
+        assert_or_panic(vec[17] == false);
+        assert_or_panic(vec[18] == true);
+        assert_or_panic(vec[19] == true);
+        assert_or_panic(vec[20] == false);
+        assert_or_panic(vec[21] == false);
+        assert_or_panic(vec[22] == true);
+        assert_or_panic(vec[23] == false);
+        assert_or_panic(vec[24] == false);
+        assert_or_panic(vec[25] == true);
+        assert_or_panic(vec[26] == true);
+        assert_or_panic(vec[27] == true);
+        assert_or_panic(vec[28] == true);
+        assert_or_panic(vec[29] == true);
+        assert_or_panic(vec[30] == false);
+        assert_or_panic(vec[31] == false);
+        assert_or_panic(vec[32] == true);
+        assert_or_panic(vec[33] == true);
+        assert_or_panic(vec[34] == true);
+        assert_or_panic(vec[35] == true);
+        assert_or_panic(vec[36] == false);
+        assert_or_panic(vec[37] == true);
+        assert_or_panic(vec[38] == false);
+        assert_or_panic(vec[39] == true);
+        assert_or_panic(vec[40] == true);
+        assert_or_panic(vec[41] == true);
+        assert_or_panic(vec[42] == true);
+        assert_or_panic(vec[43] == true);
+        assert_or_panic(vec[44] == false);
+        assert_or_panic(vec[45] == false);
+        assert_or_panic(vec[46] == false);
+        assert_or_panic(vec[47] == true);
+        assert_or_panic(vec[48] == true);
+        assert_or_panic(vec[49] == true);
+        assert_or_panic(vec[50] == false);
+        assert_or_panic(vec[51] == true);
+        assert_or_panic(vec[52] == true);
+        assert_or_panic(vec[53] == true);
+        assert_or_panic(vec[54] == false);
+        assert_or_panic(vec[55] == false);
+        assert_or_panic(vec[56] == false);
+        assert_or_panic(vec[57] == true);
+        assert_or_panic(vec[58] == false);
+        assert_or_panic(vec[59] == false);
+        assert_or_panic(vec[60] == true);
+        assert_or_panic(vec[61] == false);
+        assert_or_panic(vec[62] == true);
+        assert_or_panic(vec[63] == false);
+    }
+    {
+        zig_vector_128_bool((Vector128Bool){
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+        });
+
+        Vector128Bool vec = zig_ret_vector_128_bool();
+        assert_or_panic(vec[0] == true);
+        assert_or_panic(vec[1] == true);
+        assert_or_panic(vec[2] == false);
+        assert_or_panic(vec[3] == false);
+        assert_or_panic(vec[4] == false);
+        assert_or_panic(vec[5] == true);
+        assert_or_panic(vec[6] == true);
+        assert_or_panic(vec[7] == false);
+        assert_or_panic(vec[8] == false);
+        assert_or_panic(vec[9] == true);
+        assert_or_panic(vec[10] == false);
+        assert_or_panic(vec[11] == false);
+        assert_or_panic(vec[12] == false);
+        assert_or_panic(vec[13] == true);
+        assert_or_panic(vec[14] == false);
+        assert_or_panic(vec[15] == true);
+        assert_or_panic(vec[16] == true);
+        assert_or_panic(vec[17] == false);
+        assert_or_panic(vec[18] == false);
+        assert_or_panic(vec[19] == true);
+        assert_or_panic(vec[20] == true);
+        assert_or_panic(vec[21] == true);
+        assert_or_panic(vec[22] == true);
+        assert_or_panic(vec[23] == true);
+        assert_or_panic(vec[24] == false);
+        assert_or_panic(vec[25] == false);
+        assert_or_panic(vec[26] == true);
+        assert_or_panic(vec[27] == true);
+        assert_or_panic(vec[28] == true);
+        assert_or_panic(vec[29] == false);
+        assert_or_panic(vec[30] == false);
+        assert_or_panic(vec[31] == true);
+        assert_or_panic(vec[32] == true);
+        assert_or_panic(vec[33] == false);
+        assert_or_panic(vec[34] == true);
+        assert_or_panic(vec[35] == true);
+        assert_or_panic(vec[36] == true);
+        assert_or_panic(vec[37] == false);
+        assert_or_panic(vec[38] == true);
+        assert_or_panic(vec[39] == true);
+        assert_or_panic(vec[40] == true);
+        assert_or_panic(vec[41] == false);
+        assert_or_panic(vec[42] == true);
+        assert_or_panic(vec[43] == true);
+        assert_or_panic(vec[44] == false);
+        assert_or_panic(vec[45] == false);
+        assert_or_panic(vec[46] == false);
+        assert_or_panic(vec[47] == true);
+        assert_or_panic(vec[48] == false);
+        assert_or_panic(vec[49] == false);
+        assert_or_panic(vec[50] == false);
+        assert_or_panic(vec[51] == false);
+        assert_or_panic(vec[52] == true);
+        assert_or_panic(vec[53] == false);
+        assert_or_panic(vec[54] == true);
+        assert_or_panic(vec[55] == false);
+        assert_or_panic(vec[56] == true);
+        assert_or_panic(vec[57] == false);
+        assert_or_panic(vec[58] == false);
+        assert_or_panic(vec[59] == true);
+        assert_or_panic(vec[60] == true);
+        assert_or_panic(vec[61] == true);
+        assert_or_panic(vec[62] == true);
+        assert_or_panic(vec[63] == true);
+        assert_or_panic(vec[64] == false);
+        assert_or_panic(vec[65] == false);
+        assert_or_panic(vec[66] == false);
+        assert_or_panic(vec[67] == true);
+        assert_or_panic(vec[68] == true);
+        assert_or_panic(vec[69] == false);
+        assert_or_panic(vec[70] == true);
+        assert_or_panic(vec[71] == true);
+        assert_or_panic(vec[72] == false);
+        assert_or_panic(vec[73] == true);
+        assert_or_panic(vec[74] == true);
+        assert_or_panic(vec[75] == false);
+        assert_or_panic(vec[76] == false);
+        assert_or_panic(vec[77] == true);
+        assert_or_panic(vec[78] == false);
+        assert_or_panic(vec[79] == true);
+        assert_or_panic(vec[80] == false);
+        assert_or_panic(vec[81] == false);
+        assert_or_panic(vec[82] == true);
+        assert_or_panic(vec[83] == true);
+        assert_or_panic(vec[84] == false);
+        assert_or_panic(vec[85] == true);
+        assert_or_panic(vec[86] == false);
+        assert_or_panic(vec[87] == false);
+        assert_or_panic(vec[88] == true);
+        assert_or_panic(vec[89] == true);
+        assert_or_panic(vec[90] == true);
+        assert_or_panic(vec[91] == true);
+        assert_or_panic(vec[92] == true);
+        assert_or_panic(vec[93] == false);
+        assert_or_panic(vec[94] == false);
+        assert_or_panic(vec[95] == true);
+        assert_or_panic(vec[96] == false);
+        assert_or_panic(vec[97] == false);
+        assert_or_panic(vec[98] == true);
+        assert_or_panic(vec[99] == true);
+        assert_or_panic(vec[100] == true);
+        assert_or_panic(vec[101] == true);
+        assert_or_panic(vec[102] == true);
+        assert_or_panic(vec[103] == true);
+        assert_or_panic(vec[104] == true);
+        assert_or_panic(vec[105] == false);
+        assert_or_panic(vec[106] == false);
+        assert_or_panic(vec[107] == true);
+        assert_or_panic(vec[108] == false);
+        assert_or_panic(vec[109] == false);
+        assert_or_panic(vec[110] == true);
+        assert_or_panic(vec[111] == false);
+        assert_or_panic(vec[112] == false);
+        assert_or_panic(vec[113] == true);
+        assert_or_panic(vec[114] == false);
+        assert_or_panic(vec[115] == false);
+        assert_or_panic(vec[116] == false);
+        assert_or_panic(vec[117] == false);
+        assert_or_panic(vec[118] == false);
+        assert_or_panic(vec[119] == false);
+        assert_or_panic(vec[120] == true);
+        assert_or_panic(vec[121] == true);
+        assert_or_panic(vec[122] == true);
+        assert_or_panic(vec[123] == false);
+        assert_or_panic(vec[124] == true);
+        assert_or_panic(vec[125] == false);
+        assert_or_panic(vec[126] == false);
+        assert_or_panic(vec[127] == true);
+    }
+    {
+        zig_vector_256_bool((Vector256Bool){
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+        });
+
+        Vector256Bool vec = zig_ret_vector_256_bool();
+        assert_or_panic(vec[0] == true);
+        assert_or_panic(vec[1] == true);
+        assert_or_panic(vec[2] == true);
+        assert_or_panic(vec[3] == false);
+        assert_or_panic(vec[4] == true);
+        assert_or_panic(vec[5] == false);
+        assert_or_panic(vec[6] == false);
+        assert_or_panic(vec[7] == true);
+        assert_or_panic(vec[8] == false);
+        assert_or_panic(vec[9] == false);
+        assert_or_panic(vec[10] == false);
+        assert_or_panic(vec[11] == false);
+        assert_or_panic(vec[12] == false);
+        assert_or_panic(vec[13] == false);
+        assert_or_panic(vec[14] == false);
+        assert_or_panic(vec[15] == false);
+        assert_or_panic(vec[16] == true);
+        assert_or_panic(vec[17] == false);
+        assert_or_panic(vec[18] == true);
+        assert_or_panic(vec[19] == false);
+        assert_or_panic(vec[20] == false);
+        assert_or_panic(vec[21] == true);
+        assert_or_panic(vec[22] == true);
+        assert_or_panic(vec[23] == false);
+        assert_or_panic(vec[24] == false);
+        assert_or_panic(vec[25] == true);
+        assert_or_panic(vec[26] == true);
+        assert_or_panic(vec[27] == false);
+        assert_or_panic(vec[28] == true);
+        assert_or_panic(vec[29] == true);
+        assert_or_panic(vec[30] == true);
+        assert_or_panic(vec[31] == false);
+        assert_or_panic(vec[32] == true);
+        assert_or_panic(vec[33] == false);
+        assert_or_panic(vec[34] == true);
+        assert_or_panic(vec[35] == false);
+        assert_or_panic(vec[36] == true);
+        assert_or_panic(vec[37] == false);
+        assert_or_panic(vec[38] == true);
+        assert_or_panic(vec[39] == false);
+        assert_or_panic(vec[40] == false);
+        assert_or_panic(vec[41] == false);
+        assert_or_panic(vec[42] == true);
+        assert_or_panic(vec[43] == true);
+        assert_or_panic(vec[44] == true);
+        assert_or_panic(vec[45] == false);
+        assert_or_panic(vec[46] == false);
+        assert_or_panic(vec[47] == false);
+        assert_or_panic(vec[48] == true);
+        assert_or_panic(vec[49] == false);
+        assert_or_panic(vec[50] == true);
+        assert_or_panic(vec[51] == false);
+        assert_or_panic(vec[52] == true);
+        assert_or_panic(vec[53] == false);
+        assert_or_panic(vec[54] == true);
+        assert_or_panic(vec[55] == true);
+        assert_or_panic(vec[56] == false);
+        assert_or_panic(vec[57] == false);
+        assert_or_panic(vec[58] == false);
+        assert_or_panic(vec[59] == true);
+        assert_or_panic(vec[60] == true);
+        assert_or_panic(vec[61] == true);
+        assert_or_panic(vec[62] == false);
+        assert_or_panic(vec[63] == true);
+        assert_or_panic(vec[64] == false);
+        assert_or_panic(vec[65] == true);
+        assert_or_panic(vec[66] == false);
+        assert_or_panic(vec[67] == true);
+        assert_or_panic(vec[68] == true);
+        assert_or_panic(vec[69] == false);
+        assert_or_panic(vec[70] == true);
+        assert_or_panic(vec[71] == false);
+        assert_or_panic(vec[72] == true);
+        assert_or_panic(vec[73] == true);
+        assert_or_panic(vec[74] == false);
+        assert_or_panic(vec[75] == false);
+        assert_or_panic(vec[76] == false);
+        assert_or_panic(vec[77] == false);
+        assert_or_panic(vec[78] == false);
+        assert_or_panic(vec[79] == false);
+        assert_or_panic(vec[80] == false);
+        assert_or_panic(vec[81] == false);
+        assert_or_panic(vec[82] == false);
+        assert_or_panic(vec[83] == true);
+        assert_or_panic(vec[84] == false);
+        assert_or_panic(vec[85] == false);
+        assert_or_panic(vec[86] == false);
+        assert_or_panic(vec[87] == true);
+        assert_or_panic(vec[88] == false);
+        assert_or_panic(vec[89] == true);
+        assert_or_panic(vec[90] == true);
+        assert_or_panic(vec[91] == false);
+        assert_or_panic(vec[92] == false);
+        assert_or_panic(vec[93] == true);
+        assert_or_panic(vec[94] == true);
+        assert_or_panic(vec[95] == false);
+        assert_or_panic(vec[96] == false);
+        assert_or_panic(vec[97] == true);
+        assert_or_panic(vec[98] == false);
+        assert_or_panic(vec[99] == false);
+        assert_or_panic(vec[100] == false);
+        assert_or_panic(vec[101] == false);
+        assert_or_panic(vec[102] == false);
+        assert_or_panic(vec[103] == false);
+        assert_or_panic(vec[104] == false);
+        assert_or_panic(vec[105] == true);
+        assert_or_panic(vec[106] == true);
+        assert_or_panic(vec[107] == false);
+        assert_or_panic(vec[108] == true);
+        assert_or_panic(vec[109] == false);
+        assert_or_panic(vec[110] == true);
+        assert_or_panic(vec[111] == true);
+        assert_or_panic(vec[112] == false);
+        assert_or_panic(vec[113] == false);
+        assert_or_panic(vec[114] == false);
+        assert_or_panic(vec[115] == false);
+        assert_or_panic(vec[116] == false);
+        assert_or_panic(vec[117] == false);
+        assert_or_panic(vec[118] == false);
+        assert_or_panic(vec[119] == true);
+        assert_or_panic(vec[120] == true);
+        assert_or_panic(vec[121] == true);
+        assert_or_panic(vec[122] == false);
+        assert_or_panic(vec[123] == true);
+        assert_or_panic(vec[124] == true);
+        assert_or_panic(vec[125] == false);
+        assert_or_panic(vec[126] == false);
+        assert_or_panic(vec[127] == true);
+        assert_or_panic(vec[128] == true);
+        assert_or_panic(vec[129] == true);
+        assert_or_panic(vec[130] == true);
+        assert_or_panic(vec[131] == true);
+        assert_or_panic(vec[132] == false);
+        assert_or_panic(vec[133] == true);
+        assert_or_panic(vec[134] == true);
+        assert_or_panic(vec[135] == false);
+        assert_or_panic(vec[136] == false);
+        assert_or_panic(vec[137] == true);
+        assert_or_panic(vec[138] == true);
+        assert_or_panic(vec[139] == false);
+        assert_or_panic(vec[140] == true);
+        assert_or_panic(vec[141] == false);
+        assert_or_panic(vec[142] == true);
+        assert_or_panic(vec[143] == false);
+        assert_or_panic(vec[144] == true);
+        assert_or_panic(vec[145] == true);
+        assert_or_panic(vec[146] == true);
+        assert_or_panic(vec[147] == true);
+        assert_or_panic(vec[148] == false);
+        assert_or_panic(vec[149] == false);
+        assert_or_panic(vec[150] == false);
+        assert_or_panic(vec[151] == true);
+        assert_or_panic(vec[152] == false);
+        assert_or_panic(vec[153] == true);
+        assert_or_panic(vec[154] == false);
+        assert_or_panic(vec[155] == true);
+        assert_or_panic(vec[156] == true);
+        assert_or_panic(vec[157] == false);
+        assert_or_panic(vec[158] == true);
+        assert_or_panic(vec[159] == true);
+        assert_or_panic(vec[160] == true);
+        assert_or_panic(vec[161] == true);
+        assert_or_panic(vec[162] == true);
+        assert_or_panic(vec[163] == false);
+        assert_or_panic(vec[164] == false);
+        assert_or_panic(vec[165] == true);
+        assert_or_panic(vec[166] == false);
+        assert_or_panic(vec[167] == true);
+        assert_or_panic(vec[168] == true);
+        assert_or_panic(vec[169] == true);
+        assert_or_panic(vec[170] == true);
+        assert_or_panic(vec[171] == false);
+        assert_or_panic(vec[172] == true);
+        assert_or_panic(vec[173] == true);
+        assert_or_panic(vec[174] == true);
+        assert_or_panic(vec[175] == true);
+        assert_or_panic(vec[176] == true);
+        assert_or_panic(vec[177] == true);
+        assert_or_panic(vec[178] == true);
+        assert_or_panic(vec[179] == false);
+        assert_or_panic(vec[180] == true);
+        assert_or_panic(vec[181] == false);
+        assert_or_panic(vec[182] == false);
+        assert_or_panic(vec[183] == false);
+        assert_or_panic(vec[184] == true);
+        assert_or_panic(vec[185] == false);
+        assert_or_panic(vec[186] == true);
+        assert_or_panic(vec[187] == true);
+        assert_or_panic(vec[188] == false);
+        assert_or_panic(vec[189] == true);
+        assert_or_panic(vec[190] == false);
+        assert_or_panic(vec[191] == true);
+        assert_or_panic(vec[192] == false);
+        assert_or_panic(vec[193] == true);
+        assert_or_panic(vec[194] == false);
+        assert_or_panic(vec[195] == false);
+        assert_or_panic(vec[196] == true);
+        assert_or_panic(vec[197] == true);
+        assert_or_panic(vec[198] == true);
+        assert_or_panic(vec[199] == true);
+        assert_or_panic(vec[200] == true);
+        assert_or_panic(vec[201] == true);
+        assert_or_panic(vec[202] == true);
+        assert_or_panic(vec[203] == false);
+        assert_or_panic(vec[204] == true);
+        assert_or_panic(vec[205] == false);
+        assert_or_panic(vec[206] == false);
+        assert_or_panic(vec[207] == true);
+        assert_or_panic(vec[208] == true);
+        assert_or_panic(vec[209] == false);
+        assert_or_panic(vec[210] == false);
+        assert_or_panic(vec[211] == false);
+        assert_or_panic(vec[212] == true);
+        assert_or_panic(vec[213] == true);
+        assert_or_panic(vec[214] == true);
+        assert_or_panic(vec[215] == false);
+        assert_or_panic(vec[216] == false);
+        assert_or_panic(vec[217] == true);
+        assert_or_panic(vec[218] == true);
+        assert_or_panic(vec[219] == true);
+        assert_or_panic(vec[220] == true);
+        assert_or_panic(vec[221] == false);
+        assert_or_panic(vec[222] == true);
+        assert_or_panic(vec[223] == false);
+        assert_or_panic(vec[224] == true);
+        assert_or_panic(vec[225] == true);
+        assert_or_panic(vec[226] == true);
+        assert_or_panic(vec[227] == false);
+        assert_or_panic(vec[228] == false);
+        assert_or_panic(vec[229] == false);
+        assert_or_panic(vec[230] == false);
+        assert_or_panic(vec[231] == false);
+        assert_or_panic(vec[232] == true);
+        assert_or_panic(vec[233] == true);
+        assert_or_panic(vec[234] == false);
+        assert_or_panic(vec[235] == false);
+        assert_or_panic(vec[236] == false);
+        assert_or_panic(vec[237] == true);
+        assert_or_panic(vec[238] == true);
+        assert_or_panic(vec[239] == false);
+        assert_or_panic(vec[240] == true);
+        assert_or_panic(vec[241] == true);
+        assert_or_panic(vec[242] == true);
+        assert_or_panic(vec[243] == false);
+        assert_or_panic(vec[244] == true);
+        assert_or_panic(vec[245] == true);
+        assert_or_panic(vec[246] == false);
+        assert_or_panic(vec[247] == true);
+        assert_or_panic(vec[248] == false);
+        assert_or_panic(vec[249] == false);
+        assert_or_panic(vec[250] == true);
+        assert_or_panic(vec[251] == true);
+        assert_or_panic(vec[252] == false);
+        assert_or_panic(vec[253] == true);
+        assert_or_panic(vec[254] == false);
+        assert_or_panic(vec[255] == true);
+    }
+    {
+        zig_vector_512_bool((Vector512Bool){
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+        });
+
+        Vector512Bool vec = zig_ret_vector_512_bool();
+        assert_or_panic(vec[0] == true);
+        assert_or_panic(vec[1] == true);
+        assert_or_panic(vec[2] == true);
+        assert_or_panic(vec[3] == true);
+        assert_or_panic(vec[4] == false);
+        assert_or_panic(vec[5] == true);
+        assert_or_panic(vec[6] == false);
+        assert_or_panic(vec[7] == true);
+        assert_or_panic(vec[8] == true);
+        assert_or_panic(vec[9] == true);
+        assert_or_panic(vec[10] == false);
+        assert_or_panic(vec[11] == true);
+        assert_or_panic(vec[12] == false);
+        assert_or_panic(vec[13] == false);
+        assert_or_panic(vec[14] == false);
+        assert_or_panic(vec[15] == true);
+        assert_or_panic(vec[16] == true);
+        assert_or_panic(vec[17] == false);
+        assert_or_panic(vec[18] == false);
+        assert_or_panic(vec[19] == false);
+        assert_or_panic(vec[20] == true);
+        assert_or_panic(vec[21] == true);
+        assert_or_panic(vec[22] == false);
+        assert_or_panic(vec[23] == false);
+        assert_or_panic(vec[24] == false);
+        assert_or_panic(vec[25] == false);
+        assert_or_panic(vec[26] == true);
+        assert_or_panic(vec[27] == false);
+        assert_or_panic(vec[28] == false);
+        assert_or_panic(vec[29] == false);
+        assert_or_panic(vec[30] == true);
+        assert_or_panic(vec[31] == true);
+        assert_or_panic(vec[32] == true);
+        assert_or_panic(vec[33] == true);
+        assert_or_panic(vec[34] == false);
+        assert_or_panic(vec[35] == false);
+        assert_or_panic(vec[36] == false);
+        assert_or_panic(vec[37] == true);
+        assert_or_panic(vec[38] == true);
+        assert_or_panic(vec[39] == true);
+        assert_or_panic(vec[40] == false);
+        assert_or_panic(vec[41] == false);
+        assert_or_panic(vec[42] == true);
+        assert_or_panic(vec[43] == false);
+        assert_or_panic(vec[44] == false);
+        assert_or_panic(vec[45] == true);
+        assert_or_panic(vec[46] == false);
+        assert_or_panic(vec[47] == false);
+        assert_or_panic(vec[48] == true);
+        assert_or_panic(vec[49] == true);
+        assert_or_panic(vec[50] == true);
+        assert_or_panic(vec[51] == true);
+        assert_or_panic(vec[52] == false);
+        assert_or_panic(vec[53] == false);
+        assert_or_panic(vec[54] == false);
+        assert_or_panic(vec[55] == true);
+        assert_or_panic(vec[56] == false);
+        assert_or_panic(vec[57] == true);
+        assert_or_panic(vec[58] == false);
+        assert_or_panic(vec[59] == true);
+        assert_or_panic(vec[60] == true);
+        assert_or_panic(vec[61] == false);
+        assert_or_panic(vec[62] == false);
+        assert_or_panic(vec[63] == true);
+        assert_or_panic(vec[64] == true);
+        assert_or_panic(vec[65] == false);
+        assert_or_panic(vec[66] == true);
+        assert_or_panic(vec[67] == false);
+        assert_or_panic(vec[68] == false);
+        assert_or_panic(vec[69] == false);
+        assert_or_panic(vec[70] == true);
+        assert_or_panic(vec[71] == true);
+        assert_or_panic(vec[72] == true);
+        assert_or_panic(vec[73] == true);
+        assert_or_panic(vec[74] == true);
+        assert_or_panic(vec[75] == false);
+        assert_or_panic(vec[76] == true);
+        assert_or_panic(vec[77] == false);
+        assert_or_panic(vec[78] == true);
+        assert_or_panic(vec[79] == true);
+        assert_or_panic(vec[80] == true);
+        assert_or_panic(vec[81] == true);
+        assert_or_panic(vec[82] == true);
+        assert_or_panic(vec[83] == false);
+        assert_or_panic(vec[84] == true);
+        assert_or_panic(vec[85] == true);
+        assert_or_panic(vec[86] == false);
+        assert_or_panic(vec[87] == true);
+        assert_or_panic(vec[88] == false);
+        assert_or_panic(vec[89] == false);
+        assert_or_panic(vec[90] == true);
+        assert_or_panic(vec[91] == false);
+        assert_or_panic(vec[92] == true);
+        assert_or_panic(vec[93] == false);
+        assert_or_panic(vec[94] == false);
+        assert_or_panic(vec[95] == false);
+        assert_or_panic(vec[96] == true);
+        assert_or_panic(vec[97] == true);
+        assert_or_panic(vec[98] == false);
+        assert_or_panic(vec[99] == true);
+        assert_or_panic(vec[100] == true);
+        assert_or_panic(vec[101] == false);
+        assert_or_panic(vec[102] == true);
+        assert_or_panic(vec[103] == false);
+        assert_or_panic(vec[104] == true);
+        assert_or_panic(vec[105] == false);
+        assert_or_panic(vec[106] == true);
+        assert_or_panic(vec[107] == false);
+        assert_or_panic(vec[108] == false);
+        assert_or_panic(vec[109] == true);
+        assert_or_panic(vec[110] == false);
+        assert_or_panic(vec[111] == false);
+        assert_or_panic(vec[112] == true);
+        assert_or_panic(vec[113] == false);
+        assert_or_panic(vec[114] == true);
+        assert_or_panic(vec[115] == false);
+        assert_or_panic(vec[116] == true);
+        assert_or_panic(vec[117] == false);
+        assert_or_panic(vec[118] == false);
+        assert_or_panic(vec[119] == true);
+        assert_or_panic(vec[120] == true);
+        assert_or_panic(vec[121] == true);
+        assert_or_panic(vec[122] == false);
+        assert_or_panic(vec[123] == true);
+        assert_or_panic(vec[124] == false);
+        assert_or_panic(vec[125] == false);
+        assert_or_panic(vec[126] == true);
+        assert_or_panic(vec[127] == true);
+        assert_or_panic(vec[128] == false);
+        assert_or_panic(vec[129] == true);
+        assert_or_panic(vec[130] == true);
+        assert_or_panic(vec[131] == false);
+        assert_or_panic(vec[132] == true);
+        assert_or_panic(vec[133] == true);
+        assert_or_panic(vec[134] == false);
+        assert_or_panic(vec[135] == true);
+        assert_or_panic(vec[136] == true);
+        assert_or_panic(vec[137] == false);
+        assert_or_panic(vec[138] == false);
+        assert_or_panic(vec[139] == false);
+        assert_or_panic(vec[140] == true);
+        assert_or_panic(vec[141] == false);
+        assert_or_panic(vec[142] == true);
+        assert_or_panic(vec[143] == false);
+        assert_or_panic(vec[144] == false);
+        assert_or_panic(vec[145] == false);
+        assert_or_panic(vec[146] == true);
+        assert_or_panic(vec[147] == false);
+        assert_or_panic(vec[148] == true);
+        assert_or_panic(vec[149] == false);
+        assert_or_panic(vec[150] == false);
+        assert_or_panic(vec[151] == true);
+        assert_or_panic(vec[152] == false);
+        assert_or_panic(vec[153] == true);
+        assert_or_panic(vec[154] == true);
+        assert_or_panic(vec[155] == false);
+        assert_or_panic(vec[156] == true);
+        assert_or_panic(vec[157] == true);
+        assert_or_panic(vec[158] == false);
+        assert_or_panic(vec[159] == true);
+        assert_or_panic(vec[160] == true);
+        assert_or_panic(vec[161] == false);
+        assert_or_panic(vec[162] == false);
+        assert_or_panic(vec[163] == false);
+        assert_or_panic(vec[164] == true);
+        assert_or_panic(vec[165] == false);
+        assert_or_panic(vec[166] == true);
+        assert_or_panic(vec[167] == true);
+        assert_or_panic(vec[168] == true);
+        assert_or_panic(vec[169] == true);
+        assert_or_panic(vec[170] == false);
+        assert_or_panic(vec[171] == true);
+        assert_or_panic(vec[172] == false);
+        assert_or_panic(vec[173] == false);
+        assert_or_panic(vec[174] == true);
+        assert_or_panic(vec[175] == true);
+        assert_or_panic(vec[176] == true);
+        assert_or_panic(vec[177] == false);
+        assert_or_panic(vec[178] == false);
+        assert_or_panic(vec[179] == false);
+        assert_or_panic(vec[180] == true);
+        assert_or_panic(vec[181] == false);
+        assert_or_panic(vec[182] == false);
+        assert_or_panic(vec[183] == true);
+        assert_or_panic(vec[184] == true);
+        assert_or_panic(vec[185] == false);
+        assert_or_panic(vec[186] == true);
+        assert_or_panic(vec[187] == false);
+        assert_or_panic(vec[188] == true);
+        assert_or_panic(vec[189] == true);
+        assert_or_panic(vec[190] == true);
+        assert_or_panic(vec[191] == true);
+        assert_or_panic(vec[192] == true);
+        assert_or_panic(vec[193] == true);
+        assert_or_panic(vec[194] == true);
+        assert_or_panic(vec[195] == false);
+        assert_or_panic(vec[196] == false);
+        assert_or_panic(vec[197] == false);
+        assert_or_panic(vec[198] == false);
+        assert_or_panic(vec[199] == false);
+        assert_or_panic(vec[200] == true);
+        assert_or_panic(vec[201] == false);
+        assert_or_panic(vec[202] == true);
+        assert_or_panic(vec[203] == false);
+        assert_or_panic(vec[204] == true);
+        assert_or_panic(vec[205] == true);
+        assert_or_panic(vec[206] == false);
+        assert_or_panic(vec[207] == false);
+        assert_or_panic(vec[208] == false);
+        assert_or_panic(vec[209] == true);
+        assert_or_panic(vec[210] == true);
+        assert_or_panic(vec[211] == true);
+        assert_or_panic(vec[212] == false);
+        assert_or_panic(vec[213] == false);
+        assert_or_panic(vec[214] == true);
+        assert_or_panic(vec[215] == true);
+        assert_or_panic(vec[216] == true);
+        assert_or_panic(vec[217] == false);
+        assert_or_panic(vec[218] == false);
+        assert_or_panic(vec[219] == true);
+        assert_or_panic(vec[220] == false);
+        assert_or_panic(vec[221] == true);
+        assert_or_panic(vec[222] == true);
+        assert_or_panic(vec[223] == false);
+        assert_or_panic(vec[224] == true);
+        assert_or_panic(vec[225] == false);
+        assert_or_panic(vec[226] == false);
+        assert_or_panic(vec[227] == true);
+        assert_or_panic(vec[228] == false);
+        assert_or_panic(vec[229] == false);
+        assert_or_panic(vec[230] == true);
+        assert_or_panic(vec[231] == true);
+        assert_or_panic(vec[232] == false);
+        assert_or_panic(vec[233] == true);
+        assert_or_panic(vec[234] == true);
+        assert_or_panic(vec[235] == true);
+        assert_or_panic(vec[236] == true);
+        assert_or_panic(vec[237] == true);
+        assert_or_panic(vec[238] == false);
+        assert_or_panic(vec[239] == true);
+        assert_or_panic(vec[240] == false);
+        assert_or_panic(vec[241] == false);
+        assert_or_panic(vec[242] == true);
+        assert_or_panic(vec[243] == false);
+        assert_or_panic(vec[244] == true);
+        assert_or_panic(vec[245] == false);
+        assert_or_panic(vec[246] == true);
+        assert_or_panic(vec[247] == false);
+        assert_or_panic(vec[248] == true);
+        assert_or_panic(vec[249] == true);
+        assert_or_panic(vec[250] == true);
+        assert_or_panic(vec[251] == true);
+        assert_or_panic(vec[252] == true);
+        assert_or_panic(vec[253] == false);
+        assert_or_panic(vec[254] == false);
+        assert_or_panic(vec[255] == false);
+        assert_or_panic(vec[256] == false);
+        assert_or_panic(vec[257] == false);
+        assert_or_panic(vec[258] == false);
+        assert_or_panic(vec[259] == true);
+        assert_or_panic(vec[260] == true);
+        assert_or_panic(vec[261] == true);
+        assert_or_panic(vec[262] == true);
+        assert_or_panic(vec[263] == false);
+        assert_or_panic(vec[264] == false);
+        assert_or_panic(vec[265] == false);
+        assert_or_panic(vec[266] == true);
+        assert_or_panic(vec[267] == false);
+        assert_or_panic(vec[268] == true);
+        assert_or_panic(vec[269] == false);
+        assert_or_panic(vec[270] == true);
+        assert_or_panic(vec[271] == true);
+        assert_or_panic(vec[272] == true);
+        assert_or_panic(vec[273] == true);
+        assert_or_panic(vec[274] == true);
+        assert_or_panic(vec[275] == true);
+        assert_or_panic(vec[276] == false);
+        assert_or_panic(vec[277] == false);
+        assert_or_panic(vec[278] == true);
+        assert_or_panic(vec[279] == true);
+        assert_or_panic(vec[280] == false);
+        assert_or_panic(vec[281] == false);
+        assert_or_panic(vec[282] == false);
+        assert_or_panic(vec[283] == false);
+        assert_or_panic(vec[284] == true);
+        assert_or_panic(vec[285] == true);
+        assert_or_panic(vec[286] == true);
+        assert_or_panic(vec[287] == false);
+        assert_or_panic(vec[288] == false);
+        assert_or_panic(vec[289] == false);
+        assert_or_panic(vec[290] == true);
+        assert_or_panic(vec[291] == false);
+        assert_or_panic(vec[292] == true);
+        assert_or_panic(vec[293] == true);
+        assert_or_panic(vec[294] == false);
+        assert_or_panic(vec[295] == true);
+        assert_or_panic(vec[296] == true);
+        assert_or_panic(vec[297] == true);
+        assert_or_panic(vec[298] == false);
+        assert_or_panic(vec[299] == true);
+        assert_or_panic(vec[300] == true);
+        assert_or_panic(vec[301] == false);
+        assert_or_panic(vec[302] == false);
+        assert_or_panic(vec[303] == true);
+        assert_or_panic(vec[304] == false);
+        assert_or_panic(vec[305] == false);
+        assert_or_panic(vec[306] == true);
+        assert_or_panic(vec[307] == true);
+        assert_or_panic(vec[308] == true);
+        assert_or_panic(vec[309] == true);
+        assert_or_panic(vec[310] == false);
+        assert_or_panic(vec[311] == false);
+        assert_or_panic(vec[312] == false);
+        assert_or_panic(vec[313] == false);
+        assert_or_panic(vec[314] == false);
+        assert_or_panic(vec[315] == true);
+        assert_or_panic(vec[316] == false);
+        assert_or_panic(vec[317] == false);
+        assert_or_panic(vec[318] == true);
+        assert_or_panic(vec[319] == false);
+        assert_or_panic(vec[320] == false);
+        assert_or_panic(vec[321] == true);
+        assert_or_panic(vec[322] == true);
+        assert_or_panic(vec[323] == true);
+        assert_or_panic(vec[324] == true);
+        assert_or_panic(vec[325] == false);
+        assert_or_panic(vec[326] == false);
+        assert_or_panic(vec[327] == false);
+        assert_or_panic(vec[328] == true);
+        assert_or_panic(vec[329] == true);
+        assert_or_panic(vec[330] == false);
+        assert_or_panic(vec[331] == true);
+        assert_or_panic(vec[332] == true);
+        assert_or_panic(vec[333] == false);
+        assert_or_panic(vec[334] == false);
+        assert_or_panic(vec[335] == true);
+        assert_or_panic(vec[336] == true);
+        assert_or_panic(vec[337] == false);
+        assert_or_panic(vec[338] == true);
+        assert_or_panic(vec[339] == true);
+        assert_or_panic(vec[340] == true);
+        assert_or_panic(vec[341] == false);
+        assert_or_panic(vec[342] == false);
+        assert_or_panic(vec[343] == false);
+        assert_or_panic(vec[344] == true);
+        assert_or_panic(vec[345] == true);
+        assert_or_panic(vec[346] == false);
+        assert_or_panic(vec[347] == true);
+        assert_or_panic(vec[348] == false);
+        assert_or_panic(vec[349] == true);
+        assert_or_panic(vec[350] == false);
+        assert_or_panic(vec[351] == false);
+        assert_or_panic(vec[352] == true);
+        assert_or_panic(vec[353] == false);
+        assert_or_panic(vec[354] == true);
+        assert_or_panic(vec[355] == false);
+        assert_or_panic(vec[356] == false);
+        assert_or_panic(vec[357] == false);
+        assert_or_panic(vec[358] == false);
+        assert_or_panic(vec[359] == false);
+        assert_or_panic(vec[360] == true);
+        assert_or_panic(vec[361] == true);
+        assert_or_panic(vec[362] == false);
+        assert_or_panic(vec[363] == false);
+        assert_or_panic(vec[364] == false);
+        assert_or_panic(vec[365] == false);
+        assert_or_panic(vec[366] == true);
+        assert_or_panic(vec[367] == false);
+        assert_or_panic(vec[368] == true);
+        assert_or_panic(vec[369] == false);
+        assert_or_panic(vec[370] == true);
+        assert_or_panic(vec[371] == true);
+        assert_or_panic(vec[372] == false);
+        assert_or_panic(vec[373] == true);
+        assert_or_panic(vec[374] == true);
+        assert_or_panic(vec[375] == true);
+        assert_or_panic(vec[376] == true);
+        assert_or_panic(vec[377] == true);
+        assert_or_panic(vec[378] == false);
+        assert_or_panic(vec[379] == true);
+        assert_or_panic(vec[380] == false);
+        assert_or_panic(vec[381] == true);
+        assert_or_panic(vec[382] == true);
+        assert_or_panic(vec[383] == true);
+        assert_or_panic(vec[384] == true);
+        assert_or_panic(vec[385] == true);
+        assert_or_panic(vec[386] == false);
+        assert_or_panic(vec[387] == true);
+        assert_or_panic(vec[388] == true);
+        assert_or_panic(vec[389] == false);
+        assert_or_panic(vec[390] == true);
+        assert_or_panic(vec[391] == false);
+        assert_or_panic(vec[392] == true);
+        assert_or_panic(vec[393] == false);
+        assert_or_panic(vec[394] == true);
+        assert_or_panic(vec[395] == false);
+        assert_or_panic(vec[396] == true);
+        assert_or_panic(vec[397] == false);
+        assert_or_panic(vec[398] == false);
+        assert_or_panic(vec[399] == true);
+        assert_or_panic(vec[400] == true);
+        assert_or_panic(vec[401] == true);
+        assert_or_panic(vec[402] == true);
+        assert_or_panic(vec[403] == false);
+        assert_or_panic(vec[404] == false);
+        assert_or_panic(vec[405] == true);
+        assert_or_panic(vec[406] == false);
+        assert_or_panic(vec[407] == false);
+        assert_or_panic(vec[408] == false);
+        assert_or_panic(vec[409] == true);
+        assert_or_panic(vec[410] == false);
+        assert_or_panic(vec[411] == true);
+        assert_or_panic(vec[412] == true);
+        assert_or_panic(vec[413] == false);
+        assert_or_panic(vec[414] == true);
+        assert_or_panic(vec[415] == true);
+        assert_or_panic(vec[416] == false);
+        assert_or_panic(vec[417] == true);
+        assert_or_panic(vec[418] == true);
+        assert_or_panic(vec[419] == false);
+        assert_or_panic(vec[420] == false);
+        assert_or_panic(vec[421] == true);
+        assert_or_panic(vec[422] == false);
+        assert_or_panic(vec[423] == false);
+        assert_or_panic(vec[424] == true);
+        assert_or_panic(vec[425] == false);
+        assert_or_panic(vec[426] == true);
+        assert_or_panic(vec[427] == false);
+        assert_or_panic(vec[428] == false);
+        assert_or_panic(vec[429] == true);
+        assert_or_panic(vec[430] == false);
+        assert_or_panic(vec[431] == true);
+        assert_or_panic(vec[432] == true);
+        assert_or_panic(vec[433] == false);
+        assert_or_panic(vec[434] == true);
+        assert_or_panic(vec[435] == false);
+        assert_or_panic(vec[436] == true);
+        assert_or_panic(vec[437] == false);
+        assert_or_panic(vec[438] == true);
+        assert_or_panic(vec[439] == false);
+        assert_or_panic(vec[440] == false);
+        assert_or_panic(vec[441] == true);
+        assert_or_panic(vec[442] == true);
+        assert_or_panic(vec[443] == false);
+        assert_or_panic(vec[444] == true);
+        assert_or_panic(vec[445] == true);
+        assert_or_panic(vec[446] == false);
+        assert_or_panic(vec[447] == true);
+        assert_or_panic(vec[448] == true);
+        assert_or_panic(vec[449] == false);
+        assert_or_panic(vec[450] == false);
+        assert_or_panic(vec[451] == false);
+        assert_or_panic(vec[452] == false);
+        assert_or_panic(vec[453] == false);
+        assert_or_panic(vec[454] == true);
+        assert_or_panic(vec[455] == false);
+        assert_or_panic(vec[456] == false);
+        assert_or_panic(vec[457] == true);
+        assert_or_panic(vec[458] == false);
+        assert_or_panic(vec[459] == true);
+        assert_or_panic(vec[460] == false);
+        assert_or_panic(vec[461] == false);
+        assert_or_panic(vec[462] == false);
+        assert_or_panic(vec[463] == true);
+        assert_or_panic(vec[464] == false);
+        assert_or_panic(vec[465] == true);
+        assert_or_panic(vec[466] == false);
+        assert_or_panic(vec[467] == false);
+        assert_or_panic(vec[468] == false);
+        assert_or_panic(vec[469] == false);
+        assert_or_panic(vec[470] == true);
+        assert_or_panic(vec[471] == true);
+        assert_or_panic(vec[472] == false);
+        assert_or_panic(vec[473] == true);
+        assert_or_panic(vec[474] == true);
+        assert_or_panic(vec[475] == false);
+        assert_or_panic(vec[476] == false);
+        assert_or_panic(vec[477] == true);
+        assert_or_panic(vec[478] == true);
+        assert_or_panic(vec[479] == true);
+        assert_or_panic(vec[480] == false);
+        assert_or_panic(vec[481] == false);
+        assert_or_panic(vec[482] == true);
+        assert_or_panic(vec[483] == false);
+        assert_or_panic(vec[484] == false);
+        assert_or_panic(vec[485] == false);
+        assert_or_panic(vec[486] == true);
+        assert_or_panic(vec[487] == true);
+        assert_or_panic(vec[488] == false);
+        assert_or_panic(vec[489] == false);
+        assert_or_panic(vec[490] == false);
+        assert_or_panic(vec[491] == false);
+        assert_or_panic(vec[492] == false);
+        assert_or_panic(vec[493] == true);
+        assert_or_panic(vec[494] == true);
+        assert_or_panic(vec[495] == true);
+        assert_or_panic(vec[496] == true);
+        assert_or_panic(vec[497] == false);
+        assert_or_panic(vec[498] == false);
+        assert_or_panic(vec[499] == false);
+        assert_or_panic(vec[500] == true);
+        assert_or_panic(vec[501] == false);
+        assert_or_panic(vec[502] == true);
+        assert_or_panic(vec[503] == true);
+        assert_or_panic(vec[504] == true);
+        assert_or_panic(vec[505] == true);
+        assert_or_panic(vec[506] == false);
+        assert_or_panic(vec[507] == false);
+        assert_or_panic(vec[508] == true);
+        assert_or_panic(vec[509] == true);
+        assert_or_panic(vec[510] == false);
+        assert_or_panic(vec[511] == false);
+    }
+#endif
 }
 
 void c_u8(uint8_t x) {
test/c_abi/main.zig
@@ -890,6 +890,4264 @@ test "big simd vector" {
     try expect(x[7] == 16);
 }
 
+const Vector2Bool = @Vector(2, bool);
+const Vector4Bool = @Vector(4, bool);
+const Vector8Bool = @Vector(8, bool);
+const Vector16Bool = @Vector(16, bool);
+const Vector32Bool = @Vector(32, bool);
+const Vector64Bool = @Vector(64, bool);
+const Vector128Bool = @Vector(128, bool);
+const Vector256Bool = @Vector(256, bool);
+const Vector512Bool = @Vector(512, bool);
+
+extern fn c_vector_2_bool(Vector2Bool) void;
+extern fn c_vector_4_bool(Vector4Bool) void;
+extern fn c_vector_8_bool(Vector8Bool) void;
+extern fn c_vector_16_bool(Vector16Bool) void;
+extern fn c_vector_32_bool(Vector32Bool) void;
+extern fn c_vector_64_bool(Vector64Bool) void;
+extern fn c_vector_128_bool(Vector128Bool) void;
+extern fn c_vector_256_bool(Vector256Bool) void;
+extern fn c_vector_512_bool(Vector512Bool) void;
+
+extern fn c_ret_vector_2_bool() Vector2Bool;
+extern fn c_ret_vector_4_bool() Vector4Bool;
+extern fn c_ret_vector_8_bool() Vector8Bool;
+extern fn c_ret_vector_16_bool() Vector16Bool;
+extern fn c_ret_vector_32_bool() Vector32Bool;
+extern fn c_ret_vector_64_bool() Vector64Bool;
+extern fn c_ret_vector_128_bool() Vector128Bool;
+extern fn c_ret_vector_256_bool() Vector256Bool;
+extern fn c_ret_vector_512_bool() Vector512Bool;
+
+test "bool simd vector" {
+    if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch != .powerpc) return error.SkipZigTest;
+
+    {
+        c_vector_2_bool(.{
+            true,
+            true,
+        });
+
+        const vec = c_ret_vector_2_bool();
+        try expect(vec[0] == true);
+        try expect(vec[1] == false);
+    }
+    {
+        c_vector_4_bool(.{
+            true,
+            true,
+            false,
+            true,
+        });
+
+        const vec = c_ret_vector_4_bool();
+        try expect(vec[0] == true);
+        try expect(vec[1] == false);
+        try expect(vec[2] == true);
+        try expect(vec[3] == false);
+    }
+    {
+        c_vector_8_bool(.{
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+        });
+
+        const vec = c_ret_vector_8_bool();
+        try expect(vec[0] == false);
+        try expect(vec[1] == true);
+        try expect(vec[2] == false);
+        try expect(vec[3] == false);
+        try expect(vec[4] == true);
+        try expect(vec[5] == false);
+        try expect(vec[6] == false);
+        try expect(vec[7] == true);
+    }
+    {
+        c_vector_16_bool(.{
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+        });
+
+        const vec = c_ret_vector_16_bool();
+        try expect(vec[0] == true);
+        try expect(vec[1] == true);
+        try expect(vec[2] == false);
+        try expect(vec[3] == false);
+        try expect(vec[4] == false);
+        try expect(vec[5] == false);
+        try expect(vec[6] == true);
+        try expect(vec[7] == false);
+        try expect(vec[8] == true);
+        try expect(vec[9] == false);
+        try expect(vec[10] == false);
+        try expect(vec[11] == true);
+        try expect(vec[12] == true);
+        try expect(vec[13] == false);
+        try expect(vec[14] == true);
+        try expect(vec[15] == true);
+    }
+    {
+        c_vector_32_bool(.{
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+        });
+
+        const vec = c_ret_vector_32_bool();
+        try expect(vec[0] == true);
+        try expect(vec[1] == false);
+        try expect(vec[2] == true);
+        try expect(vec[3] == true);
+        try expect(vec[4] == true);
+        try expect(vec[5] == false);
+        try expect(vec[6] == true);
+        try expect(vec[7] == false);
+        try expect(vec[8] == true);
+        try expect(vec[9] == true);
+        try expect(vec[10] == true);
+        try expect(vec[11] == false);
+        try expect(vec[12] == true);
+        try expect(vec[13] == true);
+        try expect(vec[14] == false);
+        try expect(vec[15] == false);
+        try expect(vec[16] == true);
+        try expect(vec[17] == false);
+        try expect(vec[18] == false);
+        try expect(vec[19] == false);
+        try expect(vec[20] == false);
+        try expect(vec[21] == true);
+        try expect(vec[22] == true);
+        try expect(vec[23] == true);
+        try expect(vec[24] == false);
+        try expect(vec[25] == true);
+        try expect(vec[26] == false);
+        try expect(vec[27] == false);
+        try expect(vec[28] == true);
+        try expect(vec[29] == false);
+        try expect(vec[30] == false);
+        try expect(vec[31] == false);
+    }
+    {
+        c_vector_64_bool(.{
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+        });
+
+        const vec = c_ret_vector_64_bool();
+        try expect(vec[0] == false);
+        try expect(vec[1] == true);
+        try expect(vec[2] == false);
+        try expect(vec[3] == true);
+        try expect(vec[4] == true);
+        try expect(vec[5] == true);
+        try expect(vec[6] == false);
+        try expect(vec[7] == true);
+        try expect(vec[8] == true);
+        try expect(vec[9] == true);
+        try expect(vec[10] == true);
+        try expect(vec[11] == true);
+        try expect(vec[12] == true);
+        try expect(vec[13] == false);
+        try expect(vec[14] == true);
+        try expect(vec[15] == true);
+        try expect(vec[16] == true);
+        try expect(vec[17] == false);
+        try expect(vec[18] == false);
+        try expect(vec[19] == false);
+        try expect(vec[20] == true);
+        try expect(vec[21] == true);
+        try expect(vec[22] == false);
+        try expect(vec[23] == true);
+        try expect(vec[24] == false);
+        try expect(vec[25] == true);
+        try expect(vec[26] == false);
+        try expect(vec[27] == true);
+        try expect(vec[28] == false);
+        try expect(vec[29] == true);
+        try expect(vec[30] == false);
+        try expect(vec[31] == true);
+        try expect(vec[32] == false);
+        try expect(vec[33] == false);
+        try expect(vec[34] == true);
+        try expect(vec[35] == true);
+        try expect(vec[36] == false);
+        try expect(vec[37] == false);
+        try expect(vec[38] == false);
+        try expect(vec[39] == true);
+        try expect(vec[40] == true);
+        try expect(vec[41] == true);
+        try expect(vec[42] == true);
+        try expect(vec[43] == false);
+        try expect(vec[44] == false);
+        try expect(vec[45] == false);
+        try expect(vec[46] == true);
+        try expect(vec[47] == true);
+        try expect(vec[48] == false);
+        try expect(vec[49] == false);
+        try expect(vec[50] == true);
+        try expect(vec[51] == false);
+        try expect(vec[52] == false);
+        try expect(vec[53] == false);
+        try expect(vec[54] == false);
+        try expect(vec[55] == true);
+        try expect(vec[56] == false);
+        try expect(vec[57] == false);
+        try expect(vec[58] == false);
+        try expect(vec[59] == true);
+        try expect(vec[60] == true);
+        try expect(vec[61] == true);
+        try expect(vec[62] == true);
+        try expect(vec[63] == true);
+    }
+    {
+        c_vector_128_bool(.{
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+        });
+
+        const vec = c_ret_vector_128_bool();
+        try expect(vec[0] == false);
+        try expect(vec[1] == true);
+        try expect(vec[2] == true);
+        try expect(vec[3] == false);
+        try expect(vec[4] == true);
+        try expect(vec[5] == false);
+        try expect(vec[6] == false);
+        try expect(vec[7] == true);
+        try expect(vec[8] == true);
+        try expect(vec[9] == false);
+        try expect(vec[10] == true);
+        try expect(vec[11] == false);
+        try expect(vec[12] == false);
+        try expect(vec[13] == false);
+        try expect(vec[14] == true);
+        try expect(vec[15] == false);
+        try expect(vec[16] == true);
+        try expect(vec[17] == false);
+        try expect(vec[18] == false);
+        try expect(vec[19] == true);
+        try expect(vec[20] == false);
+        try expect(vec[21] == true);
+        try expect(vec[22] == false);
+        try expect(vec[23] == false);
+        try expect(vec[24] == false);
+        try expect(vec[25] == true);
+        try expect(vec[26] == true);
+        try expect(vec[27] == true);
+        try expect(vec[28] == false);
+        try expect(vec[29] == false);
+        try expect(vec[30] == false);
+        try expect(vec[31] == false);
+        try expect(vec[32] == true);
+        try expect(vec[33] == true);
+        try expect(vec[34] == true);
+        try expect(vec[35] == false);
+        try expect(vec[36] == true);
+        try expect(vec[37] == true);
+        try expect(vec[38] == false);
+        try expect(vec[39] == false);
+        try expect(vec[40] == false);
+        try expect(vec[41] == false);
+        try expect(vec[42] == true);
+        try expect(vec[43] == true);
+        try expect(vec[44] == true);
+        try expect(vec[45] == false);
+        try expect(vec[46] == false);
+        try expect(vec[47] == false);
+        try expect(vec[48] == false);
+        try expect(vec[49] == true);
+        try expect(vec[50] == false);
+        try expect(vec[51] == false);
+        try expect(vec[52] == true);
+        try expect(vec[53] == false);
+        try expect(vec[54] == false);
+        try expect(vec[55] == false);
+        try expect(vec[56] == false);
+        try expect(vec[57] == false);
+        try expect(vec[58] == true);
+        try expect(vec[59] == true);
+        try expect(vec[60] == true);
+        try expect(vec[61] == false);
+        try expect(vec[62] == true);
+        try expect(vec[63] == true);
+        try expect(vec[64] == false);
+        try expect(vec[65] == false);
+        try expect(vec[66] == false);
+        try expect(vec[67] == false);
+        try expect(vec[68] == false);
+        try expect(vec[69] == false);
+        try expect(vec[70] == false);
+        try expect(vec[71] == false);
+        try expect(vec[72] == true);
+        try expect(vec[73] == true);
+        try expect(vec[74] == true);
+        try expect(vec[75] == true);
+        try expect(vec[76] == true);
+        try expect(vec[77] == false);
+        try expect(vec[78] == false);
+        try expect(vec[79] == false);
+        try expect(vec[80] == false);
+        try expect(vec[81] == false);
+        try expect(vec[82] == false);
+        try expect(vec[83] == true);
+        try expect(vec[84] == false);
+        try expect(vec[85] == true);
+        try expect(vec[86] == false);
+        try expect(vec[87] == true);
+        try expect(vec[88] == false);
+        try expect(vec[89] == true);
+        try expect(vec[90] == false);
+        try expect(vec[91] == true);
+        try expect(vec[92] == true);
+        try expect(vec[93] == true);
+        try expect(vec[94] == true);
+        try expect(vec[95] == false);
+        try expect(vec[96] == false);
+        try expect(vec[97] == true);
+        try expect(vec[98] == false);
+        try expect(vec[99] == false);
+        try expect(vec[100] == true);
+        try expect(vec[101] == true);
+        try expect(vec[102] == true);
+        try expect(vec[103] == true);
+        try expect(vec[104] == false);
+        try expect(vec[105] == true);
+        try expect(vec[106] == true);
+        try expect(vec[107] == true);
+        try expect(vec[108] == false);
+        try expect(vec[109] == false);
+        try expect(vec[110] == true);
+        try expect(vec[111] == false);
+        try expect(vec[112] == false);
+        try expect(vec[113] == true);
+        try expect(vec[114] == true);
+        try expect(vec[115] == false);
+        try expect(vec[116] == true);
+        try expect(vec[117] == false);
+        try expect(vec[118] == true);
+        try expect(vec[119] == true);
+        try expect(vec[120] == true);
+        try expect(vec[121] == true);
+        try expect(vec[122] == true);
+        try expect(vec[123] == false);
+        try expect(vec[124] == false);
+        try expect(vec[125] == true);
+        try expect(vec[126] == false);
+        try expect(vec[127] == true);
+    }
+    {
+        c_vector_256_bool(.{
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+        });
+
+        const vec = c_ret_vector_256_bool();
+        try expect(vec[0] == true);
+        try expect(vec[1] == false);
+        try expect(vec[2] == true);
+        try expect(vec[3] == true);
+        try expect(vec[4] == false);
+        try expect(vec[5] == false);
+        try expect(vec[6] == false);
+        try expect(vec[7] == false);
+        try expect(vec[8] == false);
+        try expect(vec[9] == true);
+        try expect(vec[10] == false);
+        try expect(vec[11] == true);
+        try expect(vec[12] == false);
+        try expect(vec[13] == true);
+        try expect(vec[14] == false);
+        try expect(vec[15] == false);
+        try expect(vec[16] == true);
+        try expect(vec[17] == true);
+        try expect(vec[18] == true);
+        try expect(vec[19] == false);
+        try expect(vec[20] == false);
+        try expect(vec[21] == false);
+        try expect(vec[22] == true);
+        try expect(vec[23] == false);
+        try expect(vec[24] == true);
+        try expect(vec[25] == false);
+        try expect(vec[26] == false);
+        try expect(vec[27] == true);
+        try expect(vec[28] == true);
+        try expect(vec[29] == true);
+        try expect(vec[30] == false);
+        try expect(vec[31] == false);
+        try expect(vec[32] == true);
+        try expect(vec[33] == true);
+        try expect(vec[34] == true);
+        try expect(vec[35] == false);
+        try expect(vec[36] == true);
+        try expect(vec[37] == true);
+        try expect(vec[38] == true);
+        try expect(vec[39] == false);
+        try expect(vec[40] == true);
+        try expect(vec[41] == false);
+        try expect(vec[42] == true);
+        try expect(vec[43] == true);
+        try expect(vec[44] == false);
+        try expect(vec[45] == true);
+        try expect(vec[46] == false);
+        try expect(vec[47] == true);
+        try expect(vec[48] == true);
+        try expect(vec[49] == false);
+        try expect(vec[50] == false);
+        try expect(vec[51] == true);
+        try expect(vec[52] == true);
+        try expect(vec[53] == false);
+        try expect(vec[54] == false);
+        try expect(vec[55] == true);
+        try expect(vec[56] == false);
+        try expect(vec[57] == true);
+        try expect(vec[58] == true);
+        try expect(vec[59] == true);
+        try expect(vec[60] == false);
+        try expect(vec[61] == true);
+        try expect(vec[62] == true);
+        try expect(vec[63] == false);
+        try expect(vec[64] == true);
+        try expect(vec[65] == true);
+        try expect(vec[66] == false);
+        try expect(vec[67] == true);
+        try expect(vec[68] == false);
+        try expect(vec[69] == true);
+        try expect(vec[70] == true);
+        try expect(vec[71] == true);
+        try expect(vec[72] == false);
+        try expect(vec[73] == true);
+        try expect(vec[74] == true);
+        try expect(vec[75] == false);
+        try expect(vec[76] == true);
+        try expect(vec[77] == true);
+        try expect(vec[78] == true);
+        try expect(vec[79] == true);
+        try expect(vec[80] == false);
+        try expect(vec[81] == true);
+        try expect(vec[82] == false);
+        try expect(vec[83] == true);
+        try expect(vec[84] == true);
+        try expect(vec[85] == true);
+        try expect(vec[86] == false);
+        try expect(vec[87] == true);
+        try expect(vec[88] == false);
+        try expect(vec[89] == true);
+        try expect(vec[90] == false);
+        try expect(vec[91] == false);
+        try expect(vec[92] == true);
+        try expect(vec[93] == false);
+        try expect(vec[94] == false);
+        try expect(vec[95] == false);
+        try expect(vec[96] == true);
+        try expect(vec[97] == true);
+        try expect(vec[98] == false);
+        try expect(vec[99] == false);
+        try expect(vec[100] == false);
+        try expect(vec[101] == true);
+        try expect(vec[102] == true);
+        try expect(vec[103] == true);
+        try expect(vec[104] == false);
+        try expect(vec[105] == false);
+        try expect(vec[106] == false);
+        try expect(vec[107] == true);
+        try expect(vec[108] == false);
+        try expect(vec[109] == true);
+        try expect(vec[110] == true);
+        try expect(vec[111] == true);
+        try expect(vec[112] == true);
+        try expect(vec[113] == true);
+        try expect(vec[114] == true);
+        try expect(vec[115] == true);
+        try expect(vec[116] == true);
+        try expect(vec[117] == false);
+        try expect(vec[118] == true);
+        try expect(vec[119] == false);
+        try expect(vec[120] == true);
+        try expect(vec[121] == false);
+        try expect(vec[122] == false);
+        try expect(vec[123] == true);
+        try expect(vec[124] == true);
+        try expect(vec[125] == false);
+        try expect(vec[126] == true);
+        try expect(vec[127] == false);
+        try expect(vec[128] == false);
+        try expect(vec[129] == false);
+        try expect(vec[130] == false);
+        try expect(vec[131] == true);
+        try expect(vec[132] == false);
+        try expect(vec[133] == false);
+        try expect(vec[134] == true);
+        try expect(vec[135] == false);
+        try expect(vec[136] == false);
+        try expect(vec[137] == false);
+        try expect(vec[138] == false);
+        try expect(vec[139] == false);
+        try expect(vec[140] == false);
+        try expect(vec[141] == true);
+        try expect(vec[142] == false);
+        try expect(vec[143] == true);
+        try expect(vec[144] == false);
+        try expect(vec[145] == true);
+        try expect(vec[146] == true);
+        try expect(vec[147] == true);
+        try expect(vec[148] == false);
+        try expect(vec[149] == true);
+        try expect(vec[150] == true);
+        try expect(vec[151] == false);
+        try expect(vec[152] == true);
+        try expect(vec[153] == true);
+        try expect(vec[154] == false);
+        try expect(vec[155] == true);
+        try expect(vec[156] == true);
+        try expect(vec[157] == true);
+        try expect(vec[158] == true);
+        try expect(vec[159] == true);
+        try expect(vec[160] == true);
+        try expect(vec[161] == true);
+        try expect(vec[162] == false);
+        try expect(vec[163] == false);
+        try expect(vec[164] == false);
+        try expect(vec[165] == true);
+        try expect(vec[166] == false);
+        try expect(vec[167] == false);
+        try expect(vec[168] == true);
+        try expect(vec[169] == false);
+        try expect(vec[170] == true);
+        try expect(vec[171] == true);
+        try expect(vec[172] == true);
+        try expect(vec[173] == false);
+        try expect(vec[174] == false);
+        try expect(vec[175] == true);
+        try expect(vec[176] == true);
+        try expect(vec[177] == true);
+        try expect(vec[178] == true);
+        try expect(vec[179] == false);
+        try expect(vec[180] == true);
+        try expect(vec[181] == true);
+        try expect(vec[182] == false);
+        try expect(vec[183] == true);
+        try expect(vec[184] == false);
+        try expect(vec[185] == false);
+        try expect(vec[186] == false);
+        try expect(vec[187] == true);
+        try expect(vec[188] == true);
+        try expect(vec[189] == true);
+        try expect(vec[190] == true);
+        try expect(vec[191] == true);
+        try expect(vec[192] == true);
+        try expect(vec[193] == true);
+        try expect(vec[194] == true);
+        try expect(vec[195] == false);
+        try expect(vec[196] == false);
+        try expect(vec[197] == true);
+        try expect(vec[198] == false);
+        try expect(vec[199] == false);
+        try expect(vec[200] == false);
+        try expect(vec[201] == true);
+        try expect(vec[202] == true);
+        try expect(vec[203] == true);
+        try expect(vec[204] == true);
+        try expect(vec[205] == true);
+        try expect(vec[206] == true);
+        try expect(vec[207] == false);
+        try expect(vec[208] == false);
+        try expect(vec[209] == false);
+        try expect(vec[210] == true);
+        try expect(vec[211] == true);
+        try expect(vec[212] == true);
+        try expect(vec[213] == false);
+        try expect(vec[214] == true);
+        try expect(vec[215] == false);
+        try expect(vec[216] == true);
+        try expect(vec[217] == false);
+        try expect(vec[218] == true);
+        try expect(vec[219] == false);
+        try expect(vec[220] == true);
+        try expect(vec[221] == true);
+        try expect(vec[222] == true);
+        try expect(vec[223] == false);
+        try expect(vec[224] == true);
+        try expect(vec[225] == false);
+        try expect(vec[226] == true);
+        try expect(vec[227] == false);
+        try expect(vec[228] == true);
+        try expect(vec[229] == false);
+        try expect(vec[230] == true);
+        try expect(vec[231] == false);
+        try expect(vec[232] == false);
+        try expect(vec[233] == true);
+        try expect(vec[234] == false);
+        try expect(vec[235] == true);
+        try expect(vec[236] == true);
+        try expect(vec[237] == false);
+        try expect(vec[238] == false);
+        try expect(vec[239] == true);
+        try expect(vec[240] == false);
+        try expect(vec[241] == false);
+        try expect(vec[242] == false);
+        try expect(vec[243] == true);
+        try expect(vec[244] == true);
+        try expect(vec[245] == false);
+        try expect(vec[246] == false);
+        try expect(vec[247] == false);
+        try expect(vec[248] == false);
+        try expect(vec[249] == false);
+        try expect(vec[250] == true);
+        try expect(vec[251] == false);
+        try expect(vec[252] == true);
+        try expect(vec[253] == false);
+        try expect(vec[254] == false);
+        try expect(vec[255] == false);
+    }
+    {
+        c_vector_512_bool(.{
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            false,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            true,
+            false,
+            true,
+            true,
+            true,
+            false,
+            false,
+            true,
+            false,
+            false,
+            false,
+            true,
+            true,
+            false,
+            true,
+            false,
+            true,
+        });
+
+        const vec = c_ret_vector_512_bool();
+        try expect(vec[0] == false);
+        try expect(vec[1] == true);
+        try expect(vec[2] == false);
+        try expect(vec[3] == false);
+        try expect(vec[4] == false);
+        try expect(vec[5] == true);
+        try expect(vec[6] == false);
+        try expect(vec[7] == false);
+        try expect(vec[8] == false);
+        try expect(vec[9] == true);
+        try expect(vec[10] == false);
+        try expect(vec[11] == false);
+        try expect(vec[12] == false);
+        try expect(vec[13] == true);
+        try expect(vec[14] == false);
+        try expect(vec[15] == true);
+        try expect(vec[16] == false);
+        try expect(vec[17] == false);
+        try expect(vec[18] == false);
+        try expect(vec[19] == false);
+        try expect(vec[20] == false);
+        try expect(vec[21] == false);
+        try expect(vec[22] == true);
+        try expect(vec[23] == true);
+        try expect(vec[24] == false);
+        try expect(vec[25] == false);
+        try expect(vec[26] == false);
+        try expect(vec[27] == false);
+        try expect(vec[28] == true);
+        try expect(vec[29] == true);
+        try expect(vec[30] == false);
+        try expect(vec[31] == true);
+        try expect(vec[32] == false);
+        try expect(vec[33] == true);
+        try expect(vec[34] == true);
+        try expect(vec[35] == true);
+        try expect(vec[36] == false);
+        try expect(vec[37] == false);
+        try expect(vec[38] == true);
+        try expect(vec[39] == true);
+        try expect(vec[40] == false);
+        try expect(vec[41] == false);
+        try expect(vec[42] == false);
+        try expect(vec[43] == false);
+        try expect(vec[44] == false);
+        try expect(vec[45] == true);
+        try expect(vec[46] == false);
+        try expect(vec[47] == true);
+        try expect(vec[48] == true);
+        try expect(vec[49] == false);
+        try expect(vec[50] == true);
+        try expect(vec[51] == true);
+        try expect(vec[52] == true);
+        try expect(vec[53] == true);
+        try expect(vec[54] == false);
+        try expect(vec[55] == false);
+        try expect(vec[56] == false);
+        try expect(vec[57] == true);
+        try expect(vec[58] == true);
+        try expect(vec[59] == false);
+        try expect(vec[60] == false);
+        try expect(vec[61] == false);
+        try expect(vec[62] == false);
+        try expect(vec[63] == true);
+        try expect(vec[64] == true);
+        try expect(vec[65] == true);
+        try expect(vec[66] == true);
+        try expect(vec[67] == true);
+        try expect(vec[68] == false);
+        try expect(vec[69] == false);
+        try expect(vec[70] == false);
+        try expect(vec[71] == false);
+        try expect(vec[72] == false);
+        try expect(vec[73] == true);
+        try expect(vec[74] == false);
+        try expect(vec[75] == true);
+        try expect(vec[76] == false);
+        try expect(vec[77] == false);
+        try expect(vec[78] == true);
+        try expect(vec[79] == true);
+        try expect(vec[80] == false);
+        try expect(vec[81] == false);
+        try expect(vec[82] == false);
+        try expect(vec[83] == true);
+        try expect(vec[84] == false);
+        try expect(vec[85] == true);
+        try expect(vec[86] == true);
+        try expect(vec[87] == true);
+        try expect(vec[88] == false);
+        try expect(vec[89] == true);
+        try expect(vec[90] == false);
+        try expect(vec[91] == false);
+        try expect(vec[92] == true);
+        try expect(vec[93] == true);
+        try expect(vec[94] == false);
+        try expect(vec[95] == true);
+        try expect(vec[96] == true);
+        try expect(vec[97] == false);
+        try expect(vec[98] == true);
+        try expect(vec[99] == false);
+        try expect(vec[100] == true);
+        try expect(vec[101] == true);
+        try expect(vec[102] == false);
+        try expect(vec[103] == true);
+        try expect(vec[104] == true);
+        try expect(vec[105] == false);
+        try expect(vec[106] == false);
+        try expect(vec[107] == false);
+        try expect(vec[108] == true);
+        try expect(vec[109] == false);
+        try expect(vec[110] == false);
+        try expect(vec[111] == false);
+        try expect(vec[112] == true);
+        try expect(vec[113] == true);
+        try expect(vec[114] == true);
+        try expect(vec[115] == false);
+        try expect(vec[116] == true);
+        try expect(vec[117] == false);
+        try expect(vec[118] == true);
+        try expect(vec[119] == false);
+        try expect(vec[120] == true);
+        try expect(vec[121] == true);
+        try expect(vec[122] == false);
+        try expect(vec[123] == true);
+        try expect(vec[124] == false);
+        try expect(vec[125] == true);
+        try expect(vec[126] == true);
+        try expect(vec[127] == true);
+        try expect(vec[128] == false);
+        try expect(vec[129] == true);
+        try expect(vec[130] == false);
+        try expect(vec[131] == false);
+        try expect(vec[132] == false);
+        try expect(vec[133] == false);
+        try expect(vec[134] == false);
+        try expect(vec[135] == false);
+        try expect(vec[136] == true);
+        try expect(vec[137] == false);
+        try expect(vec[138] == true);
+        try expect(vec[139] == false);
+        try expect(vec[140] == true);
+        try expect(vec[141] == true);
+        try expect(vec[142] == false);
+        try expect(vec[143] == true);
+        try expect(vec[144] == false);
+        try expect(vec[145] == false);
+        try expect(vec[146] == true);
+        try expect(vec[147] == false);
+        try expect(vec[148] == false);
+        try expect(vec[149] == true);
+        try expect(vec[150] == false);
+        try expect(vec[151] == true);
+        try expect(vec[152] == false);
+        try expect(vec[153] == true);
+        try expect(vec[154] == false);
+        try expect(vec[155] == false);
+        try expect(vec[156] == true);
+        try expect(vec[157] == false);
+        try expect(vec[158] == true);
+        try expect(vec[159] == true);
+        try expect(vec[160] == true);
+        try expect(vec[161] == false);
+        try expect(vec[162] == false);
+        try expect(vec[163] == true);
+        try expect(vec[164] == false);
+        try expect(vec[165] == false);
+        try expect(vec[166] == false);
+        try expect(vec[167] == true);
+        try expect(vec[168] == true);
+        try expect(vec[169] == true);
+        try expect(vec[170] == false);
+        try expect(vec[171] == true);
+        try expect(vec[172] == false);
+        try expect(vec[173] == false);
+        try expect(vec[174] == false);
+        try expect(vec[175] == false);
+        try expect(vec[176] == false);
+        try expect(vec[177] == true);
+        try expect(vec[178] == true);
+        try expect(vec[179] == false);
+        try expect(vec[180] == false);
+        try expect(vec[181] == true);
+        try expect(vec[182] == false);
+        try expect(vec[183] == false);
+        try expect(vec[184] == false);
+        try expect(vec[185] == false);
+        try expect(vec[186] == false);
+        try expect(vec[187] == true);
+        try expect(vec[188] == true);
+        try expect(vec[189] == false);
+        try expect(vec[190] == false);
+        try expect(vec[191] == false);
+        try expect(vec[192] == false);
+        try expect(vec[193] == false);
+        try expect(vec[194] == false);
+        try expect(vec[195] == true);
+        try expect(vec[196] == true);
+        try expect(vec[197] == false);
+        try expect(vec[198] == true);
+        try expect(vec[199] == true);
+        try expect(vec[200] == true);
+        try expect(vec[201] == true);
+        try expect(vec[202] == true);
+        try expect(vec[203] == true);
+        try expect(vec[204] == false);
+        try expect(vec[205] == false);
+        try expect(vec[206] == false);
+        try expect(vec[207] == false);
+        try expect(vec[208] == true);
+        try expect(vec[209] == false);
+        try expect(vec[210] == true);
+        try expect(vec[211] == true);
+        try expect(vec[212] == true);
+        try expect(vec[213] == true);
+        try expect(vec[214] == false);
+        try expect(vec[215] == false);
+        try expect(vec[216] == false);
+        try expect(vec[217] == true);
+        try expect(vec[218] == true);
+        try expect(vec[219] == false);
+        try expect(vec[220] == true);
+        try expect(vec[221] == true);
+        try expect(vec[222] == false);
+        try expect(vec[223] == false);
+        try expect(vec[224] == false);
+        try expect(vec[225] == true);
+        try expect(vec[226] == true);
+        try expect(vec[227] == true);
+        try expect(vec[228] == true);
+        try expect(vec[229] == false);
+        try expect(vec[230] == true);
+        try expect(vec[231] == false);
+        try expect(vec[232] == true);
+        try expect(vec[233] == true);
+        try expect(vec[234] == true);
+        try expect(vec[235] == true);
+        try expect(vec[236] == false);
+        try expect(vec[237] == true);
+        try expect(vec[238] == false);
+        try expect(vec[239] == true);
+        try expect(vec[240] == false);
+        try expect(vec[241] == true);
+        try expect(vec[242] == false);
+        try expect(vec[243] == false);
+        try expect(vec[244] == false);
+        try expect(vec[245] == true);
+        try expect(vec[246] == true);
+        try expect(vec[247] == false);
+        try expect(vec[248] == true);
+        try expect(vec[249] == false);
+        try expect(vec[250] == false);
+        try expect(vec[251] == false);
+        try expect(vec[252] == true);
+        try expect(vec[253] == true);
+        try expect(vec[254] == true);
+        try expect(vec[255] == true);
+        try expect(vec[256] == true);
+        try expect(vec[257] == false);
+        try expect(vec[258] == true);
+        try expect(vec[259] == true);
+        try expect(vec[260] == true);
+        try expect(vec[261] == true);
+        try expect(vec[262] == false);
+        try expect(vec[263] == true);
+        try expect(vec[264] == false);
+        try expect(vec[265] == false);
+        try expect(vec[266] == true);
+        try expect(vec[267] == false);
+        try expect(vec[268] == true);
+        try expect(vec[269] == false);
+        try expect(vec[270] == false);
+        try expect(vec[271] == true);
+        try expect(vec[272] == true);
+        try expect(vec[273] == false);
+        try expect(vec[274] == true);
+        try expect(vec[275] == false);
+        try expect(vec[276] == false);
+        try expect(vec[277] == true);
+        try expect(vec[278] == false);
+        try expect(vec[279] == false);
+        try expect(vec[280] == true);
+        try expect(vec[281] == true);
+        try expect(vec[282] == true);
+        try expect(vec[283] == false);
+        try expect(vec[284] == false);
+        try expect(vec[285] == true);
+        try expect(vec[286] == true);
+        try expect(vec[287] == true);
+        try expect(vec[288] == false);
+        try expect(vec[289] == false);
+        try expect(vec[290] == false);
+        try expect(vec[291] == false);
+        try expect(vec[292] == false);
+        try expect(vec[293] == false);
+        try expect(vec[294] == true);
+        try expect(vec[295] == false);
+        try expect(vec[296] == true);
+        try expect(vec[297] == false);
+        try expect(vec[298] == true);
+        try expect(vec[299] == true);
+        try expect(vec[300] == false);
+        try expect(vec[301] == false);
+        try expect(vec[302] == false);
+        try expect(vec[303] == false);
+        try expect(vec[304] == true);
+        try expect(vec[305] == true);
+        try expect(vec[306] == true);
+        try expect(vec[307] == true);
+        try expect(vec[308] == true);
+        try expect(vec[309] == false);
+        try expect(vec[310] == true);
+        try expect(vec[311] == true);
+        try expect(vec[312] == true);
+        try expect(vec[313] == true);
+        try expect(vec[314] == true);
+        try expect(vec[315] == false);
+        try expect(vec[316] == true);
+        try expect(vec[317] == true);
+        try expect(vec[318] == true);
+        try expect(vec[319] == false);
+        try expect(vec[320] == true);
+        try expect(vec[321] == false);
+        try expect(vec[322] == true);
+        try expect(vec[323] == true);
+        try expect(vec[324] == true);
+        try expect(vec[325] == false);
+        try expect(vec[326] == false);
+        try expect(vec[327] == true);
+        try expect(vec[328] == true);
+        try expect(vec[329] == true);
+        try expect(vec[330] == false);
+        try expect(vec[331] == false);
+        try expect(vec[332] == true);
+        try expect(vec[333] == true);
+        try expect(vec[334] == false);
+        try expect(vec[335] == true);
+        try expect(vec[336] == true);
+        try expect(vec[337] == true);
+        try expect(vec[338] == true);
+        try expect(vec[339] == true);
+        try expect(vec[340] == true);
+        try expect(vec[341] == false);
+        try expect(vec[342] == true);
+        try expect(vec[343] == false);
+        try expect(vec[344] == true);
+        try expect(vec[345] == false);
+        try expect(vec[346] == false);
+        try expect(vec[347] == false);
+        try expect(vec[348] == false);
+        try expect(vec[349] == true);
+        try expect(vec[350] == true);
+        try expect(vec[351] == true);
+        try expect(vec[352] == true);
+        try expect(vec[353] == false);
+        try expect(vec[354] == true);
+        try expect(vec[355] == false);
+        try expect(vec[356] == true);
+        try expect(vec[357] == true);
+        try expect(vec[358] == false);
+        try expect(vec[359] == true);
+        try expect(vec[360] == false);
+        try expect(vec[361] == false);
+        try expect(vec[362] == true);
+        try expect(vec[363] == false);
+        try expect(vec[364] == false);
+        try expect(vec[365] == false);
+        try expect(vec[366] == false);
+        try expect(vec[367] == false);
+        try expect(vec[368] == false);
+        try expect(vec[369] == false);
+        try expect(vec[370] == true);
+        try expect(vec[371] == false);
+        try expect(vec[372] == true);
+        try expect(vec[373] == true);
+        try expect(vec[374] == false);
+        try expect(vec[375] == false);
+        try expect(vec[376] == true);
+        try expect(vec[377] == false);
+        try expect(vec[378] == false);
+        try expect(vec[379] == true);
+        try expect(vec[380] == false);
+        try expect(vec[381] == false);
+        try expect(vec[382] == true);
+        try expect(vec[383] == false);
+        try expect(vec[384] == false);
+        try expect(vec[385] == false);
+        try expect(vec[386] == false);
+        try expect(vec[387] == true);
+        try expect(vec[388] == true);
+        try expect(vec[389] == true);
+        try expect(vec[390] == true);
+        try expect(vec[391] == true);
+        try expect(vec[392] == true);
+        try expect(vec[393] == true);
+        try expect(vec[394] == false);
+        try expect(vec[395] == true);
+        try expect(vec[396] == true);
+        try expect(vec[397] == false);
+        try expect(vec[398] == false);
+        try expect(vec[399] == false);
+        try expect(vec[400] == true);
+        try expect(vec[401] == false);
+        try expect(vec[402] == true);
+        try expect(vec[403] == true);
+        try expect(vec[404] == false);
+        try expect(vec[405] == true);
+        try expect(vec[406] == true);
+        try expect(vec[407] == true);
+        try expect(vec[408] == true);
+        try expect(vec[409] == false);
+        try expect(vec[410] == false);
+        try expect(vec[411] == false);
+        try expect(vec[412] == true);
+        try expect(vec[413] == true);
+        try expect(vec[414] == false);
+        try expect(vec[415] == true);
+        try expect(vec[416] == false);
+        try expect(vec[417] == true);
+        try expect(vec[418] == false);
+        try expect(vec[419] == false);
+        try expect(vec[420] == false);
+        try expect(vec[421] == false);
+        try expect(vec[422] == true);
+        try expect(vec[423] == true);
+        try expect(vec[424] == true);
+        try expect(vec[425] == false);
+        try expect(vec[426] == true);
+        try expect(vec[427] == false);
+        try expect(vec[428] == false);
+        try expect(vec[429] == false);
+        try expect(vec[430] == true);
+        try expect(vec[431] == true);
+        try expect(vec[432] == false);
+        try expect(vec[433] == true);
+        try expect(vec[434] == false);
+        try expect(vec[435] == false);
+        try expect(vec[436] == true);
+        try expect(vec[437] == true);
+        try expect(vec[438] == true);
+        try expect(vec[439] == true);
+        try expect(vec[440] == true);
+        try expect(vec[441] == true);
+        try expect(vec[442] == false);
+        try expect(vec[443] == false);
+        try expect(vec[444] == false);
+        try expect(vec[445] == true);
+        try expect(vec[446] == true);
+        try expect(vec[447] == true);
+        try expect(vec[448] == false);
+        try expect(vec[449] == false);
+        try expect(vec[450] == false);
+        try expect(vec[451] == false);
+        try expect(vec[452] == false);
+        try expect(vec[453] == false);
+        try expect(vec[454] == false);
+        try expect(vec[455] == false);
+        try expect(vec[456] == false);
+        try expect(vec[457] == false);
+        try expect(vec[458] == false);
+        try expect(vec[459] == true);
+        try expect(vec[460] == false);
+        try expect(vec[461] == false);
+        try expect(vec[462] == false);
+        try expect(vec[463] == true);
+        try expect(vec[464] == false);
+        try expect(vec[465] == false);
+        try expect(vec[466] == false);
+        try expect(vec[467] == false);
+        try expect(vec[468] == true);
+        try expect(vec[469] == true);
+        try expect(vec[470] == true);
+        try expect(vec[471] == true);
+        try expect(vec[472] == true);
+        try expect(vec[473] == false);
+        try expect(vec[474] == false);
+        try expect(vec[475] == true);
+        try expect(vec[476] == true);
+        try expect(vec[477] == true);
+        try expect(vec[478] == false);
+        try expect(vec[479] == true);
+        try expect(vec[480] == true);
+        try expect(vec[481] == true);
+        try expect(vec[482] == false);
+        try expect(vec[483] == true);
+        try expect(vec[484] == false);
+        try expect(vec[485] == true);
+        try expect(vec[486] == false);
+        try expect(vec[487] == true);
+        try expect(vec[488] == false);
+        try expect(vec[489] == true);
+        try expect(vec[490] == true);
+        try expect(vec[491] == true);
+        try expect(vec[492] == true);
+        try expect(vec[493] == false);
+        try expect(vec[494] == true);
+        try expect(vec[495] == true);
+        try expect(vec[496] == false);
+        try expect(vec[497] == true);
+        try expect(vec[498] == false);
+        try expect(vec[499] == false);
+        try expect(vec[500] == false);
+        try expect(vec[501] == false);
+        try expect(vec[502] == false);
+        try expect(vec[503] == false);
+        try expect(vec[504] == false);
+        try expect(vec[505] == false);
+        try expect(vec[506] == false);
+        try expect(vec[507] == true);
+        try expect(vec[508] == true);
+        try expect(vec[509] == false);
+        try expect(vec[510] == true);
+        try expect(vec[511] == false);
+    }
+}
+
+comptime {
+    skip: {
+        if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .wasm32) break :skip;
+        if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .x86_64) break :skip;
+
+        _ = struct {
+            export fn zig_vector_2_bool(vec: Vector2Bool) void {
+                expect(vec[0] == false) catch @panic("test failure");
+                expect(vec[1] == true) catch @panic("test failure");
+            }
+
+            export fn zig_vector_4_bool(vec: Vector4Bool) void {
+                expect(vec[0] == false) catch @panic("test failure");
+                expect(vec[1] == false) catch @panic("test failure");
+                expect(vec[2] == false) catch @panic("test failure");
+                expect(vec[3] == false) catch @panic("test failure");
+            }
+
+            export fn zig_vector_8_bool(vec: Vector8Bool) void {
+                expect(vec[0] == true) catch @panic("test failure");
+                expect(vec[1] == true) catch @panic("test failure");
+                expect(vec[2] == false) catch @panic("test failure");
+                expect(vec[3] == true) catch @panic("test failure");
+                expect(vec[4] == false) catch @panic("test failure");
+                expect(vec[5] == true) catch @panic("test failure");
+                expect(vec[6] == true) catch @panic("test failure");
+                expect(vec[7] == false) catch @panic("test failure");
+            }
+
+            export fn zig_vector_16_bool(vec: Vector16Bool) void {
+                expect(vec[0] == true) catch @panic("test failure");
+                expect(vec[1] == false) catch @panic("test failure");
+                expect(vec[2] == true) catch @panic("test failure");
+                expect(vec[3] == true) catch @panic("test failure");
+                expect(vec[4] == true) catch @panic("test failure");
+                expect(vec[5] == false) catch @panic("test failure");
+                expect(vec[6] == false) catch @panic("test failure");
+                expect(vec[7] == false) catch @panic("test failure");
+                expect(vec[8] == true) catch @panic("test failure");
+                expect(vec[9] == true) catch @panic("test failure");
+                expect(vec[10] == true) catch @panic("test failure");
+                expect(vec[11] == true) catch @panic("test failure");
+                expect(vec[12] == false) catch @panic("test failure");
+                expect(vec[13] == false) catch @panic("test failure");
+                expect(vec[14] == false) catch @panic("test failure");
+                expect(vec[15] == true) catch @panic("test failure");
+            }
+
+            export fn zig_vector_32_bool(vec: Vector32Bool) void {
+                expect(vec[0] == false) catch @panic("test failure");
+                expect(vec[1] == false) catch @panic("test failure");
+                expect(vec[2] == false) catch @panic("test failure");
+                expect(vec[3] == true) catch @panic("test failure");
+                expect(vec[4] == true) catch @panic("test failure");
+                expect(vec[5] == false) catch @panic("test failure");
+                expect(vec[6] == false) catch @panic("test failure");
+                expect(vec[7] == true) catch @panic("test failure");
+                expect(vec[8] == false) catch @panic("test failure");
+                expect(vec[9] == true) catch @panic("test failure");
+                expect(vec[10] == true) catch @panic("test failure");
+                expect(vec[11] == true) catch @panic("test failure");
+                expect(vec[12] == false) catch @panic("test failure");
+                expect(vec[13] == false) catch @panic("test failure");
+                expect(vec[14] == true) catch @panic("test failure");
+                expect(vec[15] == true) catch @panic("test failure");
+                expect(vec[16] == true) catch @panic("test failure");
+                expect(vec[17] == true) catch @panic("test failure");
+                expect(vec[18] == true) catch @panic("test failure");
+                expect(vec[19] == false) catch @panic("test failure");
+                expect(vec[20] == true) catch @panic("test failure");
+                expect(vec[21] == true) catch @panic("test failure");
+                expect(vec[22] == true) catch @panic("test failure");
+                expect(vec[23] == false) catch @panic("test failure");
+                expect(vec[24] == false) catch @panic("test failure");
+                expect(vec[25] == true) catch @panic("test failure");
+                expect(vec[26] == true) catch @panic("test failure");
+                expect(vec[27] == false) catch @panic("test failure");
+                expect(vec[28] == true) catch @panic("test failure");
+                expect(vec[29] == true) catch @panic("test failure");
+                expect(vec[30] == false) catch @panic("test failure");
+                expect(vec[31] == true) catch @panic("test failure");
+            }
+
+            export fn zig_vector_64_bool(vec: Vector64Bool) void {
+                expect(vec[0] == true) catch @panic("test failure");
+                expect(vec[1] == true) catch @panic("test failure");
+                expect(vec[2] == false) catch @panic("test failure");
+                expect(vec[3] == true) catch @panic("test failure");
+                expect(vec[4] == false) catch @panic("test failure");
+                expect(vec[5] == true) catch @panic("test failure");
+                expect(vec[6] == false) catch @panic("test failure");
+                expect(vec[7] == false) catch @panic("test failure");
+                expect(vec[8] == true) catch @panic("test failure");
+                expect(vec[9] == true) catch @panic("test failure");
+                expect(vec[10] == true) catch @panic("test failure");
+                expect(vec[11] == true) catch @panic("test failure");
+                expect(vec[12] == true) catch @panic("test failure");
+                expect(vec[13] == true) catch @panic("test failure");
+                expect(vec[14] == true) catch @panic("test failure");
+                expect(vec[15] == false) catch @panic("test failure");
+                expect(vec[16] == false) catch @panic("test failure");
+                expect(vec[17] == true) catch @panic("test failure");
+                expect(vec[18] == true) catch @panic("test failure");
+                expect(vec[19] == false) catch @panic("test failure");
+                expect(vec[20] == true) catch @panic("test failure");
+                expect(vec[21] == true) catch @panic("test failure");
+                expect(vec[22] == true) catch @panic("test failure");
+                expect(vec[23] == true) catch @panic("test failure");
+                expect(vec[24] == false) catch @panic("test failure");
+                expect(vec[25] == false) catch @panic("test failure");
+                expect(vec[26] == true) catch @panic("test failure");
+                expect(vec[27] == false) catch @panic("test failure");
+                expect(vec[28] == false) catch @panic("test failure");
+                expect(vec[29] == true) catch @panic("test failure");
+                expect(vec[30] == false) catch @panic("test failure");
+                expect(vec[31] == true) catch @panic("test failure");
+                expect(vec[32] == false) catch @panic("test failure");
+                expect(vec[33] == true) catch @panic("test failure");
+                expect(vec[34] == true) catch @panic("test failure");
+                expect(vec[35] == false) catch @panic("test failure");
+                expect(vec[36] == true) catch @panic("test failure");
+                expect(vec[37] == true) catch @panic("test failure");
+                expect(vec[38] == false) catch @panic("test failure");
+                expect(vec[39] == false) catch @panic("test failure");
+                expect(vec[40] == true) catch @panic("test failure");
+                expect(vec[41] == true) catch @panic("test failure");
+                expect(vec[42] == true) catch @panic("test failure");
+                expect(vec[43] == true) catch @panic("test failure");
+                expect(vec[44] == true) catch @panic("test failure");
+                expect(vec[45] == false) catch @panic("test failure");
+                expect(vec[46] == true) catch @panic("test failure");
+                expect(vec[47] == false) catch @panic("test failure");
+                expect(vec[48] == false) catch @panic("test failure");
+                expect(vec[49] == false) catch @panic("test failure");
+                expect(vec[50] == false) catch @panic("test failure");
+                expect(vec[51] == false) catch @panic("test failure");
+                expect(vec[52] == true) catch @panic("test failure");
+                expect(vec[53] == false) catch @panic("test failure");
+                expect(vec[54] == false) catch @panic("test failure");
+                expect(vec[55] == true) catch @panic("test failure");
+                expect(vec[56] == true) catch @panic("test failure");
+                expect(vec[57] == false) catch @panic("test failure");
+                expect(vec[58] == false) catch @panic("test failure");
+                expect(vec[59] == false) catch @panic("test failure");
+                expect(vec[60] == true) catch @panic("test failure");
+                expect(vec[61] == true) catch @panic("test failure");
+                expect(vec[62] == true) catch @panic("test failure");
+                expect(vec[63] == true) catch @panic("test failure");
+            }
+
+            export fn zig_vector_128_bool(vec: Vector128Bool) void {
+                expect(vec[0] == true) catch @panic("test failure");
+                expect(vec[1] == true) catch @panic("test failure");
+                expect(vec[2] == false) catch @panic("test failure");
+                expect(vec[3] == true) catch @panic("test failure");
+                expect(vec[4] == true) catch @panic("test failure");
+                expect(vec[5] == false) catch @panic("test failure");
+                expect(vec[6] == false) catch @panic("test failure");
+                expect(vec[7] == true) catch @panic("test failure");
+                expect(vec[8] == true) catch @panic("test failure");
+                expect(vec[9] == true) catch @panic("test failure");
+                expect(vec[10] == true) catch @panic("test failure");
+                expect(vec[11] == true) catch @panic("test failure");
+                expect(vec[12] == false) catch @panic("test failure");
+                expect(vec[13] == false) catch @panic("test failure");
+                expect(vec[14] == false) catch @panic("test failure");
+                expect(vec[15] == true) catch @panic("test failure");
+                expect(vec[16] == false) catch @panic("test failure");
+                expect(vec[17] == true) catch @panic("test failure");
+                expect(vec[18] == false) catch @panic("test failure");
+                expect(vec[19] == false) catch @panic("test failure");
+                expect(vec[20] == true) catch @panic("test failure");
+                expect(vec[21] == false) catch @panic("test failure");
+                expect(vec[22] == true) catch @panic("test failure");
+                expect(vec[23] == false) catch @panic("test failure");
+                expect(vec[24] == false) catch @panic("test failure");
+                expect(vec[25] == false) catch @panic("test failure");
+                expect(vec[26] == true) catch @panic("test failure");
+                expect(vec[27] == false) catch @panic("test failure");
+                expect(vec[28] == true) catch @panic("test failure");
+                expect(vec[29] == true) catch @panic("test failure");
+                expect(vec[30] == false) catch @panic("test failure");
+                expect(vec[31] == true) catch @panic("test failure");
+                expect(vec[32] == false) catch @panic("test failure");
+                expect(vec[33] == true) catch @panic("test failure");
+                expect(vec[34] == true) catch @panic("test failure");
+                expect(vec[35] == false) catch @panic("test failure");
+                expect(vec[36] == false) catch @panic("test failure");
+                expect(vec[37] == false) catch @panic("test failure");
+                expect(vec[38] == false) catch @panic("test failure");
+                expect(vec[39] == true) catch @panic("test failure");
+                expect(vec[40] == true) catch @panic("test failure");
+                expect(vec[41] == false) catch @panic("test failure");
+                expect(vec[42] == true) catch @panic("test failure");
+                expect(vec[43] == false) catch @panic("test failure");
+                expect(vec[44] == false) catch @panic("test failure");
+                expect(vec[45] == true) catch @panic("test failure");
+                expect(vec[46] == false) catch @panic("test failure");
+                expect(vec[47] == false) catch @panic("test failure");
+                expect(vec[48] == true) catch @panic("test failure");
+                expect(vec[49] == true) catch @panic("test failure");
+                expect(vec[50] == false) catch @panic("test failure");
+                expect(vec[51] == false) catch @panic("test failure");
+                expect(vec[52] == true) catch @panic("test failure");
+                expect(vec[53] == false) catch @panic("test failure");
+                expect(vec[54] == false) catch @panic("test failure");
+                expect(vec[55] == true) catch @panic("test failure");
+                expect(vec[56] == true) catch @panic("test failure");
+                expect(vec[57] == true) catch @panic("test failure");
+                expect(vec[58] == true) catch @panic("test failure");
+                expect(vec[59] == true) catch @panic("test failure");
+                expect(vec[60] == true) catch @panic("test failure");
+                expect(vec[61] == true) catch @panic("test failure");
+                expect(vec[62] == true) catch @panic("test failure");
+                expect(vec[63] == false) catch @panic("test failure");
+                expect(vec[64] == false) catch @panic("test failure");
+                expect(vec[65] == true) catch @panic("test failure");
+                expect(vec[66] == false) catch @panic("test failure");
+                expect(vec[67] == true) catch @panic("test failure");
+                expect(vec[68] == true) catch @panic("test failure");
+                expect(vec[69] == true) catch @panic("test failure");
+                expect(vec[70] == true) catch @panic("test failure");
+                expect(vec[71] == false) catch @panic("test failure");
+                expect(vec[72] == false) catch @panic("test failure");
+                expect(vec[73] == false) catch @panic("test failure");
+                expect(vec[74] == true) catch @panic("test failure");
+                expect(vec[75] == true) catch @panic("test failure");
+                expect(vec[76] == false) catch @panic("test failure");
+                expect(vec[77] == true) catch @panic("test failure");
+                expect(vec[78] == true) catch @panic("test failure");
+                expect(vec[79] == true) catch @panic("test failure");
+                expect(vec[80] == true) catch @panic("test failure");
+                expect(vec[81] == false) catch @panic("test failure");
+                expect(vec[82] == true) catch @panic("test failure");
+                expect(vec[83] == true) catch @panic("test failure");
+                expect(vec[84] == true) catch @panic("test failure");
+                expect(vec[85] == true) catch @panic("test failure");
+                expect(vec[86] == true) catch @panic("test failure");
+                expect(vec[87] == true) catch @panic("test failure");
+                expect(vec[88] == false) catch @panic("test failure");
+                expect(vec[89] == true) catch @panic("test failure");
+                expect(vec[90] == true) catch @panic("test failure");
+                expect(vec[91] == true) catch @panic("test failure");
+                expect(vec[92] == true) catch @panic("test failure");
+                expect(vec[93] == true) catch @panic("test failure");
+                expect(vec[94] == true) catch @panic("test failure");
+                expect(vec[95] == false) catch @panic("test failure");
+                expect(vec[96] == false) catch @panic("test failure");
+                expect(vec[97] == false) catch @panic("test failure");
+                expect(vec[98] == true) catch @panic("test failure");
+                expect(vec[99] == true) catch @panic("test failure");
+                expect(vec[100] == true) catch @panic("test failure");
+                expect(vec[101] == true) catch @panic("test failure");
+                expect(vec[102] == true) catch @panic("test failure");
+                expect(vec[103] == true) catch @panic("test failure");
+                expect(vec[104] == true) catch @panic("test failure");
+                expect(vec[105] == false) catch @panic("test failure");
+                expect(vec[106] == false) catch @panic("test failure");
+                expect(vec[107] == false) catch @panic("test failure");
+                expect(vec[108] == false) catch @panic("test failure");
+                expect(vec[109] == false) catch @panic("test failure");
+                expect(vec[110] == true) catch @panic("test failure");
+                expect(vec[111] == true) catch @panic("test failure");
+                expect(vec[112] == true) catch @panic("test failure");
+                expect(vec[113] == false) catch @panic("test failure");
+                expect(vec[114] == false) catch @panic("test failure");
+                expect(vec[115] == false) catch @panic("test failure");
+                expect(vec[116] == false) catch @panic("test failure");
+                expect(vec[117] == false) catch @panic("test failure");
+                expect(vec[118] == true) catch @panic("test failure");
+                expect(vec[119] == false) catch @panic("test failure");
+                expect(vec[120] == false) catch @panic("test failure");
+                expect(vec[121] == false) catch @panic("test failure");
+                expect(vec[122] == false) catch @panic("test failure");
+                expect(vec[123] == true) catch @panic("test failure");
+                expect(vec[124] == true) catch @panic("test failure");
+                expect(vec[125] == false) catch @panic("test failure");
+                expect(vec[126] == true) catch @panic("test failure");
+                expect(vec[127] == false) catch @panic("test failure");
+            }
+
+            export fn zig_vector_256_bool(vec: Vector256Bool) void {
+                expect(vec[0] == false) catch @panic("test failure");
+                expect(vec[1] == false) catch @panic("test failure");
+                expect(vec[2] == false) catch @panic("test failure");
+                expect(vec[3] == false) catch @panic("test failure");
+                expect(vec[4] == true) catch @panic("test failure");
+                expect(vec[5] == true) catch @panic("test failure");
+                expect(vec[6] == false) catch @panic("test failure");
+                expect(vec[7] == false) catch @panic("test failure");
+                expect(vec[8] == false) catch @panic("test failure");
+                expect(vec[9] == true) catch @panic("test failure");
+                expect(vec[10] == true) catch @panic("test failure");
+                expect(vec[11] == false) catch @panic("test failure");
+                expect(vec[12] == true) catch @panic("test failure");
+                expect(vec[13] == false) catch @panic("test failure");
+                expect(vec[14] == false) catch @panic("test failure");
+                expect(vec[15] == false) catch @panic("test failure");
+                expect(vec[16] == false) catch @panic("test failure");
+                expect(vec[17] == true) catch @panic("test failure");
+                expect(vec[18] == true) catch @panic("test failure");
+                expect(vec[19] == true) catch @panic("test failure");
+                expect(vec[20] == false) catch @panic("test failure");
+                expect(vec[21] == true) catch @panic("test failure");
+                expect(vec[22] == true) catch @panic("test failure");
+                expect(vec[23] == false) catch @panic("test failure");
+                expect(vec[24] == true) catch @panic("test failure");
+                expect(vec[25] == false) catch @panic("test failure");
+                expect(vec[26] == false) catch @panic("test failure");
+                expect(vec[27] == true) catch @panic("test failure");
+                expect(vec[28] == true) catch @panic("test failure");
+                expect(vec[29] == true) catch @panic("test failure");
+                expect(vec[30] == false) catch @panic("test failure");
+                expect(vec[31] == true) catch @panic("test failure");
+                expect(vec[32] == false) catch @panic("test failure");
+                expect(vec[33] == true) catch @panic("test failure");
+                expect(vec[34] == false) catch @panic("test failure");
+                expect(vec[35] == false) catch @panic("test failure");
+                expect(vec[36] == false) catch @panic("test failure");
+                expect(vec[37] == true) catch @panic("test failure");
+                expect(vec[38] == false) catch @panic("test failure");
+                expect(vec[39] == false) catch @panic("test failure");
+                expect(vec[40] == true) catch @panic("test failure");
+                expect(vec[41] == true) catch @panic("test failure");
+                expect(vec[42] == false) catch @panic("test failure");
+                expect(vec[43] == true) catch @panic("test failure");
+                expect(vec[44] == true) catch @panic("test failure");
+                expect(vec[45] == false) catch @panic("test failure");
+                expect(vec[46] == true) catch @panic("test failure");
+                expect(vec[47] == false) catch @panic("test failure");
+                expect(vec[48] == true) catch @panic("test failure");
+                expect(vec[49] == false) catch @panic("test failure");
+                expect(vec[50] == true) catch @panic("test failure");
+                expect(vec[51] == false) catch @panic("test failure");
+                expect(vec[52] == true) catch @panic("test failure");
+                expect(vec[53] == true) catch @panic("test failure");
+                expect(vec[54] == true) catch @panic("test failure");
+                expect(vec[55] == false) catch @panic("test failure");
+                expect(vec[56] == false) catch @panic("test failure");
+                expect(vec[57] == true) catch @panic("test failure");
+                expect(vec[58] == true) catch @panic("test failure");
+                expect(vec[59] == false) catch @panic("test failure");
+                expect(vec[60] == false) catch @panic("test failure");
+                expect(vec[61] == true) catch @panic("test failure");
+                expect(vec[62] == true) catch @panic("test failure");
+                expect(vec[63] == false) catch @panic("test failure");
+                expect(vec[64] == false) catch @panic("test failure");
+                expect(vec[65] == false) catch @panic("test failure");
+                expect(vec[66] == true) catch @panic("test failure");
+                expect(vec[67] == true) catch @panic("test failure");
+                expect(vec[68] == false) catch @panic("test failure");
+                expect(vec[69] == true) catch @panic("test failure");
+                expect(vec[70] == false) catch @panic("test failure");
+                expect(vec[71] == true) catch @panic("test failure");
+                expect(vec[72] == false) catch @panic("test failure");
+                expect(vec[73] == true) catch @panic("test failure");
+                expect(vec[74] == false) catch @panic("test failure");
+                expect(vec[75] == false) catch @panic("test failure");
+                expect(vec[76] == true) catch @panic("test failure");
+                expect(vec[77] == false) catch @panic("test failure");
+                expect(vec[78] == false) catch @panic("test failure");
+                expect(vec[79] == false) catch @panic("test failure");
+                expect(vec[80] == false) catch @panic("test failure");
+                expect(vec[81] == false) catch @panic("test failure");
+                expect(vec[82] == true) catch @panic("test failure");
+                expect(vec[83] == false) catch @panic("test failure");
+                expect(vec[84] == false) catch @panic("test failure");
+                expect(vec[85] == false) catch @panic("test failure");
+                expect(vec[86] == true) catch @panic("test failure");
+                expect(vec[87] == true) catch @panic("test failure");
+                expect(vec[88] == true) catch @panic("test failure");
+                expect(vec[89] == false) catch @panic("test failure");
+                expect(vec[90] == true) catch @panic("test failure");
+                expect(vec[91] == false) catch @panic("test failure");
+                expect(vec[92] == true) catch @panic("test failure");
+                expect(vec[93] == false) catch @panic("test failure");
+                expect(vec[94] == true) catch @panic("test failure");
+                expect(vec[95] == true) catch @panic("test failure");
+                expect(vec[96] == true) catch @panic("test failure");
+                expect(vec[97] == true) catch @panic("test failure");
+                expect(vec[98] == false) catch @panic("test failure");
+                expect(vec[99] == true) catch @panic("test failure");
+                expect(vec[100] == false) catch @panic("test failure");
+                expect(vec[101] == true) catch @panic("test failure");
+                expect(vec[102] == true) catch @panic("test failure");
+                expect(vec[103] == false) catch @panic("test failure");
+                expect(vec[104] == false) catch @panic("test failure");
+                expect(vec[105] == true) catch @panic("test failure");
+                expect(vec[106] == false) catch @panic("test failure");
+                expect(vec[107] == true) catch @panic("test failure");
+                expect(vec[108] == false) catch @panic("test failure");
+                expect(vec[109] == false) catch @panic("test failure");
+                expect(vec[110] == false) catch @panic("test failure");
+                expect(vec[111] == false) catch @panic("test failure");
+                expect(vec[112] == false) catch @panic("test failure");
+                expect(vec[113] == false) catch @panic("test failure");
+                expect(vec[114] == false) catch @panic("test failure");
+                expect(vec[115] == false) catch @panic("test failure");
+                expect(vec[116] == false) catch @panic("test failure");
+                expect(vec[117] == false) catch @panic("test failure");
+                expect(vec[118] == false) catch @panic("test failure");
+                expect(vec[119] == false) catch @panic("test failure");
+                expect(vec[120] == false) catch @panic("test failure");
+                expect(vec[121] == false) catch @panic("test failure");
+                expect(vec[122] == true) catch @panic("test failure");
+                expect(vec[123] == true) catch @panic("test failure");
+                expect(vec[124] == false) catch @panic("test failure");
+                expect(vec[125] == false) catch @panic("test failure");
+                expect(vec[126] == false) catch @panic("test failure");
+                expect(vec[127] == true) catch @panic("test failure");
+                expect(vec[128] == true) catch @panic("test failure");
+                expect(vec[129] == true) catch @panic("test failure");
+                expect(vec[130] == true) catch @panic("test failure");
+                expect(vec[131] == false) catch @panic("test failure");
+                expect(vec[132] == false) catch @panic("test failure");
+                expect(vec[133] == false) catch @panic("test failure");
+                expect(vec[134] == true) catch @panic("test failure");
+                expect(vec[135] == true) catch @panic("test failure");
+                expect(vec[136] == false) catch @panic("test failure");
+                expect(vec[137] == false) catch @panic("test failure");
+                expect(vec[138] == true) catch @panic("test failure");
+                expect(vec[139] == true) catch @panic("test failure");
+                expect(vec[140] == true) catch @panic("test failure");
+                expect(vec[141] == true) catch @panic("test failure");
+                expect(vec[142] == true) catch @panic("test failure");
+                expect(vec[143] == false) catch @panic("test failure");
+                expect(vec[144] == true) catch @panic("test failure");
+                expect(vec[145] == true) catch @panic("test failure");
+                expect(vec[146] == true) catch @panic("test failure");
+                expect(vec[147] == false) catch @panic("test failure");
+                expect(vec[148] == false) catch @panic("test failure");
+                expect(vec[149] == false) catch @panic("test failure");
+                expect(vec[150] == false) catch @panic("test failure");
+                expect(vec[151] == false) catch @panic("test failure");
+                expect(vec[152] == false) catch @panic("test failure");
+                expect(vec[153] == false) catch @panic("test failure");
+                expect(vec[154] == true) catch @panic("test failure");
+                expect(vec[155] == false) catch @panic("test failure");
+                expect(vec[156] == false) catch @panic("test failure");
+                expect(vec[157] == false) catch @panic("test failure");
+                expect(vec[158] == true) catch @panic("test failure");
+                expect(vec[159] == true) catch @panic("test failure");
+                expect(vec[160] == false) catch @panic("test failure");
+                expect(vec[161] == true) catch @panic("test failure");
+                expect(vec[162] == false) catch @panic("test failure");
+                expect(vec[163] == false) catch @panic("test failure");
+                expect(vec[164] == false) catch @panic("test failure");
+                expect(vec[165] == true) catch @panic("test failure");
+                expect(vec[166] == false) catch @panic("test failure");
+                expect(vec[167] == true) catch @panic("test failure");
+                expect(vec[168] == false) catch @panic("test failure");
+                expect(vec[169] == false) catch @panic("test failure");
+                expect(vec[170] == false) catch @panic("test failure");
+                expect(vec[171] == false) catch @panic("test failure");
+                expect(vec[172] == true) catch @panic("test failure");
+                expect(vec[173] == true) catch @panic("test failure");
+                expect(vec[174] == true) catch @panic("test failure");
+                expect(vec[175] == true) catch @panic("test failure");
+                expect(vec[176] == true) catch @panic("test failure");
+                expect(vec[177] == true) catch @panic("test failure");
+                expect(vec[178] == false) catch @panic("test failure");
+                expect(vec[179] == true) catch @panic("test failure");
+                expect(vec[180] == true) catch @panic("test failure");
+                expect(vec[181] == false) catch @panic("test failure");
+                expect(vec[182] == true) catch @panic("test failure");
+                expect(vec[183] == false) catch @panic("test failure");
+                expect(vec[184] == true) catch @panic("test failure");
+                expect(vec[185] == false) catch @panic("test failure");
+                expect(vec[186] == true) catch @panic("test failure");
+                expect(vec[187] == false) catch @panic("test failure");
+                expect(vec[188] == true) catch @panic("test failure");
+                expect(vec[189] == false) catch @panic("test failure");
+                expect(vec[190] == false) catch @panic("test failure");
+                expect(vec[191] == false) catch @panic("test failure");
+                expect(vec[192] == false) catch @panic("test failure");
+                expect(vec[193] == true) catch @panic("test failure");
+                expect(vec[194] == true) catch @panic("test failure");
+                expect(vec[195] == true) catch @panic("test failure");
+                expect(vec[196] == false) catch @panic("test failure");
+                expect(vec[197] == false) catch @panic("test failure");
+                expect(vec[198] == true) catch @panic("test failure");
+                expect(vec[199] == false) catch @panic("test failure");
+                expect(vec[200] == false) catch @panic("test failure");
+                expect(vec[201] == true) catch @panic("test failure");
+                expect(vec[202] == true) catch @panic("test failure");
+                expect(vec[203] == false) catch @panic("test failure");
+                expect(vec[204] == true) catch @panic("test failure");
+                expect(vec[205] == false) catch @panic("test failure");
+                expect(vec[206] == true) catch @panic("test failure");
+                expect(vec[207] == false) catch @panic("test failure");
+                expect(vec[208] == false) catch @panic("test failure");
+                expect(vec[209] == false) catch @panic("test failure");
+                expect(vec[210] == true) catch @panic("test failure");
+                expect(vec[211] == true) catch @panic("test failure");
+                expect(vec[212] == false) catch @panic("test failure");
+                expect(vec[213] == false) catch @panic("test failure");
+                expect(vec[214] == false) catch @panic("test failure");
+                expect(vec[215] == true) catch @panic("test failure");
+                expect(vec[216] == false) catch @panic("test failure");
+                expect(vec[217] == true) catch @panic("test failure");
+                expect(vec[218] == true) catch @panic("test failure");
+                expect(vec[219] == true) catch @panic("test failure");
+                expect(vec[220] == false) catch @panic("test failure");
+                expect(vec[221] == true) catch @panic("test failure");
+                expect(vec[222] == false) catch @panic("test failure");
+                expect(vec[223] == true) catch @panic("test failure");
+                expect(vec[224] == false) catch @panic("test failure");
+                expect(vec[225] == false) catch @panic("test failure");
+                expect(vec[226] == false) catch @panic("test failure");
+                expect(vec[227] == true) catch @panic("test failure");
+                expect(vec[228] == true) catch @panic("test failure");
+                expect(vec[229] == false) catch @panic("test failure");
+                expect(vec[230] == false) catch @panic("test failure");
+                expect(vec[231] == false) catch @panic("test failure");
+                expect(vec[232] == false) catch @panic("test failure");
+                expect(vec[233] == false) catch @panic("test failure");
+                expect(vec[234] == true) catch @panic("test failure");
+                expect(vec[235] == false) catch @panic("test failure");
+                expect(vec[236] == false) catch @panic("test failure");
+                expect(vec[237] == false) catch @panic("test failure");
+                expect(vec[238] == true) catch @panic("test failure");
+                expect(vec[239] == false) catch @panic("test failure");
+                expect(vec[240] == true) catch @panic("test failure");
+                expect(vec[241] == true) catch @panic("test failure");
+                expect(vec[242] == true) catch @panic("test failure");
+                expect(vec[243] == false) catch @panic("test failure");
+                expect(vec[244] == false) catch @panic("test failure");
+                expect(vec[245] == true) catch @panic("test failure");
+                expect(vec[246] == false) catch @panic("test failure");
+                expect(vec[247] == false) catch @panic("test failure");
+                expect(vec[248] == false) catch @panic("test failure");
+                expect(vec[249] == true) catch @panic("test failure");
+                expect(vec[250] == false) catch @panic("test failure");
+                expect(vec[251] == false) catch @panic("test failure");
+                expect(vec[252] == true) catch @panic("test failure");
+                expect(vec[253] == true) catch @panic("test failure");
+                expect(vec[254] == true) catch @panic("test failure");
+                expect(vec[255] == true) catch @panic("test failure");
+            }
+
+            export fn zig_vector_512_bool(vec: Vector512Bool) void {
+                expect(vec[0] == false) catch @panic("test failure");
+                expect(vec[1] == true) catch @panic("test failure");
+                expect(vec[2] == true) catch @panic("test failure");
+                expect(vec[3] == false) catch @panic("test failure");
+                expect(vec[4] == true) catch @panic("test failure");
+                expect(vec[5] == false) catch @panic("test failure");
+                expect(vec[6] == true) catch @panic("test failure");
+                expect(vec[7] == false) catch @panic("test failure");
+                expect(vec[8] == false) catch @panic("test failure");
+                expect(vec[9] == false) catch @panic("test failure");
+                expect(vec[10] == false) catch @panic("test failure");
+                expect(vec[11] == false) catch @panic("test failure");
+                expect(vec[12] == true) catch @panic("test failure");
+                expect(vec[13] == false) catch @panic("test failure");
+                expect(vec[14] == true) catch @panic("test failure");
+                expect(vec[15] == false) catch @panic("test failure");
+                expect(vec[16] == false) catch @panic("test failure");
+                expect(vec[17] == false) catch @panic("test failure");
+                expect(vec[18] == true) catch @panic("test failure");
+                expect(vec[19] == true) catch @panic("test failure");
+                expect(vec[20] == true) catch @panic("test failure");
+                expect(vec[21] == true) catch @panic("test failure");
+                expect(vec[22] == false) catch @panic("test failure");
+                expect(vec[23] == false) catch @panic("test failure");
+                expect(vec[24] == false) catch @panic("test failure");
+                expect(vec[25] == true) catch @panic("test failure");
+                expect(vec[26] == true) catch @panic("test failure");
+                expect(vec[27] == false) catch @panic("test failure");
+                expect(vec[28] == true) catch @panic("test failure");
+                expect(vec[29] == true) catch @panic("test failure");
+                expect(vec[30] == false) catch @panic("test failure");
+                expect(vec[31] == false) catch @panic("test failure");
+                expect(vec[32] == true) catch @panic("test failure");
+                expect(vec[33] == true) catch @panic("test failure");
+                expect(vec[34] == false) catch @panic("test failure");
+                expect(vec[35] == false) catch @panic("test failure");
+                expect(vec[36] == false) catch @panic("test failure");
+                expect(vec[37] == false) catch @panic("test failure");
+                expect(vec[38] == false) catch @panic("test failure");
+                expect(vec[39] == false) catch @panic("test failure");
+                expect(vec[40] == false) catch @panic("test failure");
+                expect(vec[41] == true) catch @panic("test failure");
+                expect(vec[42] == true) catch @panic("test failure");
+                expect(vec[43] == true) catch @panic("test failure");
+                expect(vec[44] == false) catch @panic("test failure");
+                expect(vec[45] == true) catch @panic("test failure");
+                expect(vec[46] == true) catch @panic("test failure");
+                expect(vec[47] == true) catch @panic("test failure");
+                expect(vec[48] == true) catch @panic("test failure");
+                expect(vec[49] == true) catch @panic("test failure");
+                expect(vec[50] == false) catch @panic("test failure");
+                expect(vec[51] == true) catch @panic("test failure");
+                expect(vec[52] == true) catch @panic("test failure");
+                expect(vec[53] == true) catch @panic("test failure");
+                expect(vec[54] == false) catch @panic("test failure");
+                expect(vec[55] == true) catch @panic("test failure");
+                expect(vec[56] == false) catch @panic("test failure");
+                expect(vec[57] == false) catch @panic("test failure");
+                expect(vec[58] == true) catch @panic("test failure");
+                expect(vec[59] == false) catch @panic("test failure");
+                expect(vec[60] == true) catch @panic("test failure");
+                expect(vec[61] == true) catch @panic("test failure");
+                expect(vec[62] == false) catch @panic("test failure");
+                expect(vec[63] == false) catch @panic("test failure");
+                expect(vec[64] == false) catch @panic("test failure");
+                expect(vec[65] == true) catch @panic("test failure");
+                expect(vec[66] == true) catch @panic("test failure");
+                expect(vec[67] == true) catch @panic("test failure");
+                expect(vec[68] == true) catch @panic("test failure");
+                expect(vec[69] == false) catch @panic("test failure");
+                expect(vec[70] == false) catch @panic("test failure");
+                expect(vec[71] == true) catch @panic("test failure");
+                expect(vec[72] == true) catch @panic("test failure");
+                expect(vec[73] == false) catch @panic("test failure");
+                expect(vec[74] == true) catch @panic("test failure");
+                expect(vec[75] == true) catch @panic("test failure");
+                expect(vec[76] == false) catch @panic("test failure");
+                expect(vec[77] == false) catch @panic("test failure");
+                expect(vec[78] == true) catch @panic("test failure");
+                expect(vec[79] == false) catch @panic("test failure");
+                expect(vec[80] == false) catch @panic("test failure");
+                expect(vec[81] == false) catch @panic("test failure");
+                expect(vec[82] == true) catch @panic("test failure");
+                expect(vec[83] == true) catch @panic("test failure");
+                expect(vec[84] == true) catch @panic("test failure");
+                expect(vec[85] == false) catch @panic("test failure");
+                expect(vec[86] == false) catch @panic("test failure");
+                expect(vec[87] == true) catch @panic("test failure");
+                expect(vec[88] == false) catch @panic("test failure");
+                expect(vec[89] == true) catch @panic("test failure");
+                expect(vec[90] == false) catch @panic("test failure");
+                expect(vec[91] == false) catch @panic("test failure");
+                expect(vec[92] == true) catch @panic("test failure");
+                expect(vec[93] == false) catch @panic("test failure");
+                expect(vec[94] == false) catch @panic("test failure");
+                expect(vec[95] == true) catch @panic("test failure");
+                expect(vec[96] == true) catch @panic("test failure");
+                expect(vec[97] == false) catch @panic("test failure");
+                expect(vec[98] == false) catch @panic("test failure");
+                expect(vec[99] == false) catch @panic("test failure");
+                expect(vec[100] == false) catch @panic("test failure");
+                expect(vec[101] == true) catch @panic("test failure");
+                expect(vec[102] == false) catch @panic("test failure");
+                expect(vec[103] == false) catch @panic("test failure");
+                expect(vec[104] == false) catch @panic("test failure");
+                expect(vec[105] == false) catch @panic("test failure");
+                expect(vec[106] == false) catch @panic("test failure");
+                expect(vec[107] == false) catch @panic("test failure");
+                expect(vec[108] == true) catch @panic("test failure");
+                expect(vec[109] == true) catch @panic("test failure");
+                expect(vec[110] == true) catch @panic("test failure");
+                expect(vec[111] == true) catch @panic("test failure");
+                expect(vec[112] == true) catch @panic("test failure");
+                expect(vec[113] == false) catch @panic("test failure");
+                expect(vec[114] == false) catch @panic("test failure");
+                expect(vec[115] == false) catch @panic("test failure");
+                expect(vec[116] == false) catch @panic("test failure");
+                expect(vec[117] == true) catch @panic("test failure");
+                expect(vec[118] == true) catch @panic("test failure");
+                expect(vec[119] == false) catch @panic("test failure");
+                expect(vec[120] == true) catch @panic("test failure");
+                expect(vec[121] == true) catch @panic("test failure");
+                expect(vec[122] == false) catch @panic("test failure");
+                expect(vec[123] == false) catch @panic("test failure");
+                expect(vec[124] == true) catch @panic("test failure");
+                expect(vec[125] == false) catch @panic("test failure");
+                expect(vec[126] == false) catch @panic("test failure");
+                expect(vec[127] == false) catch @panic("test failure");
+                expect(vec[128] == false) catch @panic("test failure");
+                expect(vec[129] == true) catch @panic("test failure");
+                expect(vec[130] == true) catch @panic("test failure");
+                expect(vec[131] == true) catch @panic("test failure");
+                expect(vec[132] == true) catch @panic("test failure");
+                expect(vec[133] == false) catch @panic("test failure");
+                expect(vec[134] == false) catch @panic("test failure");
+                expect(vec[135] == false) catch @panic("test failure");
+                expect(vec[136] == false) catch @panic("test failure");
+                expect(vec[137] == true) catch @panic("test failure");
+                expect(vec[138] == false) catch @panic("test failure");
+                expect(vec[139] == false) catch @panic("test failure");
+                expect(vec[140] == false) catch @panic("test failure");
+                expect(vec[141] == false) catch @panic("test failure");
+                expect(vec[142] == true) catch @panic("test failure");
+                expect(vec[143] == true) catch @panic("test failure");
+                expect(vec[144] == false) catch @panic("test failure");
+                expect(vec[145] == true) catch @panic("test failure");
+                expect(vec[146] == false) catch @panic("test failure");
+                expect(vec[147] == true) catch @panic("test failure");
+                expect(vec[148] == false) catch @panic("test failure");
+                expect(vec[149] == false) catch @panic("test failure");
+                expect(vec[150] == true) catch @panic("test failure");
+                expect(vec[151] == true) catch @panic("test failure");
+                expect(vec[152] == false) catch @panic("test failure");
+                expect(vec[153] == true) catch @panic("test failure");
+                expect(vec[154] == true) catch @panic("test failure");
+                expect(vec[155] == false) catch @panic("test failure");
+                expect(vec[156] == false) catch @panic("test failure");
+                expect(vec[157] == false) catch @panic("test failure");
+                expect(vec[158] == true) catch @panic("test failure");
+                expect(vec[159] == false) catch @panic("test failure");
+                expect(vec[160] == false) catch @panic("test failure");
+                expect(vec[161] == false) catch @panic("test failure");
+                expect(vec[162] == false) catch @panic("test failure");
+                expect(vec[163] == true) catch @panic("test failure");
+                expect(vec[164] == true) catch @panic("test failure");
+                expect(vec[165] == false) catch @panic("test failure");
+                expect(vec[166] == false) catch @panic("test failure");
+                expect(vec[167] == true) catch @panic("test failure");
+                expect(vec[168] == false) catch @panic("test failure");
+                expect(vec[169] == true) catch @panic("test failure");
+                expect(vec[170] == true) catch @panic("test failure");
+                expect(vec[171] == false) catch @panic("test failure");
+                expect(vec[172] == false) catch @panic("test failure");
+                expect(vec[173] == false) catch @panic("test failure");
+                expect(vec[174] == false) catch @panic("test failure");
+                expect(vec[175] == false) catch @panic("test failure");
+                expect(vec[176] == false) catch @panic("test failure");
+                expect(vec[177] == true) catch @panic("test failure");
+                expect(vec[178] == false) catch @panic("test failure");
+                expect(vec[179] == false) catch @panic("test failure");
+                expect(vec[180] == false) catch @panic("test failure");
+                expect(vec[181] == false) catch @panic("test failure");
+                expect(vec[182] == false) catch @panic("test failure");
+                expect(vec[183] == false) catch @panic("test failure");
+                expect(vec[184] == true) catch @panic("test failure");
+                expect(vec[185] == false) catch @panic("test failure");
+                expect(vec[186] == false) catch @panic("test failure");
+                expect(vec[187] == false) catch @panic("test failure");
+                expect(vec[188] == false) catch @panic("test failure");
+                expect(vec[189] == true) catch @panic("test failure");
+                expect(vec[190] == false) catch @panic("test failure");
+                expect(vec[191] == false) catch @panic("test failure");
+                expect(vec[192] == false) catch @panic("test failure");
+                expect(vec[193] == false) catch @panic("test failure");
+                expect(vec[194] == false) catch @panic("test failure");
+                expect(vec[195] == false) catch @panic("test failure");
+                expect(vec[196] == true) catch @panic("test failure");
+                expect(vec[197] == true) catch @panic("test failure");
+                expect(vec[198] == true) catch @panic("test failure");
+                expect(vec[199] == false) catch @panic("test failure");
+                expect(vec[200] == true) catch @panic("test failure");
+                expect(vec[201] == true) catch @panic("test failure");
+                expect(vec[202] == false) catch @panic("test failure");
+                expect(vec[203] == false) catch @panic("test failure");
+                expect(vec[204] == false) catch @panic("test failure");
+                expect(vec[205] == false) catch @panic("test failure");
+                expect(vec[206] == false) catch @panic("test failure");
+                expect(vec[207] == true) catch @panic("test failure");
+                expect(vec[208] == true) catch @panic("test failure");
+                expect(vec[209] == false) catch @panic("test failure");
+                expect(vec[210] == false) catch @panic("test failure");
+                expect(vec[211] == false) catch @panic("test failure");
+                expect(vec[212] == true) catch @panic("test failure");
+                expect(vec[213] == false) catch @panic("test failure");
+                expect(vec[214] == false) catch @panic("test failure");
+                expect(vec[215] == true) catch @panic("test failure");
+                expect(vec[216] == true) catch @panic("test failure");
+                expect(vec[217] == true) catch @panic("test failure");
+                expect(vec[218] == false) catch @panic("test failure");
+                expect(vec[219] == false) catch @panic("test failure");
+                expect(vec[220] == true) catch @panic("test failure");
+                expect(vec[221] == false) catch @panic("test failure");
+                expect(vec[222] == true) catch @panic("test failure");
+                expect(vec[223] == true) catch @panic("test failure");
+                expect(vec[224] == true) catch @panic("test failure");
+                expect(vec[225] == true) catch @panic("test failure");
+                expect(vec[226] == false) catch @panic("test failure");
+                expect(vec[227] == true) catch @panic("test failure");
+                expect(vec[228] == false) catch @panic("test failure");
+                expect(vec[229] == false) catch @panic("test failure");
+                expect(vec[230] == false) catch @panic("test failure");
+                expect(vec[231] == true) catch @panic("test failure");
+                expect(vec[232] == false) catch @panic("test failure");
+                expect(vec[233] == false) catch @panic("test failure");
+                expect(vec[234] == false) catch @panic("test failure");
+                expect(vec[235] == false) catch @panic("test failure");
+                expect(vec[236] == false) catch @panic("test failure");
+                expect(vec[237] == false) catch @panic("test failure");
+                expect(vec[238] == false) catch @panic("test failure");
+                expect(vec[239] == true) catch @panic("test failure");
+                expect(vec[240] == false) catch @panic("test failure");
+                expect(vec[241] == false) catch @panic("test failure");
+                expect(vec[242] == false) catch @panic("test failure");
+                expect(vec[243] == true) catch @panic("test failure");
+                expect(vec[244] == true) catch @panic("test failure");
+                expect(vec[245] == true) catch @panic("test failure");
+                expect(vec[246] == true) catch @panic("test failure");
+                expect(vec[247] == false) catch @panic("test failure");
+                expect(vec[248] == true) catch @panic("test failure");
+                expect(vec[249] == true) catch @panic("test failure");
+                expect(vec[250] == false) catch @panic("test failure");
+                expect(vec[251] == false) catch @panic("test failure");
+                expect(vec[252] == false) catch @panic("test failure");
+                expect(vec[253] == true) catch @panic("test failure");
+                expect(vec[254] == false) catch @panic("test failure");
+                expect(vec[255] == false) catch @panic("test failure");
+                expect(vec[256] == true) catch @panic("test failure");
+                expect(vec[257] == true) catch @panic("test failure");
+                expect(vec[258] == false) catch @panic("test failure");
+                expect(vec[259] == true) catch @panic("test failure");
+                expect(vec[260] == false) catch @panic("test failure");
+                expect(vec[261] == true) catch @panic("test failure");
+                expect(vec[262] == true) catch @panic("test failure");
+                expect(vec[263] == false) catch @panic("test failure");
+                expect(vec[264] == false) catch @panic("test failure");
+                expect(vec[265] == false) catch @panic("test failure");
+                expect(vec[266] == false) catch @panic("test failure");
+                expect(vec[267] == true) catch @panic("test failure");
+                expect(vec[268] == false) catch @panic("test failure");
+                expect(vec[269] == true) catch @panic("test failure");
+                expect(vec[270] == true) catch @panic("test failure");
+                expect(vec[271] == false) catch @panic("test failure");
+                expect(vec[272] == false) catch @panic("test failure");
+                expect(vec[273] == true) catch @panic("test failure");
+                expect(vec[274] == true) catch @panic("test failure");
+                expect(vec[275] == true) catch @panic("test failure");
+                expect(vec[276] == false) catch @panic("test failure");
+                expect(vec[277] == true) catch @panic("test failure");
+                expect(vec[278] == false) catch @panic("test failure");
+                expect(vec[279] == false) catch @panic("test failure");
+                expect(vec[280] == true) catch @panic("test failure");
+                expect(vec[281] == true) catch @panic("test failure");
+                expect(vec[282] == false) catch @panic("test failure");
+                expect(vec[283] == true) catch @panic("test failure");
+                expect(vec[284] == false) catch @panic("test failure");
+                expect(vec[285] == true) catch @panic("test failure");
+                expect(vec[286] == true) catch @panic("test failure");
+                expect(vec[287] == true) catch @panic("test failure");
+                expect(vec[288] == true) catch @panic("test failure");
+                expect(vec[289] == true) catch @panic("test failure");
+                expect(vec[290] == true) catch @panic("test failure");
+                expect(vec[291] == true) catch @panic("test failure");
+                expect(vec[292] == true) catch @panic("test failure");
+                expect(vec[293] == true) catch @panic("test failure");
+                expect(vec[294] == true) catch @panic("test failure");
+                expect(vec[295] == false) catch @panic("test failure");
+                expect(vec[296] == true) catch @panic("test failure");
+                expect(vec[297] == false) catch @panic("test failure");
+                expect(vec[298] == true) catch @panic("test failure");
+                expect(vec[299] == false) catch @panic("test failure");
+                expect(vec[300] == true) catch @panic("test failure");
+                expect(vec[301] == true) catch @panic("test failure");
+                expect(vec[302] == false) catch @panic("test failure");
+                expect(vec[303] == true) catch @panic("test failure");
+                expect(vec[304] == false) catch @panic("test failure");
+                expect(vec[305] == true) catch @panic("test failure");
+                expect(vec[306] == false) catch @panic("test failure");
+                expect(vec[307] == true) catch @panic("test failure");
+                expect(vec[308] == true) catch @panic("test failure");
+                expect(vec[309] == false) catch @panic("test failure");
+                expect(vec[310] == true) catch @panic("test failure");
+                expect(vec[311] == true) catch @panic("test failure");
+                expect(vec[312] == true) catch @panic("test failure");
+                expect(vec[313] == false) catch @panic("test failure");
+                expect(vec[314] == false) catch @panic("test failure");
+                expect(vec[315] == false) catch @panic("test failure");
+                expect(vec[316] == false) catch @panic("test failure");
+                expect(vec[317] == true) catch @panic("test failure");
+                expect(vec[318] == true) catch @panic("test failure");
+                expect(vec[319] == true) catch @panic("test failure");
+                expect(vec[320] == true) catch @panic("test failure");
+                expect(vec[321] == true) catch @panic("test failure");
+                expect(vec[322] == true) catch @panic("test failure");
+                expect(vec[323] == true) catch @panic("test failure");
+                expect(vec[324] == true) catch @panic("test failure");
+                expect(vec[325] == true) catch @panic("test failure");
+                expect(vec[326] == false) catch @panic("test failure");
+                expect(vec[327] == true) catch @panic("test failure");
+                expect(vec[328] == false) catch @panic("test failure");
+                expect(vec[329] == false) catch @panic("test failure");
+                expect(vec[330] == true) catch @panic("test failure");
+                expect(vec[331] == false) catch @panic("test failure");
+                expect(vec[332] == false) catch @panic("test failure");
+                expect(vec[333] == false) catch @panic("test failure");
+                expect(vec[334] == false) catch @panic("test failure");
+                expect(vec[335] == false) catch @panic("test failure");
+                expect(vec[336] == false) catch @panic("test failure");
+                expect(vec[337] == false) catch @panic("test failure");
+                expect(vec[338] == false) catch @panic("test failure");
+                expect(vec[339] == false) catch @panic("test failure");
+                expect(vec[340] == false) catch @panic("test failure");
+                expect(vec[341] == false) catch @panic("test failure");
+                expect(vec[342] == true) catch @panic("test failure");
+                expect(vec[343] == true) catch @panic("test failure");
+                expect(vec[344] == false) catch @panic("test failure");
+                expect(vec[345] == false) catch @panic("test failure");
+                expect(vec[346] == false) catch @panic("test failure");
+                expect(vec[347] == false) catch @panic("test failure");
+                expect(vec[348] == false) catch @panic("test failure");
+                expect(vec[349] == true) catch @panic("test failure");
+                expect(vec[350] == true) catch @panic("test failure");
+                expect(vec[351] == true) catch @panic("test failure");
+                expect(vec[352] == true) catch @panic("test failure");
+                expect(vec[353] == false) catch @panic("test failure");
+                expect(vec[354] == false) catch @panic("test failure");
+                expect(vec[355] == false) catch @panic("test failure");
+                expect(vec[356] == false) catch @panic("test failure");
+                expect(vec[357] == true) catch @panic("test failure");
+                expect(vec[358] == true) catch @panic("test failure");
+                expect(vec[359] == false) catch @panic("test failure");
+                expect(vec[360] == false) catch @panic("test failure");
+                expect(vec[361] == false) catch @panic("test failure");
+                expect(vec[362] == true) catch @panic("test failure");
+                expect(vec[363] == true) catch @panic("test failure");
+                expect(vec[364] == false) catch @panic("test failure");
+                expect(vec[365] == false) catch @panic("test failure");
+                expect(vec[366] == false) catch @panic("test failure");
+                expect(vec[367] == false) catch @panic("test failure");
+                expect(vec[368] == false) catch @panic("test failure");
+                expect(vec[369] == true) catch @panic("test failure");
+                expect(vec[370] == true) catch @panic("test failure");
+                expect(vec[371] == false) catch @panic("test failure");
+                expect(vec[372] == true) catch @panic("test failure");
+                expect(vec[373] == true) catch @panic("test failure");
+                expect(vec[374] == false) catch @panic("test failure");
+                expect(vec[375] == true) catch @panic("test failure");
+                expect(vec[376] == true) catch @panic("test failure");
+                expect(vec[377] == false) catch @panic("test failure");
+                expect(vec[378] == true) catch @panic("test failure");
+                expect(vec[379] == true) catch @panic("test failure");
+                expect(vec[380] == false) catch @panic("test failure");
+                expect(vec[381] == true) catch @panic("test failure");
+                expect(vec[382] == true) catch @panic("test failure");
+                expect(vec[383] == false) catch @panic("test failure");
+                expect(vec[384] == true) catch @panic("test failure");
+                expect(vec[385] == false) catch @panic("test failure");
+                expect(vec[386] == true) catch @panic("test failure");
+                expect(vec[387] == true) catch @panic("test failure");
+                expect(vec[388] == true) catch @panic("test failure");
+                expect(vec[389] == true) catch @panic("test failure");
+                expect(vec[390] == false) catch @panic("test failure");
+                expect(vec[391] == false) catch @panic("test failure");
+                expect(vec[392] == false) catch @panic("test failure");
+                expect(vec[393] == true) catch @panic("test failure");
+                expect(vec[394] == true) catch @panic("test failure");
+                expect(vec[395] == true) catch @panic("test failure");
+                expect(vec[396] == true) catch @panic("test failure");
+                expect(vec[397] == false) catch @panic("test failure");
+                expect(vec[398] == true) catch @panic("test failure");
+                expect(vec[399] == true) catch @panic("test failure");
+                expect(vec[400] == true) catch @panic("test failure");
+                expect(vec[401] == false) catch @panic("test failure");
+                expect(vec[402] == false) catch @panic("test failure");
+                expect(vec[403] == true) catch @panic("test failure");
+                expect(vec[404] == false) catch @panic("test failure");
+                expect(vec[405] == false) catch @panic("test failure");
+                expect(vec[406] == false) catch @panic("test failure");
+                expect(vec[407] == true) catch @panic("test failure");
+                expect(vec[408] == true) catch @panic("test failure");
+                expect(vec[409] == true) catch @panic("test failure");
+                expect(vec[410] == false) catch @panic("test failure");
+                expect(vec[411] == true) catch @panic("test failure");
+                expect(vec[412] == false) catch @panic("test failure");
+                expect(vec[413] == false) catch @panic("test failure");
+                expect(vec[414] == false) catch @panic("test failure");
+                expect(vec[415] == true) catch @panic("test failure");
+                expect(vec[416] == false) catch @panic("test failure");
+                expect(vec[417] == false) catch @panic("test failure");
+                expect(vec[418] == true) catch @panic("test failure");
+                expect(vec[419] == true) catch @panic("test failure");
+                expect(vec[420] == true) catch @panic("test failure");
+                expect(vec[421] == true) catch @panic("test failure");
+                expect(vec[422] == false) catch @panic("test failure");
+                expect(vec[423] == true) catch @panic("test failure");
+                expect(vec[424] == true) catch @panic("test failure");
+                expect(vec[425] == false) catch @panic("test failure");
+                expect(vec[426] == false) catch @panic("test failure");
+                expect(vec[427] == false) catch @panic("test failure");
+                expect(vec[428] == true) catch @panic("test failure");
+                expect(vec[429] == false) catch @panic("test failure");
+                expect(vec[430] == true) catch @panic("test failure");
+                expect(vec[431] == true) catch @panic("test failure");
+                expect(vec[432] == false) catch @panic("test failure");
+                expect(vec[433] == false) catch @panic("test failure");
+                expect(vec[434] == false) catch @panic("test failure");
+                expect(vec[435] == false) catch @panic("test failure");
+                expect(vec[436] == true) catch @panic("test failure");
+                expect(vec[437] == false) catch @panic("test failure");
+                expect(vec[438] == true) catch @panic("test failure");
+                expect(vec[439] == false) catch @panic("test failure");
+                expect(vec[440] == false) catch @panic("test failure");
+                expect(vec[441] == false) catch @panic("test failure");
+                expect(vec[442] == false) catch @panic("test failure");
+                expect(vec[443] == true) catch @panic("test failure");
+                expect(vec[444] == false) catch @panic("test failure");
+                expect(vec[445] == false) catch @panic("test failure");
+                expect(vec[446] == true) catch @panic("test failure");
+                expect(vec[447] == true) catch @panic("test failure");
+                expect(vec[448] == true) catch @panic("test failure");
+                expect(vec[449] == false) catch @panic("test failure");
+                expect(vec[450] == true) catch @panic("test failure");
+                expect(vec[451] == true) catch @panic("test failure");
+                expect(vec[452] == false) catch @panic("test failure");
+                expect(vec[453] == true) catch @panic("test failure");
+                expect(vec[454] == false) catch @panic("test failure");
+                expect(vec[455] == true) catch @panic("test failure");
+                expect(vec[456] == false) catch @panic("test failure");
+                expect(vec[457] == false) catch @panic("test failure");
+                expect(vec[458] == false) catch @panic("test failure");
+                expect(vec[459] == true) catch @panic("test failure");
+                expect(vec[460] == false) catch @panic("test failure");
+                expect(vec[461] == false) catch @panic("test failure");
+                expect(vec[462] == false) catch @panic("test failure");
+                expect(vec[463] == true) catch @panic("test failure");
+                expect(vec[464] == true) catch @panic("test failure");
+                expect(vec[465] == true) catch @panic("test failure");
+                expect(vec[466] == true) catch @panic("test failure");
+                expect(vec[467] == true) catch @panic("test failure");
+                expect(vec[468] == false) catch @panic("test failure");
+                expect(vec[469] == false) catch @panic("test failure");
+                expect(vec[470] == false) catch @panic("test failure");
+                expect(vec[471] == false) catch @panic("test failure");
+                expect(vec[472] == false) catch @panic("test failure");
+                expect(vec[473] == false) catch @panic("test failure");
+                expect(vec[474] == true) catch @panic("test failure");
+                expect(vec[475] == true) catch @panic("test failure");
+                expect(vec[476] == true) catch @panic("test failure");
+                expect(vec[477] == true) catch @panic("test failure");
+                expect(vec[478] == true) catch @panic("test failure");
+                expect(vec[479] == false) catch @panic("test failure");
+                expect(vec[480] == true) catch @panic("test failure");
+                expect(vec[481] == true) catch @panic("test failure");
+                expect(vec[482] == false) catch @panic("test failure");
+                expect(vec[483] == true) catch @panic("test failure");
+                expect(vec[484] == false) catch @panic("test failure");
+                expect(vec[485] == true) catch @panic("test failure");
+                expect(vec[486] == false) catch @panic("test failure");
+                expect(vec[487] == true) catch @panic("test failure");
+                expect(vec[488] == false) catch @panic("test failure");
+                expect(vec[489] == false) catch @panic("test failure");
+                expect(vec[490] == false) catch @panic("test failure");
+                expect(vec[491] == true) catch @panic("test failure");
+                expect(vec[492] == false) catch @panic("test failure");
+                expect(vec[493] == false) catch @panic("test failure");
+                expect(vec[494] == false) catch @panic("test failure");
+                expect(vec[495] == true) catch @panic("test failure");
+                expect(vec[496] == true) catch @panic("test failure");
+                expect(vec[497] == false) catch @panic("test failure");
+                expect(vec[498] == false) catch @panic("test failure");
+                expect(vec[499] == true) catch @panic("test failure");
+                expect(vec[500] == false) catch @panic("test failure");
+                expect(vec[501] == true) catch @panic("test failure");
+                expect(vec[502] == false) catch @panic("test failure");
+                expect(vec[503] == false) catch @panic("test failure");
+                expect(vec[504] == false) catch @panic("test failure");
+                expect(vec[505] == true) catch @panic("test failure");
+                expect(vec[506] == true) catch @panic("test failure");
+                expect(vec[507] == true) catch @panic("test failure");
+                expect(vec[508] == true) catch @panic("test failure");
+                expect(vec[509] == false) catch @panic("test failure");
+                expect(vec[510] == false) catch @panic("test failure");
+                expect(vec[511] == true) catch @panic("test failure");
+            }
+
+            export fn zig_ret_vector_2_bool() Vector2Bool {
+                return .{
+                    false,
+                    false,
+                };
+            }
+
+            export fn zig_ret_vector_4_bool() Vector4Bool {
+                return .{
+                    false,
+                    true,
+                    true,
+                    true,
+                };
+            }
+
+            export fn zig_ret_vector_8_bool() Vector8Bool {
+                return .{
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                };
+            }
+
+            export fn zig_ret_vector_16_bool() Vector16Bool {
+                return .{
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                };
+            }
+
+            export fn zig_ret_vector_32_bool() Vector32Bool {
+                return .{
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                };
+            }
+
+            export fn zig_ret_vector_64_bool() Vector64Bool {
+                return .{
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                };
+            }
+
+            export fn zig_ret_vector_128_bool() Vector128Bool {
+                return .{
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                };
+            }
+
+            export fn zig_ret_vector_256_bool() Vector256Bool {
+                return .{
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                };
+            }
+
+            export fn zig_ret_vector_512_bool() Vector512Bool {
+                return .{
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    false,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    false,
+                    true,
+                    false,
+                    true,
+                    true,
+                    true,
+                    true,
+                    false,
+                    false,
+                    true,
+                    true,
+                    false,
+                    false,
+                };
+            }
+        };
+    }
+}
+
 const Vector2 = extern struct { x: f32, y: f32 };
 
 extern fn c_ptr_size_float_struct(Vector2) void;