FMAX (scalar)
Floating-point Maximum (scalar).
Syntax
FMAX
Hd
, Hn
, Hm
; Half-precision
FMAX
Sd
, Sn
, Sm
; Single-precision
FMAX
Dd
, Dn
, Dm
; Double-precision
Where:
Hd
- Is the 16-bit name of the SIMD and FP destination register.
Hn
- Is the 16-bit name of the first SIMD and FP source register.
Hm
- Is the 16-bit name of the second 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 first SIMD and FP source register.
Sm
- Is the 32-bit name of the second 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 first SIMD and FP source register.
Dm
- Is the 64-bit name of the second SIMD and FP source register.
Operation
Floating-point Maximum (scalar). This instruction compares the two source SIMD and FP registers, and writes the larger of the two floating-point values to the destination SIMD and FP register.
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 =
max(V
n, Vm)