Pseudo-code:
n <- (RB)[58:63]
- v <- ROTL128([0]*64 || (RA), n)
- mask <- ¬MASK(64, 63-n)
- RT <- v[64:127] | ((RC) & mask)
- RS <- v[0:63]
+ v <- ROTL64((RA), n)
+ mask <- MASK(64, 63-n)
+ RT <- (v[0:63] & mask) | ((RC) & ¬mask)
+ RS <- v[0:63] & ¬mask
Special Registers Altered:
svstate.vl = 3
svstate.maxvl = 3
e = ExpectedState(pc=8, int_regs=gprs)
- e.intregs[5] = 0x0000_0000_0000_0000 # it's down the other end...
self.add_case(prog, gprs, expected=e, initial_svstate=svstate)
def case_sv_bigint_mul_by_scalar(self):