v_frexp_mant_f32 GPU Native ISA AMD Vector

V FREXP MANT F32 Vector Arithmetic

v_frexp_mant_f32

Extract the binary significand, or mantissa, of a single-precision float input and store the result as a single- precision float into a vector…

Encoding

Verified bit-level encoding data is not yet available for this instruction. The instruction-format classification below (VOP1) is well-documented and stable; exact per-target opcode/field bit positions have not yet been imported from a verified source.
Format VOP1
Execution Unit

Operands

Operand details have not yet been curated for this instruction.

GFX Target Compatibility

TargetSupport
gfx1100✅ Supported

This operation satisfies the invariant S0.f32 = significand * (2 ** exponent). Result range is in (-1.0,-0.5][0.5,1.0) in normal cases. See also V_FREXP_EXP_I32_F32, which returns integer exponent. See the C library function frexp() for more information.

Related

More in Vector Arithmetic

Reference

AMDGPU / GFX ISA

Description

Extract the binary significand, or mantissa, of a single-precision float input and store the result as a single- precision float into a vector register.

Semantics

if ((64'F(S0.f32) == +INF) || (64'F(S0.f32) == -INF) || isNAN(64'F(S0.f32))) then D0.f32 = S0.f32 else D0.f32 = mantissa(S0.f32) endif

Example

v_frexp_mant_f32 v5, v1

A real instruction accepted by the LLVM assembler, taken verbatim from LLVM's own AMDGPU MC test suite (gfx11). Not from an AMD document, and not authored here.

Sources