X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=openpower%2Fisa%2Fcomparefixed.mdwn;h=163b320964c19b330aa650de5d880568c1f3991b;hb=f7602e599e6557e45249b80d888631a9cf241cb7;hp=3620a608f5d0c724675b754cdae66dcd01642a5c;hpb=61099356383fab79f6a2024b6a6514a6af15e239;p=libreriscv.git diff --git a/openpower/isa/comparefixed.mdwn b/openpower/isa/comparefixed.mdwn index 3620a608f..163b32096 100644 --- a/openpower/isa/comparefixed.mdwn +++ b/openpower/isa/comparefixed.mdwn @@ -5,7 +5,7 @@ D-Form * cmpi BF,L,RA,SI if L = 0 then a <- EXTS((RA)[32:63]) - else a <- (RA) + else a <- (RA) if a < EXTS(SI) then c <- 0b100 else if a > EXTS(SI) then c <- 0b010 else c <- 0b001 @@ -21,10 +21,12 @@ X-Form * cmp BF,L,RA,RB - if L = 0 then a <- EXTS((RA)[32:63] ) - b <- EXTS((RB)[32:63]) - else a <- (RA) - b <- (RB) + if L = 0 then + a <- EXTS((RA)[32:63] ) + b <- EXTS((RB)[32:63]) + else + a <- (RA) + b <- (RB) if a < b then c <- 0b100 else if a > b then c <- 0b010 else c <- 0b001 @@ -41,7 +43,7 @@ D-Form * cmpli BF,L,RA,UI if L = 0 then a <- [0]*32 || (RA)[32:63] - else a <- (RA) + else a <- (RA) if a u ( [0]*48 || UI) then c <- 0b010 else c <- 0b001 @@ -57,10 +59,12 @@ X-Form * cmpl BF,L,RA,RB - if L = 0 then a <- [0]*32 || (RA)[32:63] - b <- [0]*32 || (RB)[32:63] - else a <- (RA) - b <- (RB) + if L = 0 then + a <- [0]*32 || (RA)[32:63] + b <- [0]*32 || (RB)[32:63] + else + a <- (RA) + b <- (RB) if a u b then c <- 0b010 else c <- 0b001 @@ -84,12 +88,12 @@ X-Form if L=0 then in_range <- (src22lo <= src1) & (src1 <= src22hi) else - in_range <- ((src21lo <= src1) & (src1 <= src21hi)) | - in_range <- ((src22lo <= src1) & (src1 <= src22hi)) - CR[4×BF+32] <- 0b0 - CR[4×BF+33] <- in_range - CR[4×BF+34] <- 0b0 - CR[4×BF+35] <- 0b0 + in_range <- (((src21lo <= src1) & (src1 <= src21hi)) | + ((src22lo <= src1) & (src1 <= src22hi))) + CR[4*BF+32] <- 0b0 + CR[4*BF+33] <- in_range + CR[4*BF+34] <- 0b0 + CR[4*BF+35] <- 0b0 Special Registers Altered: @@ -101,19 +105,20 @@ X-Form * cmpeqb BF,RA,RB - src1 <- GPR[RA].bit[56:63] - match <- (src1 = (RB)[00:07]) | - (src1 = (RB)[08:15]) | - (src1 = (RB)[16:23]) | - (src1 = (RB)[24:31]) | - (src1 = (RB)[32:39]) | - (src1 = (RB)[40:47]) | - (src1 = (RB)[48:55]) | - (src1 = (RB)[56:63]) - CR[4×BF+32] <- 0b0 - CR[4×BF+33] <- match - CR[4×BF+34] <- 0b0 - CR[4×BF+35] <- 0b0 + src1 <- GPR[RA] + src1 <- src1[56:63] + match <- ((src1 = (RB)[00:07]) | + (src1 = (RB)[08:15]) | + (src1 = (RB)[16:23]) | + (src1 = (RB)[24:31]) | + (src1 = (RB)[32:39]) | + (src1 = (RB)[40:47]) | + (src1 = (RB)[48:55]) | + (src1 = (RB)[56:63])) + CR[4*BF+32] <- 0b0 + CR[4*BF+33] <- match + CR[4*BF+34] <- 0b0 + CR[4*BF+35] <- 0b0 Special Registers Altered: