From: lkcl Date: Mon, 20 Mar 2023 12:40:53 +0000 (+0000) Subject: (no commit message) X-Git-Tag: opf_rfc_ls001_v3~139 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e2a56f9c8112754fb8ca9113647ee872b5db4c33;p=libreriscv.git --- diff --git a/openpower/sv/rfc/ls007.mdwn b/openpower/sv/rfc/ls007.mdwn index a38560e53..e6f215c75 100644 --- a/openpower/sv/rfc/ls007.mdwn +++ b/openpower/sv/rfc/ls007.mdwn @@ -177,6 +177,19 @@ Add this section to Book I 3.3.13 Pseudocode: ``` +src1 <- VSR[32xAX+A] +src2 <- VSR[32xBX+B] +src3 <- VSR[32xCX+C] +result <- (~src1&~src2&~src3 & qword_bit_splat(IMM.bit[0]) | + (~src1&~src2& src3 & qword_bit_splat(IMM.bit[1]) | + (~src1& src2&~src3 & qword_bit_splat(IMM.bit[2]) | + (~src1& src2& src3 & qword_bit_splat(IMM.bit[3]) | + ( src1&~src2&~src3 & qword_bit_splat(IMM.bit[4]) | + ( src1&~src2& src3 & qword_bit_splat(IMM.bit[5]) | + ( src1& src2&~src3 & qword_bit_splat(IMM.bit[6]) | + ( src1& src2& src3 & qword_bit_splat(IMM.bit[7]) +VSR[32xTX+T] ← result + result <- [0] * 64 do i = 0 to 63 idx <- (RT)[i] || (RA)[i] || (RB)[i] # compute index from current bits