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

| ||||

Home > Floating-point Instructions (32-bit) > VCVT (between floating-point and fixed-point) |

Convert between floating-point and fixed-point numbers.

`VCVT`

{

}.`cond`

`type`

.F64 `Dd`

, `Dd`

, #`fbits`

`VCVT`

{

}.`cond`

`type`

.F32 `Sd`

,```
Sd
```

, #`fbits`

`VCVT`

{

}`cond`

`.F64.`

`type Dd`

, `Dd`

, #`fbits`

`VCVT`

{

}`cond`

`.F32.`

`type Sd`

, `Sd`

, #`fbits`

where:

`cond`

is an optional condition code.

`type`

can be any one of:

`S16`

16-bit signed fixed-point number.

`U16`

16-bit unsigned fixed-point number.

`S32`

32-bit signed fixed-point number.

`U32`

32-bit unsigned fixed-point number.

`Sd`

is a single-precision register for the operand and result.

`Dd`

is a double-precision register for the operand and result.

`fbits`

is the number of fraction bits in the fixed-point number, in the range 0-16 if

is`type`

`S16`

or`U16`

, or in the range 1-32 if

is`type`

`S32`

or`U32`

.

The first two forms of this instruction convert from floating-point to fixed-point.

The third and fourth forms convert from fixed-point to floating-point.

In all cases the fixed-point number is contained in the least significant 16 or 32 bits of the register.

These instructions can produce Input Denormal, Invalid Operation, or Inexact exceptions.