From: Luke Kenneth Casson Leighton Date: Wed, 28 Sep 2022 18:33:48 +0000 (+0100) Subject: add double-sld pseudocode, first draft X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=10ddc342b1fc075712668bb72463ec811d121949;p=openpower-isa.git add double-sld pseudocode, first draft --- diff --git a/openpower/isa/svfixedarith.mdwn b/openpower/isa/svfixedarith.mdwn index 7dfd4c55..b44c4dba 100644 --- a/openpower/isa/svfixedarith.mdwn +++ b/openpower/isa/svfixedarith.mdwn @@ -45,3 +45,26 @@ Pseudo-code: Special Registers Altered: None + +# [DRAFT] Twin (Quad) Left Shift Doubleword + +Z23-Form + +* dsld RT,RA,RB,sm (Rc=0) +* dsld. RT,RA,RB,sm (Rc=1) + +Pseudo-code: + + sh <- (RB) + src <- (RA) || (RT) + n <- sh[XLEN-7:XLEN-1] + r <- ROTL128(src, n) + if sh[XLEN-8] = 0 then + m <- MASK(0, XLEN*-1-n, XLEN*2) + else m <- [0]*XLEN*2 + r <- r & m + RA <- r[XLEN:XLEN*2-1] + +Special Registers Altered: + + CR0 (if Rc=1)