VRECPS and VRSQRTS

VRECPS (Vector Reciprocal Step) 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.

VRSQRTS (Vector Reciprocal Square Root Step) multiplies the elements of one vector by the corresponding elements of another vector, subtracts each of the results from 3, divides these results by two, and places the final results into the elements of the destination vector.

Show/hideSyntax

Vop{cond}.F32 {Qd}, Qn, Qm
Vop{cond}.F32 {Dd}, Dn, Dm

where:

op

must be either RECPS or RSQRTS.

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.

Show/hideResults for out-of-range inputs

Table 25 shows the results where input values are out of range.

Table 25. Results for out-of-range inputs

1st operand element2nd operand elementResult element (VRECPS)Result element (VRSQRTS)
NaN-Default NaNDefault NaN
-NaNDefault NaNDefault NaN
+/- 0.0 or denormal+/- infinity2.01.5
+/- infinity+/- 0.0 or denormal2.01.5

Show/hideUsage

The Newton-Raphson iteration:

xn+1 = xn(2-dxn)

converges to (1/d) if x0 is the result of VRECPE applied to d.

The Newton-Raphson iteration:

xn+1 = xn(3-dxn2)/2

converges to (1/d)if x0 is the result of VRSQRTE applied to d.

Show/hideSee also

Reference:
Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0489C
Non-ConfidentialID080411