From e2a56f9c8112754fb8ca9113647ee872b5db4c33 Mon Sep 17 00:00:00 2001 From: lkcl Date: Mon, 20 Mar 2023 12:40:53 +0000 Subject: [PATCH] --- openpower/sv/rfc/ls007.mdwn | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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 -- 2.30.2