RISC-V ISA Explorer · Vector Subsets (Zv/Zve)

Zvfh: Vector Half-Precision FP

Ratified 2023-06 · version 1.0.0

Full IEEE binary16 arithmetic on vector elements, including compares, reductions, and 8-bit integer conversions.

Typical use: Half-precision vector arithmetic

Specification

Open Zvfh in the explorer

Dependencies

Requires

Instructions (101)

MnemonicNameEncodingMatchMask
VFADD.VFVector floating-point add scalar000000-----------101-----10101110x50570xfc00707f
VFADD.VVVector floating-point add000000-----------001-----10101110x10570xfc00707f
VFCLASS.V010011------10000001-----10101110x4c0810570xfc0ff07f
VFCVT.F.X.VVector integer to floating-point conversion010010------00011001-----10101110x480190570xfc0ff07f
VFCVT.F.XU.VVector unsigned integer to floating-point conversion010010------00010001-----10101110x480110570xfc0ff07f
VFCVT.RTZ.X.F.VVector floating-point to integer conversion with truncation010010------00111001-----10101110x480390570xfc0ff07f
VFCVT.RTZ.XU.F.VVector floating-point to unsigned integer conversion with truncation010010------00110001-----10101110x480310570xfc0ff07f
VFCVT.X.F.VVector floating-point to integer conversion010010------00001001-----10101110x480090570xfc0ff07f
VFCVT.XU.F.VVector floating-point to unsigned integer conversion010010------00000001-----10101110x480010570xfc0ff07f
VFDIV.VFVector floating-point divide scalar100000-----------101-----10101110x800050570xfc00707f
VFDIV.VVVector floating-point divide100000-----------001-----10101110x800010570xfc00707f
VFMACC.VF101100-----------101-----10101110xb00050570xfc00707f
VFMACC.VV101100-----------001-----10101110xb00010570xfc00707f
VFMADD.VF101000-----------101-----10101110xa00050570xfc00707f
VFMADD.VV101000-----------001-----10101110xa00010570xfc00707f
VFMAX.VF000110-----------101-----10101110x180050570xfc00707f
VFMAX.VV000110-----------001-----10101110x180010570xfc00707f
VFMERGE.VFM0101110----------101-----10101110x5c0050570xfe00707f
VFMIN.VF000100-----------101-----10101110x100050570xfc00707f
VFMIN.VV000100-----------001-----10101110x100010570xfc00707f
VFMSAC.VF101110-----------101-----10101110xb80050570xfc00707f
VFMSAC.VV101110-----------001-----10101110xb80010570xfc00707f
VFMSUB.VF101010-----------101-----10101110xa80050570xfc00707f
VFMSUB.VV101010-----------001-----10101110xa80010570xfc00707f
VFMUL.VFVector floating-point multiply scalar100100-----------101-----10101110x900050570xfc00707f
VFMUL.VVVector floating-point multiply100100-----------001-----10101110x900010570xfc00707f
VFMV.F.SVector floating-point to scalar move0100001-----00000001-----10101110x420010570xfe0ff07f
VFMV.S.FVector scalar to floating-point move010000100000-----101-----10101110x420050570xfff0707f
VFMV.V.FVector floating-point to vector move010111100000-----101-----10101110x5e0050570xfff0707f
VFNCVT.F.F.WVector floating-point narrowing conversion010010------10100001-----10101110x480a10570xfc0ff07f
VFNCVT.F.X.WVector integer to floating-point narrowing conversion010010------10011001-----10101110x480990570xfc0ff07f
VFNCVT.F.XU.WVector unsigned integer to floating-point narrowing conversion010010------10010001-----10101110x480910570xfc0ff07f
VFNCVT.ROD.F.F.WVector floating-point narrowing conversion with round-to-odd010010------10101001-----10101110x480a90570xfc0ff07f
VFNCVT.RTZ.X.F.WVector floating-point to integer narrowing conversion with truncation010010------10111001-----10101110x480b90570xfc0ff07f
VFNCVT.RTZ.XU.F.WVector floating-point to unsigned integer narrowing conversion with truncation010010------10110001-----10101110x480b10570xfc0ff07f
VFNCVT.X.F.WVector floating-point to integer narrowing conversion010010------10001001-----10101110x480890570xfc0ff07f
VFNCVT.XU.F.WVector floating-point to unsigned integer narrowing conversion010010------10000001-----10101110x480810570xfc0ff07f
VFNMACC.VF101101-----------101-----10101110xb40050570xfc00707f
VFNMACC.VV101101-----------001-----10101110xb40010570xfc00707f
VFNMADD.VF101001-----------101-----10101110xa40050570xfc00707f
VFNMADD.VV101001-----------001-----10101110xa40010570xfc00707f
VFNMSAC.VF101111-----------101-----10101110xbc0050570xfc00707f
VFNMSAC.VV101111-----------001-----10101110xbc0010570xfc00707f
VFNMSUB.VF101011-----------101-----10101110xac0050570xfc00707f
VFNMSUB.VV101011-----------001-----10101110xac0010570xfc00707f
VFRDIV.VF100001-----------101-----10101110x840050570xfc00707f
VFREC7.V010011------00101001-----10101110x4c0290570xfc0ff07f
VFREDMAX.VS000111-----------001-----10101110x1c0010570xfc00707f
VFREDMIN.VS000101-----------001-----10101110x140010570xfc00707f
VFREDOSUM.VS000011-----------001-----10101110xc0010570xfc00707f
VFREDUSUM.VS000001-----------001-----10101110x40010570xfc00707f
VFRSQRT7.V010011------00100001-----10101110x4c0210570xfc0ff07f
VFRSUB.VF100111-----------101-----10101110x9c0050570xfc00707f
VFSGNJ.VF001000-----------101-----10101110x200050570xfc00707f
VFSGNJ.VV001000-----------001-----10101110x200010570xfc00707f
VFSGNJN.VF001001-----------101-----10101110x240050570xfc00707f
VFSGNJN.VV001001-----------001-----10101110x240010570xfc00707f
VFSGNJX.VF001010-----------101-----10101110x280050570xfc00707f
VFSGNJX.VV001010-----------001-----10101110x280010570xfc00707f
VFSLIDE1DOWN.VF001111-----------101-----10101110x3c0050570xfc00707f
VFSLIDE1UP.VF001110-----------101-----10101110x380050570xfc00707f
VFSQRT.V010011------00000001-----10101110x4c0010570xfc0ff07f
VFSUB.VFVector floating-point subtract scalar000010-----------101-----10101110x80050570xfc00707f
VFSUB.VVVector floating-point subtract000010-----------001-----10101110x80010570xfc00707f
VFWADD.VFVector floating-point widening addition with scalar110000-----------101-----10101110xc00050570xfc00707f
VFWADD.VVVector floating-point widening addition110000-----------001-----10101110xc00010570xfc00707f
VFWADD.WF110100-----------101-----10101110xd00050570xfc00707f
VFWADD.WV110100-----------001-----10101110xd00010570xfc00707f
VFWCVT.F.F.VVector floating-point widening conversion010010------01100001-----10101110x480610570xfc0ff07f
VFWCVT.F.X.VVector integer to floating-point widening conversion010010------01011001-----10101110x480590570xfc0ff07f
VFWCVT.F.XU.VVector unsigned integer to floating-point widening conversion010010------01010001-----10101110x480510570xfc0ff07f
VFWCVT.RTZ.X.F.VVector floating-point to integer widening conversion with truncation010010------01111001-----10101110x480790570xfc0ff07f
VFWCVT.RTZ.XU.F.VVector floating-point to unsigned integer widening conversion with truncation010010------01110001-----10101110x480710570xfc0ff07f
VFWCVT.X.F.VVector floating-point to integer widening conversion010010------01001001-----10101110x480490570xfc0ff07f
VFWCVT.XU.F.VVector floating-point to unsigned integer widening conversion010010------01000001-----10101110x480410570xfc0ff07f
VFWMACC.VF111100-----------101-----10101110xf00050570xfc00707f
VFWMACC.VV111100-----------001-----10101110xf00010570xfc00707f
VFWMSAC.VF111110-----------101-----10101110xf80050570xfc00707f
VFWMSAC.VV111110-----------001-----10101110xf80010570xfc00707f
VFWMUL.VF111000-----------101-----10101110xe00050570xfc00707f
VFWMUL.VV111000-----------001-----10101110xe00010570xfc00707f
VFWNMACC.VF111101-----------101-----10101110xf40050570xfc00707f
VFWNMACC.VV111101-----------001-----10101110xf40010570xfc00707f
VFWNMSAC.VF111111-----------101-----10101110xfc0050570xfc00707f
VFWNMSAC.VV111111-----------001-----10101110xfc0010570xfc00707f
VFWREDOSUM.VS110011-----------001-----10101110xcc0010570xfc00707f
VFWREDUSUM.VS110001-----------001-----10101110xc40010570xfc00707f
VFWSUB.VFVector floating-point widening subtraction with scalar110010-----------101-----10101110xc80050570xfc00707f
VFWSUB.VVVector floating-point widening subtraction110010-----------001-----10101110xc80010570xfc00707f
VFWSUB.WF110110-----------101-----10101110xd80050570xfc00707f
VFWSUB.WV110110-----------001-----10101110xd80010570xfc00707f
VMFEQ.VF011000-----------101-----10101110x600050570xfc00707f
VMFEQ.VV011000-----------001-----10101110x600010570xfc00707f
VMFGE.VF011111-----------101-----10101110x7c0050570xfc00707f
VMFGT.VF011101-----------101-----10101110x740050570xfc00707f
VMFLE.VF011001-----------101-----10101110x640050570xfc00707f
VMFLE.VV011001-----------001-----10101110x640010570xfc00707f
VMFLT.VF011011-----------101-----10101110x6c0050570xfc00707f
VMFLT.VV011011-----------001-----10101110x6c0010570xfc00707f
VMFNE.VF011100-----------101-----10101110x700050570xfc00707f
VMFNE.VV011100-----------001-----10101110x700010570xfc00707f