FRINTX (scalar)
Floating-point Round to Integral exact, using current rounding mode (scalar).
Syntax
FRINTX
Hd
, Hn
; Half-precision
FRINTX
Sd
, Sn
; Single-precision
FRINTX
Dd
, Dn
; Double-precision
Where:
Hd
- Is the 16-bit name of the SIMD and FP destination register.
Hn
- Is the 16-bit name of the SIMD and FP source register.
Sd
- Is the 32-bit name of the SIMD and FP destination register.
Sn
- Is the 32-bit name of the SIMD and FP source register.
Dd
- Is the 64-bit name of the SIMD and FP destination register.
Dn
- Is the 64-bit name of the SIMD and FP source register.
Operation
Floating-point Round to Integral exact, using current rounding mode (scalar). This instruction rounds a floating-point value in the SIMD and FP source register to an integral floating-point value of the same size using the rounding mode that is determined by the FPCR, and writes the result to the SIMD and FP destination register.
An Inexact exception is raised when the result value is not numerically equal to the input value. A zero input gives a zero result with the same sign, an infinite input gives an infinite result with the same sign, and a NaN is propagated as for normal arithmetic.
This instruction can generate a floating-point exception. Depending on the settings in FPCR, the exception results in either a flag being set in FPSR, or a synchronous exception being generated. For more information, see Floating-point exception traps in the Arm® Architecture Reference Manual Arm®v8, for Arm®v8‑A architecture profile.
Depending on the settings in the CPACR_EL1, CPTR_EL2, and CPTR_EL3 registers, and the current Security state and Exception level, an attempt to execute the instruction might be trapped.
.V
d =
roundToIntegralExact(V
n)