From: lkcl Date: Mon, 25 Apr 2022 16:50:10 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~2595 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a666521f541b1ba8bd87957b564a2270c21b76d2;p=libreriscv.git --- diff --git a/openpower/isa/svfixedarith.mdwn b/openpower/isa/svfixedarith.mdwn index 685d152f5..6c8abbdb1 100644 --- a/openpower/isa/svfixedarith.mdwn +++ b/openpower/isa/svfixedarith.mdwn @@ -1,5 +1,7 @@ # [DRAFT] Twin Multiply and Add Doubleword +VA-Form + * madded RT,RA,RB,RC Pseudo-code: @@ -18,51 +20,25 @@ Special Registers Altered: # [DRAFT] Twin Divide Quad Unsigned -XO-Form - -* divmod2du RT,RA,RB (OE=0 Rc=0) -* divmod2du. RT,RA,RB (OE=0 Rc=1) -* divmod2duo RT,RA,RB (OE=1 Rc=0) -* divmod2duo. RT,RA,RB (OE=1 Rc=1) - -Pseudo-code: - -# Divide Word Extended Unsigned - -XO-Form - -* divweu RT,RA,RB (OE=0 Rc=0) -* divweu. RT,RA,RB (OE=0 Rc=1) -* divweuo RT,RA,RB (OE=1 Rc=0) -* divweuo. RT,RA,RB (OE=1 Rc=1) - -Pseudo-code: - -# Divide Word Extended Unsigned - -XO-Form +VA-Form -* divweu RT,RA,RB (OE=0 Rc=0) -* divweu. RT,RA,RB (OE=0 Rc=1) -* divweuo RT,RA,RB (OE=1 Rc=0) -* divweuo. RT,RA,RB (OE=1 Rc=1) +* divmod2du RT,RA,RB,RC Pseudo-code: - dividend[0:(XLEN*2)-1] <- (RA) || [0]*XLEN - divisor[0:(XLEN*2)-1] <- [0]*XLEN || (RB) - if divisor = [0]*(XLEN*2) then - overflow <- 1 - else + + + + if ((RA)