3.11.4. VCVT and VCVTR between floating-point and integer

Converts a value in a register from floating-point to and from a 32-bit integer.

Syntax

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

Where:

R

If R is specified, the operation uses the rounding mode specified by the FPSCR. If R is omitted. the operation uses the Round towards Zero rounding mode.

cond

Is an optional condition code. See Conditional execution.

Tm

Is the data type for the operand. It must be one of:

  • S32 signed 32-bit value.

  • U32 unsigned 32-bit value.

<Sd|Dd>, <Sm|Dm>

Are the destination register and the operand register.

Operation

These instructions:

  1. Either:

    • Convert a value in a register from floating-point value to a 32-bit integer.

    • Convert from a 32-bit integer to floating-point value.

  2. Place the result in a second register.

The floating-point to integer operation normally uses the Round towards Zero rounding mode, but can optionally use the rounding mode specified by the FPSCR.

The integer to floating-point operation uses the rounding mode specified by the FPSCR.

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