From a89fc94c20ff61bf695774549508897e51866eb7 Mon Sep 17 00:00:00 2001 From: Jacob Lifshay Date: Mon, 31 Jul 2023 19:52:05 -0700 Subject: [PATCH] demo moving pseudocode to separate file --- openpower/isa/av.mdwn | 31 +------------------------------ openpower/isa/av/minmax..mdwn | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 30 deletions(-) create mode 100644 openpower/isa/av/minmax..mdwn diff --git a/openpower/isa/av.mdwn b/openpower/isa/av.mdwn index 94c3e1c8..89c67c86 100644 --- a/openpower/isa/av.mdwn +++ b/openpower/isa/av.mdwn @@ -10,36 +10,7 @@ MM-Form Pseudo-code: - a <- (RA|0) - b <- (RB) - if MMM[0] then # word mode - # shift left by XLEN/2 to make the dword comparison - # do word comparison of the original inputs - a <- a[XLEN/2:XLEN-1] || [0] * XLEN/2 - b <- b[XLEN/2:XLEN-1] || [0] * XLEN/2 - if MMM[1] then # signed mode - # invert sign bits to make the unsigned comparison - # do signed comparison of the original inputs - a[0] <- ¬a[0] - b[0] <- ¬b[0] - # if Rc = 1 then store the result of comparing a and b to CR0 - if Rc = 1 then - if a u b then - CR0 <- 0b010 || XER[SO] - if MMM[2] then # max mode - # swap a and b to make the less than comparison do - # greater than comparison of the original inputs - t <- a - a <- b - b <- t - # store the entire selected source (even in word mode) - # if Rc = 1 then store the result of comparing a and b to CR0 - if a u b then + CR0 <- 0b010 || XER[SO] + if MMM[2] then # max mode + # swap a and b to make the less than comparison do + # greater than comparison of the original inputs + t <- a + a <- b + b <- t + # store the entire selected source (even in word mode) + # if Rc = 1 then store the result of comparing a and b to CR0 + if a