The opportunity is therefore taken to also augment CR logical arithmetic as well, using a mask-based paradigm that takes into consideration multiple bits of each CR Field (eq/lt/gt/ov). By contrast
v3.0B Scalar CR instructions (crand, crxor) only allow a single bit calculation.
+Also strangely there is no v3.0 instruction for moving CR Fields,
+so that is corrected here with `mcrfm`. The opportunity is taken
+to allow inversion of CR Fields when copied.
+
Basic concept:
* CR-based instructions that perform simple AND/OR/XOR from any four bits
result = mask & CR{BFA}
if M:
result |= CR{BF} & ~mask
- else:
- result ^= mode
+ result ^= mode
CR{BF} = result
Note that when M=1 this operation is a Read-Modify-Write on the CR Field