From: lkcl Date: Tue, 22 Dec 2020 18:02:31 +0000 (+0000) Subject: (no commit message) X-Git-Tag: convert-csv-opcode-to-binary~1036 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ed1abb76b6d931e5925acd14604ea9050d246fe0;p=libreriscv.git --- diff --git a/openpower/sv/vector_ops.mdwn b/openpower/sv/vector_ops.mdwn index 682b3973b..a450aea5e 100644 --- a/openpower/sv/vector_ops.mdwn +++ b/openpower/sv/vector_ops.mdwn @@ -54,8 +54,49 @@ Example The vmsbf.m instruction takes a mask register as input and writes results to a mask register. The instruction writes a 1 to all active mask elements before the first source element that is a 1, then writes a 0 to that element and all following active elements. If there is no set bit in the source vector, then all active elements in the destination are written with a 1. +## sifm -## vmsif +The vector mask set-including-first instruction is similar to set-before-first, except it also includes the element with a set bit. + + sifm RT, RA, RB!=0 + + # Example + + 7 6 5 4 3 2 1 0 Bit number + + 1 0 0 1 0 1 0 0 v3 contents + vmsif.m v2, v3 + 0 0 0 0 0 1 1 1 v2 contents + + 1 0 0 1 0 1 0 1 v3 contents + vmsif.m v2, v3 + 0 0 0 0 0 0 0 1 v2 + + 1 1 0 0 0 0 1 1 RB vcontents + 1 0 0 1 0 1 0 0 v3 contents + vmsif.m v2, v3, v0.t + 1 1 x x x x 1 1 v2 contents ## vmsof +The vector mask set-only-first instruction is similar to set-before-first, except it only sets the first element with a bit set, if any. + + sofm RT, RA, RB + + # Example + + 7 6 5 4 3 2 1 0 Bit number + + 1 0 0 1 0 1 0 0 v3 contents + vmsof.m v2, v3 + 0 0 0 0 0 1 0 0 v2 contents + + 1 0 0 1 0 1 0 1 v3 contents + vmsof.m v2, v3 + 0 0 0 0 0 0 0 1 v2 + + 1 1 0 0 0 0 1 1 RB vcontents + 1 1 0 1 0 1 0 0 v3 contents + vmsof.m v2, v3, v0.t + 0 1 x x x x 0 0 v2 content +