Skip to content

vector.clampf

← vector dialect

Lanewise floating-point clamp with explicit NaN/comparison policy. The ordered mode preserves strict compare/select semantics, number mode uses minnum/maxnum semantics, and ieee mode propagates NaNs.

Operation contract

Property Value
Semantic phase executable
Traits Pure, Elementwise

Signature

Kind Name Type Cardinality Description
Operand value vector required —
Operand lower vector required —
Operand upper vector required —
Result result vector required —
Attribute mode enum ClampFMode required —
Attribute fastmath flags FastMathFlags optional —

Verification constraints

  • HasFloatElement(result)
  • SameType(value, lower, upper, result)

Examples

%result = vector.clampf<ordered> %value, %lower, %upper : vector<16xf32>
%result = vector.clampf<number, nnan|nsz> %value, %lower, %upper : vector<16xf32>
%result = vector.clampf<ieee> %value, %lower, %upper : vector<16xf32>