frecpe
FRECPE <Zd>.<T>, <Zn>.<T>
Floating-point Reciprocal Estimate.
Pseudocode Operation
No pseudocode available.
Reference
View in Arm A64 ISA Reference ↗
Arm A64 ISA
Instruction Forms
| Encoding | Instruction | ISA | Bit pattern | ||
|---|---|---|---|---|---|
| 0x5EF9D800 | FRECPE <Hd>, <Hn> | A64 | 01 | 0 | 11110 | 1 | 111100 | 11101 | 10 | Rn | Rd | ||
| 0x5EA1D800 | FRECPE <V><d>, <V><n> | A64 | 01 | 0 | 111101 | sz | 10000 | 11101 | 10 | Rn | Rd | ||
| 0x0EF9D800 | FRECPE <Vd>.<T>, <Vn>.<T> | A64 | 0 | Q | 0 | 01110 | 1 | 111100 | 11101 | 10 | Rn | Rd | ||
| 0x0EA1D800 | FRECPE <Vd>.<T>, <Vn>.<T> | A64 | 0 | Q | 0 | 011101 | sz | 10000 | 11101 | 10 | Rn | Rd | ||
| 0x650E3000 | FRECPE <Zd>.<T>, <Zn>.<T> | A64 | 01100101 | size | 00111 | 0 | 001100 | Zn | Zd |
Description
Find the approximate reciprocal of each floating-point element of the source vector, and place the results in the corresponding elements of the destination vector. This instruction is unpredicated.
Operation
CheckSVEEnabled();
constant integer VL = CurrentVL;
constant integer PL = VL DIV 8;
constant integer elements = VL DIV esize;
bits(VL) operand = Z[n, VL];
bits(VL) result;
for e = 0 to elements-1
bits(esize) element = Elem[operand, e, esize];
Elem[result, e, esize] = FPRecipEstimate(element, FPCR);
Z[d, VL] = result;