Pseudo-code:
- if L = 0 then a <- EXTS((RA)[32:63])
+ if L = 0 then a <- EXTS((RA)[XLEN/2:XLEN-1])
else a <- (RA)
if a < EXTS(SI) then c <- 0b100
else if a > EXTS(SI) then c <- 0b010
Pseudo-code:
if L = 0 then
- a <- EXTS((RA)[32:63])
- b <- EXTS((RB)[32:63])
+ a <- EXTS((RA)[XLEN/2:XLEN-1])
+ b <- EXTS((RB)[XLEN/2:XLEN-1])
else
a <- (RA)
b <- (RB)
Pseudo-code:
- if L = 0 then a <- [0]*32 || (RA)[32:63]
+ if L = 0 then a <- [0]*(XLEN/2) || (RA)[XLEN/2:XLEN-1]
else a <- (RA)
- if a <u ([0]*48 || UI) then c <- 0b100
- else if a >u ([0]*48 || UI) then c <- 0b010
+ if a <u ([0]*(XLEN-16) || UI) then c <- 0b100
+ else if a >u ([0]*(XLEN-16) || UI) then c <- 0b010
else c <- 0b001
CR[4*BF+32:4*BF+35] <- c || XER[SO]
Pseudo-code:
if L = 0 then
- a <- [0]*32 || (RA)[32:63]
- b <- [0]*32 || (RB)[32:63]
+ a <- [0]*(XLEN/2) || (RA)[XLEN/2:XLEN-1]
+ b <- [0]*(XLEN/2) || (RB)[XLEN/2:XLEN-1]
else
a <- (RA)
b <- (RB)
Pseudo-code:
- src1 <- EXTZ((RA)[56:63])
- src21hi <- EXTZ((RB)[32:39])
- src21lo <- EXTZ((RB)[40:47])
- src22hi <- EXTZ((RB)[48:55])
- src22lo <- EXTZ((RB)[56:63])
+ src1 <- EXTZ((RA)[XLEN-8:XLEN-1])
+ src21hi <- EXTZ((RB)[XLEN-32:XLEN-23])
+ src21lo <- EXTZ((RB)[XLEN-24:XLEN-17])
+ src22hi <- EXTZ((RB)[XLEN-16:XLEN-9])
+ src22lo <- EXTZ((RB)[XLEN-8:XLEN-1])
if L=0 then
in_range <- (src22lo <= src1) & (src1 <= src22hi)
else
Pseudo-code:
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]))
+ src1 <- src1[XLEN-8:XLEN-1]
+ match <- 0b0
+ for i = 0 to ((XLEN/8)-1)
+ match <- (match | (src1 = (RB)[8*i:8*i+7]))
CR[4*BF+32] <- 0b0
CR[4*BF+33] <- match
CR[4*BF+34] <- 0b0