From ec8f33b53db598bc229ffcf8c5c22b2085208a3d Mon Sep 17 00:00:00 2001 From: lkcl Date: Mon, 28 Dec 2020 15:37:09 +0000 Subject: [PATCH] --- openpower/sv/vector_ops.mdwn | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/openpower/sv/vector_ops.mdwn b/openpower/sv/vector_ops.mdwn index e3603e8b4..6210310b1 100644 --- a/openpower/sv/vector_ops.mdwn +++ b/openpower/sv/vector_ops.mdwn @@ -254,9 +254,21 @@ Pseudo-code: # Carry-lookahead +used not just for carry lookahead, also a special type of predication mask operation. + * * * * * `((P|G)+G)^P` + +two versions: scalar int version and CR based version. + +scalar int version acts as a scalar carry-propagate, reading XER.CA as input, P and G as regs, and taking a radix argument. the end bits go into XER.CA and CR0.ge + +vector version takes CR0.so as carry in, stores in CR0.so and CR.ge end bits. + +if zero (no propagation) then CR0.eq is zero + +CR based version, TODO. -- 2.30.2