Vector Operations Proposals - Draft Document

Background

Based on the ongoing discussions in the Systems' Libraries WG, there are gaps that have been identified in the RISC-V Vector 1.0 specification for . A few different proposals are being proposed to close the gap, e.g., Rivos zip/unzip, Bytedance vtrn, vabd, etc.

As the proposals are being discussed, there is also work being done to add support for the instructions to compilers, as well as evaluation through the path of implementations (whether its GEM5, FPGA, RTL or something else). In order to align the two sides - requirements providers / user and the implementors, let’s summarise the instructions, their behaviour and potential encodings.

Proposal Summary

Instructions

Description

Encodings

Notes

Instructions

Description

Encodings

Notes

vzipeven

 

 

https://lists.riseproject.dev/g/RISE-System-Libraries-WG/message/163

vzipodd

 

 

vzip2a

 

 

vzip2b

 

 

vunzip2a

 

 

vunzip2b

 

 

vabdu.[vv, vx, vi]

 

 

RISCV64 new vector instructions requirements for video / multimedia

vqdotu.[vv, vx]

Vector 8-bit Unsigned Dot Product

 

https://lists.riscv.org/g/sig-vector/message/116

Are the other variants (signed, etc.) useful?