Skip to content

scalar dialect

← Dialect reference

Scalar arithmetic, math, conversion, and typed poison ops. Loom poison is an invalid value sentinel introduced by canonicalization and diagnosed if it survives to an observation boundary.

Property Value
Bytecode dialect ID 0x02
Registered by default yes
Operations 101

Operations

Operation Summary
scalar.absf Floating-point absolute value.
scalar.absi Integer absolute value.
scalar.acosf Arccosine.
scalar.acoshf Inverse hyperbolic cosine.
scalar.addf Floating-point addition.
scalar.addi Integer addition.
scalar.andi Bitwise AND.
scalar.asinf Arcsine.
scalar.asinhf Inverse hyperbolic sine.
scalar.assume Identity with predicate constraints on scalar payload results.
scalar.atan2f Two-argument arctangent: atan2(y, x).
scalar.atanf Arctangent.
scalar.atanhf Inverse hyperbolic tangent.
scalar.bitcast Bitwise reinterpretation between scalar types with the same bit count.
scalar.bitfield.extracts Extract one fixed integer bitfield and sign-extend it into the result.
scalar.bitfield.extractu Extract one fixed integer bitfield and zero-extend it into the result.
scalar.cbrtf Cube root.
scalar.ceildivsi Signed integer division, rounding toward positive infinity.
scalar.ceildivui Unsigned integer division, rounding toward positive infinity.
scalar.ceilf Round toward positive infinity.
scalar.clampf Floating-point clamp with explicit NaN/comparison policy.
scalar.cmpf Floating-point comparison.
scalar.cmpi Integer comparison.
scalar.constant Materialize a compile-time integer or floating-point scalar value.
scalar.copysignf Copy sign of rhs onto magnitude of lhs.
scalar.cosf Cosine.
scalar.coshf Hyperbolic cosine.
scalar.costurnsf Cosine over turns: cos(2pix), preserving finite-input periodicity and exact quarter-turn cardinals.
scalar.ctlzi Count leading zeros.
scalar.ctpopi Population count (number of set bits).
scalar.cttzi Count trailing zeros.
scalar.divf Floating-point division.
scalar.divsi Signed integer division (rounds toward zero).
scalar.divui Unsigned integer division.
scalar.erfcf Complementary error function: 1 - erf(x).
scalar.erff Error function (used in GeLU activation).
scalar.exp2f Base-2 exponential: 2^x.
scalar.expf Exponential: e^x.
scalar.expm1f Exponential minus one: e^x - 1 (numerically stable near 0).
scalar.extf Float precision extension to a strictly wider format: e.g.
scalar.extsi Signed integer extension to a strictly wider type: e.g.
scalar.extui Unsigned integer extension to a strictly wider type: e.g.
scalar.floordivsi Signed integer division, rounding toward negative infinity.
scalar.floorf Round toward negative infinity.
scalar.fmaf Fused multiply-add: a*b + c with single rounding.
scalar.fmai Fused integer multiply-add: a*b + c with no intermediate overflow check.
scalar.fptosi Floating-point to signed integer (rounds toward zero).
scalar.fptoui Floating-point to unsigned integer (rounds toward zero).
scalar.fptrunc Float precision truncation using round-to-nearest, ties-to-even.
scalar.geluf GELU activation preserving the chosen formula family.
scalar.isfinitef Returns true (i1) if the operand is finite (not NaN and not infinity).
scalar.isinff Returns true (i1) if the operand is positive or negative infinity.
scalar.isnanf Returns true (i1) if the operand is NaN.
scalar.log10f Base-10 logarithm.
scalar.log1pf Natural logarithm of 1+x: ln(1+x) (numerically stable near 0).
scalar.log2f Base-2 logarithm.
scalar.logf Natural logarithm: ln(x).
scalar.logisticf Logistic sigmoid: 1 / (1 + exp(-x)).
scalar.maximumf IEEE 754 maximum (NaN propagates).
scalar.maxnumf C99 fmax (NaN ignored, returns the non-NaN operand).
scalar.maxsi Signed integer maximum.
scalar.maxui Unsigned integer maximum.
scalar.minimumf IEEE 754 minimum (NaN propagates).
scalar.minnumf C99 fmin (NaN ignored, returns the non-NaN operand).
scalar.minsi Signed integer minimum.
scalar.minui Unsigned integer minimum.
scalar.mulf Floating-point multiplication.
scalar.muli Integer multiplication.
scalar.negf Floating-point negation.
scalar.negi Integer negation.
scalar.ori Bitwise OR.
scalar.poison Materialize a typed Loom poison scalar.
scalar.powf Power: x^y.
scalar.remf Floating-point remainder (C fmod semantics).
scalar.remsi Signed integer remainder.
scalar.remui Unsigned integer remainder.
scalar.rotli Left rotate.
scalar.rotri Right rotate.
scalar.roundevenf Round to nearest, ties to even (IEEE 754 default rounding).
scalar.roundf Round to nearest, ties away from zero.
scalar.rsqrtf Reciprocal square root: 1/sqrt(x).
scalar.shli Left shift.
scalar.shrsi Arithmetic right shift (sign-extending).
scalar.shrui Logical right shift (zero-extending).
scalar.signf Floating-point sign: returns -1.0, 0.0, or 1.0.
scalar.signi Integer sign: returns -1, 0, or 1.
scalar.siluf SiLU activation: x * logistic(x).
scalar.sinf Sine.
scalar.sinhf Hyperbolic sine.
scalar.sinturnsf Sine over turns: sin(2pix), preserving finite-input periodicity and exact quarter-turn cardinals.
scalar.sitofp Signed integer to floating-point.
scalar.softplusf Softplus activation: log(1 + exp(x)).
scalar.sqrtf Square root.
scalar.subf Floating-point subtraction.
scalar.subi Integer subtraction.
scalar.tanf Tangent.
scalar.tanhf Hyperbolic tangent.
scalar.truncf Round toward zero (C trunc).
scalar.trunci Integer truncation to a strictly narrower type: e.g.
scalar.uitofp Unsigned integer to floating-point.
scalar.xori Bitwise XOR.