From: lkcl Date: Mon, 16 May 2022 13:40:53 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~2195 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9638ce1ebd8833cfccb9c3582410c375777c7995;p=libreriscv.git --- diff --git a/openpower/sv/bitmanip.mdwn b/openpower/sv/bitmanip.mdwn index 521a42c77..60feffa5c 100644 --- a/openpower/sv/bitmanip.mdwn +++ b/openpower/sv/bitmanip.mdwn @@ -325,17 +325,6 @@ uint_xlen_t shadduw(uint_xlen_t rs1, uint_xlen_t rs2, uint8_t sh) { } ``` -# cmix - -based on RV bitmanip, covered by ternlog bitops - -``` -uint_xlen_t cmix(uint_xlen_t RA, uint_xlen_t RB, uint_xlen_t RC) { - return (RA & RB) | (RC & ~RB); -} -``` - - # bitmask set based on RV bitmanip singlebit set, instruction format similar to shift @@ -1076,7 +1065,21 @@ term = (RC) (RS) = gfpmsubr(factor1, factor2, term) ``` -# Already in POWER ISA +# Already in POWER ISA or subsumed + +Lists operations either included as part of +other bitmanip operations, or are already in +Power ISA. + +## cmix + +based on RV bitmanip, covered by ternlog bitops + +``` +uint_xlen_t cmix(uint_xlen_t RA, uint_xlen_t RB, uint_xlen_t RC) { + return (RA & RB) | (RC & ~RB); +} +``` ## count leading/trailing zeros with mask @@ -1156,7 +1159,8 @@ RA = result ## bit to byte permute similar to matrix permute in RV bitmanip, which has XOR and OR variants, -these perform a transpose. TODO this looks VSX is there a scalar variant +these perform a transpose (bmatflip). +TODO this looks VSX is there a scalar variant in v3.0/1 already do j = 0 to 7