This repository has been archived by the owner on Mar 20, 2024. It is now read-only.
Zero-extend variants of vmv.x.s and vmv.s.x #388
Labels
Resolve after v1.0
Does not need to be resolved for v1.0 draft
It looks a bit asymmetric that there are instruction for loading and zero-extending values from memory (for vector and non-vector loads) but when moving the first vector element it's always sign-extended.
For example, to move the first vector element into a scalar register without sign-extending it one has to mask the superfluous sign-bits again, e.g.:
There was issue #254 - but from reading the discussion there I'm not sure if adding zero-extending variants of vmv.x.s/vmv.s.x is already off the table.
Adding those zero-extending variants would make some programs a bit shorter and arguably the instruction set more symmetric/less surprising.
The text was updated successfully, but these errors were encountered: