clarify sbf / sif / sof
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 3 Oct 2019 09:00:39 +0000 (10:00 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 3 Oct 2019 09:00:39 +0000 (10:00 +0100)
simple_v_extension/specification/bitmanip.mdwn

index 32d228e07180ab3cfb4af478ffabbe351dbdaa17..04e1b04186808f5f35cf8c61b77099ae68e4c07d 100644 (file)
@@ -110,9 +110,11 @@ This is similar but not identical to BitManip "CLZ". CLZ returns XLEN when no bi
 
 ## sbf - set before first bit
 
-Sets all LSBs leading up to (excluding) where an LSB in the src is set.
-If the second operand is non-zero, this process begins each time
-(including the first time) from where 1s are set in the second operand.
+Sets all LSBs leading up to (excluding) where an LSB in the src is set,
+and sets zeros including and following the src bit found.
+If the second operand is non-zero, this process continues the search
+(in the same LSB to MSB order) beginning each time (including the first time)
+from where 1s are set in the second operand.
 
 A side-effect of the search is that when src is zero, the output is all ones.
 If the second operand is non-zero and the src is zero, the output is a
@@ -191,8 +193,14 @@ Pseudo-code:
 
 ## sif - set including first bit
 
-Similar to sbf except including the bit which ends a run.
-The side-effect of when the src is zero is also the same as for sbf.
+Similar to sbf except including the bit which ends a run.  i.e:
+Sets all LSBs leading up to *and including* where an LSB in the src is set,
+and sets zeros following the point where the src bit is found.
+
+The side-effect of when the src is zero is also the same as for sbf:
+output is all 1s if src2 is zero, and output is equal to src2 if src2
+is non-zero.
+
 
      # Example