3.11.24. VNMLA, VNMLS and VNMUL

Floating-point multiply with negation followed by add or subtract.

Syntax

VNMLA{cond}.F<32|64> <Sd|Dd>, <Sn|Dn>, <Sm|Dm>
VNMLS{cond}.F<32|64> <Sd|Dd>, <Sn|Dn>, <Sm|Dm>
VNMUL{cond}.F<32|64> {<Sd|Dd>,} <Sn|Dn>, <Sm|Dm>

Where:

cond

Is an optional condition code. See Conditional execution.

<Sd|Dd>

Is the destination floating-point register.

<Sn|Dn>, <Sm|Dm>

Are the operand floating-point registers.

Operation

The VNMLA instruction:

  1. Multiplies two floating-point register values.

  2. Adds the negation of the floating-point value in the destination register to the negation of the product.

  3. Writes the result back to the destination register.

The VNMLS instruction:

  1. Multiplies two floating-point register values.

  2. Adds the negation of the floating-point value in the destination register to the product.

  3. Writes the result back to the destination register.

The VNMUL instruction:

  1. Multiplies together two floating-point register values.

  2. Writes the negation of the result to the destination register.

Restrictions

There are no restrictions.

Condition flags

These instructions do not change the flags.

Copyright © 2015, 2018 Arm. All rights reserved.ARM DUI 0646C
Non-ConfidentialID121118