Converts the bfloat16_t type data to int32_t, and supports multiple rounding modes.
- RINT rounding mode: round half to even
- ROUND rounding mode: round half up
- FLOOR rounding mode: round toward negative infinity
- CEIL rounding mode: round toward positive infinity
- TRUNC rounding mode: round toward zero
Based on the magnitude of the input data, the operation is divided into non-saturation mode and saturation mode.
- Non-saturation mode:
- When the input data exceeds the maximum or minimum value of the output type, the result is truncated to the data width of the target format.
- When the input data is +/-inf, the maximum or minimum value of the output type is returned.
- When the input data is nan, 0 is returned.
- Saturation mode:
- When the input data exceeds the maximum or minimum value of the output type, the corresponding maximum or minimum value of the output type is returned.
- When the input data is +/-inf, the maximum or minimum value of the output type is returned.
- When the input data is nan, 0 is returned.
Since the bit-width ratio of the source operand type to the destination operand type is 1:2, when reading data, the data of one VL size needs to be divided into two parts, and index 0 or index 1 is selected according to different interfaces.
[object Object]
For detailed descriptions of vector data registers and mask registers, see .
None
PIPE_V
- To enable the saturation mode and non-saturation mode, the ctrl register must be configured. For detailed descriptions of the ctrl register, see .
[object Object]