as a simple and natural relaxation of the usual restriction on the Vector
Looping which would terminate if the destination was marked as a Scalar.
Scalar Reduction by contrast *keeps issuing Vector Element Operations*
-even though the destination register is marked as scalar. Thus it is
+even though the destination register is marked as scalar *and*
+the same register is used as a source register. Thus it is
up to the programmer to be aware of this, observe some conventions,
and thus end up achieving the desired outcome of scalar reduction.
* One of the sources is a Vector
* the destination is a scalar
* optionally but most usefully when one source scalar register is
- also the scalar destination (which may be informally termed
- the "accumulator")
+ also the scalar destination (which may be informally termed by
+ convention the "accumulator")
* That the source register type is the same as the destination register
type identified as the "accumulator". Scalar reduction on `cmp`,
`setb` or `isel` makes no sense for example because of the mixture