How does VMERGE.VIM handle masking?
It has no ordinary v0 execution mask; if a mask operand appears in the syntax, that operand is data, not an extra execution mask.
Use v0 mask bits to select element-wise between vs2 and the immediate source, writing vd.
VMERGE.VIM is a RISC-V V vector merge instruction. It explicitly uses v0.t: v0.mask[i]=0 selects vs2[i], and v0.mask[i]=1 selects the second source (immediate). This is not the ordinary vm execution-mask form.
VMERGE uses v0.t as selection data: 0 selects vs2, 1 selects the second source. Do not treat it as the ordinary vm=0 execution mask.
Understand this scenario with real code like «vmerge.vim v8, v4, 7, v0.t».
Understand this scenario with real code like «vmerge.vim v8, v4, 7, v0.t».
It has no ordinary v0 execution mask; if a mask operand appears in the syntax, that operand is data, not an extra execution mask.