Non-Confidential | PDF version | ARM 100069_0608_00_en | ||

| ||||

Home > Advanced SIMD Instructions (32-bit) > VQDMULL (by vector or by scalar) |

Vector Saturating Doubling Multiply Long.

`VQDMULL`

{

}.`cond`

`datatype`

, `Qd`

,
`Dn`

`Dm`

`VQDMULL`

{

}.`cond`

`datatype`

, `Qd`

,
`Dn`

[`Dm`

]
`x`

where:

`cond`

is an optional condition code.

`datatype`

must be either

`S16`

or`S32`

.`Qd`

,`Dn`

are the destination vector and the first operand vector.

`Dm`

is the vector holding the second operand, for a by vector operation.

`Dm`

[`x`

]is the scalar holding the second operand, for a by scalar operation.

`VQDMULL`

multiplies corresponding elements in two vectors, doubles the
results and places the results in the destination register.

The second operand can be a scalar instead of a vector.

If any of the results overflow, they are saturated. The sticky QC flag (FPSCR bit[27]) is set if saturation occurs.