From a666521f541b1ba8bd87957b564a2270c21b76d2 Mon Sep 17 00:00:00 2001 From: lkcl Date: Mon, 25 Apr 2022 17:50:10 +0100 Subject: [PATCH] --- openpower/isa/svfixedarith.mdwn | 54 +++++++++------------------------ 1 file changed, 15 insertions(+), 39 deletions(-) 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)