# Ternary Bitwise Logic Immediate TLI-Form * ternlogi RT,RA,RB,TLI (Rc=0) * ternlogi. RT,RA,RB,TLI (Rc=1) Pseudo-code: result <- [0] * XLEN do i = 0 to XLEN - 1 idx <- (RT)[i] || (RA)[i] || (RB)[i] result[i] <- TLI[7-idx] RT <- result Special Registers Altered: CR0 (if Rc=1) # Add With Shift By Immediate Z23-Form * sadd RT,RA,RB,SH (Rc=0) * sadd. RT,RA,RB,SH (Rc=1) Pseudo-code: n <- (RB) m <- ((0b0 || SH) + 1) RT <- (n[m:XLEN-1] || [0]*m) + (RA) Special Registers Altered: CR0 (if Rc=1) # Add With Shift By Immediate Word Z23-Form * saddw RT,RA,RB,SH (Rc=0) * saddw. RT,RA,RB,SH (Rc=1) Pseudo-code: n <- ([0]*(XLEN/2)) || (RB)[XLEN/2:XLEN-1] if (RB)[XLEN/2] = 1 then n[0:XLEN/2-1] <- [1]*(XLEN/2) m <- ((0b0 || SH) + 1) RT <- (n[m:XLEN-1] || [0]*m) + (RA) Special Registers Altered: CR0 (if Rc=1) # Add With Shift By Immediate Unsigned Word Z23-Form * sadduw RT,RA,RB,SH (Rc=0) * sadduw. RT,RA,RB,SH (Rc=1) Pseudo-code: n <- ([0]*(XLEN/2)) || (RB)[XLEN/2:XLEN-1] m <- ((0b0 || SH) + 1) RT <- (n[m:XLEN-1] || [0]*m) + (RA) Special Registers Altered: CR0 (if Rc=1)