Zig 0.17.0-dev (Split by item) This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig standard library.
std › zig › llvm › Builder › WipFunction › selectTag Private Function selectTag Doc Source 8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062 fn selectTag (
self : *WipFunction ,
tag : Instruction .Tag ,
cond : Value ,
lhs : Value ,
rhs : Value ,
name : []const u8 ,
) Allocator .Error !Value {
switch (tag ) {
.select , .@"select fast" => {
assert (cond .typeOfWip (self ).scalarType (self .builder ) == .i1 );
assert (lhs .typeOfWip (self ) == rhs .typeOfWip (self ));
},
else => unreachable ,
}
try self .ensureUnusedExtraCapacity (1 , Instruction .Select , 0 );
const instruction = try self .addInst (name , .{
.tag = tag ,
.data = self .addExtraAssumeCapacity (Instruction .Select {
.cond = cond ,
.lhs = lhs ,
.rhs = rhs ,
}),
});
return instruction .toValue ();
}