Non-Confidential | PDF version | ARM DUI0473M | ||

| ||||

Home > NEON Instructions > VRECPS |

Vector Reciprocal Step.

`VRECPS`

{

}`cond`

```
.F32
```

{

},
`Qd`

, `Qn`

`Qm`

`VRECPS`

{

}`cond`

`.F32`

{

}, `Dd`

,
`Dn`

`Dm`

where:

`cond`

is an optional condition code.

`Qd`

,`Qn`

,`Qm`

are the destination vector, the first operand vector, and the second operand vector, for a quadword operation.

`Dd`

,`Dn`

,`Dm`

are the destination vector, the first operand vector, and the second operand vector, for a doubleword operation.

`VRECPS`

multiplies the elements of one vector by the corresponding elements
of another vector, subtracts each of the results from 2, and places the final results into
the elements of the destination vector.

The Newton-Raphson iteration:

`x`

_{n+1}

` = `

`x`

_{n}

`(2-``dx`

_{n})

converges to (`1/`

) if
`d`

`x`

_{0} is the result of `VRECPE`

applied to

.`d`

The following table shows the results where input values are out of range:

**Table 12-14 Results for out-of-range inputs in VRECPS**

1st operand element | 2nd operand element | Result element |
---|---|---|

NaN | - | Default NaN |

- | NaN | Default NaN |

+/– 0.0 or denormal | +/– infinity | 2.0 |

+/– infinity | +/– 0.0 or denormal | 2.0 |