Expand description
Opaque helpers for Zve64x extension
Functions§
- avg_add
- Averaging signed add:
(vs2 + src) >> 1with rounding pervxrm. - avg_
addu - Averaging unsigned add:
(vs2 + src) >> 1with rounding pervxrm. - avg_sub
- Averaging signed subtract:
(vs2 - src) >> 1with rounding pervxrm. - avg_
subu - Averaging unsigned subtract:
(vs2 - src) >> 1with rounding pervxrm. - check_
narrowing_ sew - Verify that the destination SEW is valid for narrowing (must be at most 32 in Zve64x).
- check_
vs2_ narrowing_ alignment - Check that
vs2for a narrowing instruction is aligned to2 * group_regsand fits in [0,32). - nclip
- Narrowing signed clip: read a 2*SEW signed element from
vs2, shift right arithmetically with rounding, saturate to signed SEW range. - nclipu
- Narrowing unsigned clip: read a 2*SEW element from
vs2, shift right byshamtwith rounding, saturate to unsigned SEW range, setvxsaton clamp. - read_
wide_ ⚠element_ u64 - Read a 2*SEW-wide element as
u64from the double-width source register group of a narrowing instruction. - rounded_
sra - Perform a rounded arithmetic right shift of
val(sign-extended to SEW) byshiftbits. - rounded_
srl - Perform a rounded right shift of
valbyshiftbits (logical / unsigned). - sat_add
- Saturating signed add:
vs2 + src, clamped to[-(2^(SEW-1)), 2^(SEW-1) - 1]. - sat_
addu - Saturating unsigned add:
vs2 + src, clamped to[0, 2^SEW - 1]. - sat_sub
- Saturating signed subtract:
vs2 - src, clamped to[-(2^(SEW-1)), 2^(SEW-1) - 1]. - sat_
subu - Saturating unsigned subtract:
vs2 - src, clamped to[0, 2^SEW - 1]. - smul
- Fractional multiply with rounding and saturation:
vsmul.