3.11.6. VCVTB and VCVTT

Converts between half-precision and single-precision or double-precision without intermediate rounding.

Syntax

VCVT{y}{cond}.F<32|64>.F16 <Sd|Dd>, Sm
VCVT{y}{cond}.F16.F<32|64> Sd, <Sm|Dm>

Where:

y

Specifies which half of the operand register Sm or destination register Sd is used for the operand or destination:

  • If y is B, then the bottom half, bits [15:0], of Sm or Sd is used.

  • If y is T, then the top half, bits [31:16], of Sm or Sd is used.

cond

Is an optional condition code. See Conditional execution.

<Sd|Dd>

Is the destination register.

<Sm|Dm>

Is the operand register.

Operation

This instruction with the .F16.F<32|64> suffix:

  1. Converts the half-precision value in the top or bottom half of a single-precision register to single-precision or double-precision value.

  2. Writes the result to a single-precision or double-precision register.

This instruction with the .F<32|64>.F16 suffix:

  1. Converts the value in a double-precision or single-precision register to half-precision value.

  2. Writes the result into the top or bottom half of a single-precision register, preserving the other half of the target 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