vmul10ecuq
Vector Multiply-by-10 Extended & write Carry-out Unsigned Quadword
Multiplies the unsigned quadword integer in vector register VA by 10, adds the least-significant bit of VB as a carry-in digit, and writes the carry-out of the result to vector register VX.
Details
The vmul10ecuq instruction treats the contents of vector register VA as an unsigned 128-bit (quadword) integer and multiplies it by 10, adding the least-significant bit of vector register VB as an extended carry-in value. The high-order carry-out bit of the multiplication result is written to vector register VX. This instruction is intended for use in multi-precision decimal arithmetic operations, particularly when chaining multiply-by-10 operations across multiple quadwords.
Programming Note
This instruction is ideal for high-performance multi-precision decimal arithmetic, especially when performing chained multiply-by-10 operations. Ensure that the input values in VA and VB are correctly aligned as unsigned 128-bit integers to avoid unexpected results. The carry-out written to VX should be used as the extended carry-in for subsequent operations to maintain precision.
Example
Encoding
Operands
-
VX
Target Vector Register -
VA
Source Vector Register -
VB
Source Vector Register