The mnemonic vs. condition of xc.cmov.{t,f} are flipped; we agreed to flip them back.
[x] specification
[x] implementation
Vs. xc.macc.2, which uses crd2 and crd1 as the MSBs and LSBs mirroring the assembly language syntax, all the shifts, i.e., xc.msll, xc.msll.i, xc.msrl, and xc.msrl.i, do the opposite; we agreed to flip the shifts to match.
From a proof-read, two issues popped up:
The mnemonic vs. condition of xc.cmov.{t,f} are flipped; we agreed to flip them back.
Vs. xc.macc.2, which uses crd2 and crd1 as the MSBs and LSBs mirroring the assembly language syntax, all the shifts, i.e., xc.msll, xc.msll.i, xc.msrl, and xc.msrl.i, do the opposite; we agreed to flip the shifts to match.