Compiler
|
@setAlignStack(Γ alignment: u29) ⊥
|
@setCold(Γ is_cold: bool) ⊥
|
@setEvalBranchQuota(Γ new_quota: u32) ⊥
|
@setRuntimeSafety(Γ safety_on: bool) ⊥
|
|
|
|
|
@hasDecl(Γ Container:τ, Γ name: σ) bool
|
@hasField(Γ Container:τ, Γ name: σ) bool
|
|
@export(decl, Γ opts: ExportOptions) ⊥
|
@extern(T:τ, Γ opts: ExternOptions) T
|
@prefetch(ptr: ∀, Γ opts: PrefetchOptions) ⊥
|
|
@field(lhs: ∀, Γ name: σ) (field)
|
@fieldParentPtr(Γ fname: σ, ptr: *T) ∀
|
|
|
|
@bitOffsetOf(Γ T:τ, Γ field: σ) Γ_int
|
@bitOffsetOf(Γ T:τ, Γ field: σ) Γ_int
|
@call(mod: CallModifier, func: ∀, args: ∀) ∀
|
@tagName(value: ∀) [:0]const u8
|
@unionInit(Γ Union:τ, Γ active: σ, init) Union
|
@embedFile(Γ path: σ) *const [N:0]u8
|
@compileError(Γ msg: σ) noreturn
|
@errorName(err: anyerror) [:0]const u8
|
@errorReturnTrace() ?*StackTrace
|
@panic(message: σ) noreturn
|
|
Data and Logic
@memcpy(noalias dst, noalias src) ⊥
|
|
@popCount(operand: ∀) ∀
|
@shlExact(value: T, shift_amt: Log2T) T
|
@shlWithOverflow(a: ∀, amt: Log2T) struct { ∀, u1 }
|
@shrExact(value: T, shift_amt: Log2T) T
|
@byteSwap(operand: ∀) T
|
@bitReverse(integer: ∀) T
|
|
|
C Interop
@cDefine(Γ name: σ, value) ⊥
|
|
|
|
@cVaArg(operand: *VaList, Γ T:τ) T
|
@cVaCopy(src: *VaList) VaList
|
|
|
GPU
@workGroupId(Γ dim: u32) u32
|
@workGroupSize(Γ dim: u32) u32
|
@workItemId(Γ dim: u32) u32
|
Atomics
|
@atomicLoad (Γ T:τ, p: *const T, Γ order: AO) T
|
@atomicStore (Γ T:τ, p: *T, val: T, Γ order: AO) ⊥
|
@atomicRmw (Γ T:τ, p: *T, Γ op: ARO, op: T, Γ order: AO) T
|
@cmpxchgWeak (Γ T:τ, p: *T, exp: T, new: T, scs: AO, fail: AO) ?T
|
@cmpxchgStrong (Γ T:τ, p: *T, exp: T, new: T, scs: AO, fail: AO) ?T
|
AO = std.builtin.AtomicOrder
RMO = std.builtin.AtomicRmwOp
|
|
Casting
|
|
|
@ptrFromInt(address: usize) ∀
|
@addrSpaceCast(ptr: ∀) ∀
|
|
@enumFromInt(integer: ∀) ∀
|
|
@intFromBool(value: bool) u1
|
@intFromEnum(enum_tagunion: ∀) ∀
|
@intFromError(err: ∀) Int
|
@intFromFloat(float: ∀) ∀
|
@intFromPtr(value: ∀) usize
|
@floatFromInt(int: ∀) ∀
|
@floatCast(value: ∀) ∀
|
@errorFromInt(value: Int) anyerror
|
@volatileCast(value: ∀) DestType
|
@constCast(value: ∀) DestType
|
@errorCast(value: ∀) ∀
|
@truncate(integer: ∀) ∀
|
SIMD
@Vector(len: Γ_int, Element:τ)τ
|
@shuffle(Γ E:τ, a: @V, b: @V, Γ mask: @V) @V
|
|
@reduce(Γ op: ReduceOp, value: ∀) E
|
@select(Γ T:τ, pred: @V, a: @V, b: @V) @V
|
Math
@setFloatMode(Γ mode: FloatMode) ⊥
|
|
|
@addWithOverflow(a: ∀, b: ∀) struct { ∀, u1 }
|
@mulWithOverflow(a: ∀, b: ∀) struct { ∀, u1 }
|
@subWithOverflow(a: ∀, b: ∀) struct { ∀, u1 }
|
@divExact(num: T, denom: T) T
|
@divFloor(num: T, denom: T) T
|
@divTrunc(numr: T, denom: T) T
|
@mulAdd(Γ T:τ, a: T, b: T, c: T) T
|
@mulAdd(Γ T:τ, a: T, b: T, c: T) T
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*WASM
@wasmMemorySize(i: u32) u32
|
@wasmMemoryGrow(i: u32, d: u32) i32
|
Types
|
|
|
@typeName(T:τ) *const [N:0]u8
|
|