Skip to content

vector dialect

← Dialect reference

Vector register-lane construction, lanewise computation, memory, and reduction ops. Static zero-lane vector values are empty aggregates, not poison; canonicalization erases their pure computation and zero-lane memory effects. Typed vector poison represents invalid observations that must be removed or diagnosed before target lowering.

Property Value
Bytecode dialect ID 0x0e
Registered by default yes
Operations 151

Operations

Operation Summary
vector.absf Lanewise floating-point absolute value of a same-typed vector operand.
vector.absi Lanewise integer absolute value of a same-typed vector operand.
vector.acosf Lanewise arccosine.
vector.acoshf Lanewise inverse hyperbolic cosine.
vector.addf Lanewise floating-point addition of same-typed vector operands.
vector.addi Lanewise integer addition of same-typed vector operands.
vector.andi Lanewise bitwise AND of same-typed integer vector operands.
vector.asinf Lanewise arcsine.
vector.asinhf Lanewise inverse hyperbolic sine.
vector.atan2f Lanewise two-argument arctangent atan2(lhs, rhs) over same-typed vector operands.
vector.atanf Lanewise arctangent.
vector.atanhf Lanewise inverse hyperbolic tangent.
vector.atomic.cmpxchg Atomic compare-exchange at per-lane signed element offsets.
vector.atomic.reduce Atomic no-result scatter reduction/update into per-lane signed element offsets.
vector.atomic.reduce.mask Masked atomic no-result scatter reduction/update.
vector.atomic.rmw Atomic read-modify-write at per-lane signed element offsets.
vector.atomic.rmw.mask Masked atomic read-modify-write.
vector.bitcast Bitwise reinterpretation between vector register types with the same total bit count.
vector.bitfield.extracts Extract one fixed bitfield from each integer source lane and sign-extend it into the corresponding result lane.
vector.bitfield.extractu Extract one fixed bitfield from each integer source lane and zero-extend it into the corresponding result lane.
vector.bitfield.insert Insert the low bits of each integer field lane into a fixed bitfield of the corresponding integer base lane.
vector.bitpack Pack the low bits of each integer source lane into a contiguous little-endian bitstream stored in integer result lanes.
vector.bitunpacks Unpack signed fixed-width fields from a contiguous little-endian integer bitstream into sign-extended integer result lanes.
vector.bitunpacku Unpack unsigned fixed-width fields from a contiguous little-endian integer bitstream into zero-extended integer result lanes.
vector.broadcast Broadcast a vector value to a larger-rank or same-rank vector result.
vector.cbrtf Lanewise cube root.
vector.ceildivsi Lanewise signed integer division rounding toward positive infinity.
vector.ceildivui Lanewise unsigned integer division rounding toward positive infinity.
vector.ceilf Lanewise round toward positive infinity.
vector.clampf Lanewise floating-point clamp with explicit NaN/comparison policy.
vector.cmpf Lanewise floating-point comparison producing an i1 mask vector.
vector.cmpi Lanewise integer comparison producing an i1 mask vector.
vector.concat Concatenate one or more same-rank vectors along the template axis.
vector.constant Materialize a compile-time vector value whose every lane has the same scalar attribute payload.
vector.copysignf Lanewise copy sign of rhs lanes onto lhs lane magnitudes.
vector.cosf Lanewise cosine.
vector.coshf Lanewise hyperbolic cosine.
vector.costurnsf Lanewise cosine over turns: cos(2pix), preserving finite-input periodicity and exact quarter-turn cardinals.
vector.ctlzi Lanewise count leading zeros over integer lanes.
vector.ctpopi Lanewise population count over integer lanes.
vector.cttzi Lanewise count trailing zeros over integer lanes.
vector.decode Decode physical encoded vector payload lanes into logical numeric lanes using an explicit encoding witness.
vector.deinterleave Split one vector along the template axis into two same-typed results.
vector.divf Lanewise floating-point division of same-typed vector operands.
vector.divsi Lanewise signed integer division of same-typed vector operands; each lane rounds toward zero.
vector.divui Lanewise unsigned integer division of same-typed vector operands.
vector.dot2f Group adjacent two-lane f16 or bf16 products along the last axis and add each two-product fused sum into an f32 accumulator lane.
vector.dot4f8 Treat each i32 source lane as a little-endian pack of four 8-bit floating-point fields, decode fields according to the fp8/bf8 template, and add the four-product fused sum into the matching f32 accumulator lane.
vector.dot4i Group adjacent four-lane i8 products along the last axis and add each four-product sum into an i32 accumulator lane.
vector.dot8i4 Treat each i32 source lane as a little-endian pack of eight 4-bit integer fields, multiply corresponding packed fields using the signedness template, and add the eight-product sum into the matching i32 accumulator lane.
vector.dotf Compute a same-element floating-point dot product with an explicit scalar accumulator.
vector.empty Materialize the unique empty aggregate value for a static zero-lane vector type.
vector.encode Encode logical numeric vector lanes into a physical encoded payload using an explicit encoding witness.
vector.erfcf Lanewise complementary error function 1-erf(x).
vector.erff Lanewise error function, used by GeLU-style activations.
vector.exp2f Lanewise base-2 exponential 2^x.
vector.expf Lanewise natural exponential e^x.
vector.expm1f Lanewise exp(x)-1, preserving the scalar operation's near-zero numerical semantics.
vector.extf Lanewise floating-point precision extension.
vector.extract Extract a scalar or tail subvector from a vector at explicit leading indices.
vector.extsi Lanewise signed integer extension.
vector.extui Lanewise unsigned integer extension.
vector.floordivsi Lanewise signed integer division rounding toward negative infinity.
vector.floorf Lanewise round toward negative infinity.
vector.fmaf Lanewise fused multiply-add of same-typed floating-point vectors.
vector.fmai Lanewise fused integer multiply-add a*b + c over same-typed vector operands.
vector.fptosi Lanewise floating-point to signed integer conversion with unchanged shape.
vector.fptoui Lanewise floating-point to unsigned integer conversion with unchanged shape.
vector.fptrunc Lanewise floating-point precision truncation using round-to-nearest, ties-to-even.
vector.fragment Attach a matrix-fragment interpretation to a physical vector value without changing the physical vector type.
vector.fragment.load Load a target-shaped matrix fragment payload from a typed view at a full-rank logical origin.
vector.fragment.repack Repack a native matrix-fragment payload to another fragment role without going through memory.
vector.fragment.store Store a target-shaped matrix fragment payload into a typed view at a full-rank logical origin.
vector.from_elements Build an all-static vector from scalar element operands in logical lane order.
vector.gather Gather a vector from per-lane signed logical offsets added to the last view axis of a full-rank view origin.
vector.gather.mask Masked vector gather from per-lane signed logical offsets added to the last view axis.
vector.geluf Lanewise GELU activation preserving the chosen formula family.
vector.insert Insert a scalar or tail subvector into a vector at explicit leading indices.
vector.interleave Interleave two same-typed vectors along the template axis.
vector.iota Construct a vector of lane-coordinate values.
vector.isfinitef Lanewise floating-point finite test producing an i1 mask vector.
vector.isinff Lanewise floating-point infinity test producing an i1 mask vector.
vector.isnanf Lanewise floating-point NaN test producing an i1 mask vector.
vector.load Load a vector footprint from a typed view at a full-rank logical origin.
vector.load.expand Rank-1 masked expand load from consecutive view elements.
vector.load.mask Masked vector load from a typed view.
vector.log10f Lanewise base-10 logarithm.
vector.log1pf Lanewise log(1+x), preserving the scalar operation's near-zero numerical semantics.
vector.log2f Lanewise base-2 logarithm.
vector.logf Lanewise natural logarithm ln(x).
vector.logisticf Lanewise logistic sigmoid 1 / (1 + exp(-x)).
vector.mask.range Construct an i1 tail mask from an explicit scalar coordinate range.
vector.maximumf Lanewise IEEE 754 floating-point maximum of same-typed vector operands; NaN lanes propagate.
vector.maxnumf Lanewise C99 fmax-style floating-point maximum of same-typed vector operands; NaN lanes select the non-NaN operand.
vector.maxsi Lanewise signed integer maximum of same-typed vector operands.
vector.maxui Lanewise unsigned integer maximum of same-typed vector operands.
vector.minimumf Lanewise IEEE 754 floating-point minimum of same-typed vector operands; NaN lanes propagate.
vector.minnumf Lanewise C99 fmin-style floating-point minimum of same-typed vector operands; NaN lanes select the non-NaN operand.
vector.minsi Lanewise signed integer minimum of same-typed vector operands.
vector.minui Lanewise unsigned integer minimum of same-typed vector operands.
vector.mma Compute a matrix multiply-accumulate over target-shaped vector fragments.
vector.mulf Lanewise floating-point multiplication of same-typed vector operands.
vector.muli Lanewise integer multiplication of same-typed vector operands.
vector.negf Lanewise floating-point negation of a same-typed vector operand.
vector.negi Lanewise integer negation of a same-typed vector operand.
vector.ori Lanewise bitwise OR of same-typed integer vector operands.
vector.poison Materialize a typed Loom poison vector.
vector.powf Lanewise floating-point power lhs^rhs over same-typed vector operands.
vector.reduce Reduce all lanes of a vector into a scalar accumulator/result using the template combining kind.
vector.reduce.axes Reduce the explicit source axes of a vector while preserving the remaining axes in their original order.
vector.remf Lanewise floating-point remainder with C fmod semantics over same-typed vector operands.
vector.remsi Lanewise signed integer remainder of same-typed vector operands.
vector.remui Lanewise unsigned integer remainder of same-typed vector operands.
vector.rotli Lanewise left rotate of same-typed integer vector operands.
vector.rotri Lanewise right rotate of same-typed integer vector operands.
vector.roundevenf Lanewise round to nearest, ties to even.
vector.roundf Lanewise round to nearest, ties away from zero.
vector.rsqrtf Lanewise reciprocal square root 1/sqrt(x).
vector.scatter Non-atomic scatter of a vector to per-lane signed logical offsets added to the last view axis of a full-rank view origin.
vector.scatter.mask Masked non-atomic scatter.
vector.select Lanewise select from two same-typed vector values using an i1 mask vector.
vector.shli Lanewise left shift of same-typed integer vector operands.
vector.shrsi Lanewise arithmetic right shift of same-typed integer vector operands.
vector.shrui Lanewise logical right shift of same-typed integer vector operands.
vector.shuffle Reorder a static rank-1 vector with a static lane map.
vector.signf Lanewise floating-point sign, returning -1.0, 0.0, or 1.0 per lane.
vector.signi Lanewise integer sign, returning -1, 0, or 1 per lane.
vector.siluf Lanewise SiLU activation x * logistic(x).
vector.sinf Lanewise sine.
vector.sinhf Lanewise hyperbolic sine.
vector.sinturnsf Lanewise sine over turns: sin(2pix), preserving finite-input periodicity and exact quarter-turn cardinals.
vector.sitofp Lanewise signed integer to floating-point conversion with unchanged shape.
vector.slice Extract a rank-preserving contiguous register subvector at explicit offsets.
vector.softplusf Lanewise softplus activation log(1 + exp(x)).
vector.splat Replicate one scalar value to every lane of a vector result.
vector.sqrtf Lanewise floating-point square root.
vector.store Store a vector footprint into a typed view at a full-rank logical origin.
vector.store.compress Rank-1 masked compress store to consecutive view elements.
vector.store.mask Masked vector store into a typed view.
vector.subf Lanewise floating-point subtraction of same-typed vector operands.
vector.subi Lanewise integer subtraction of same-typed vector operands.
vector.table.lookup Select values from a rank-1 register table using integer index lanes.
vector.table.quantize Map floating-point lanes to integer ordinal code lanes using an ordered rank-1 threshold table.
vector.tanf Lanewise tangent.
vector.tanhf Lanewise hyperbolic tangent.
vector.transform Apply a numeric transform to invocation-local vector register lanes.
vector.transpose Permute vector register axes.
vector.truncf Lanewise round toward zero.
vector.trunci Lanewise integer truncation.
vector.uitofp Lanewise unsigned integer to floating-point conversion with unchanged shape.
vector.xori Lanewise bitwise XOR of same-typed integer vector operands.