s_max_num_f16 GPU Native ISA AMD Scalar

Scalar Arithmetic

s_max_num_f16

Select the IEEE maximumNumber() of two half-precision float inputs and store the selected value into a scalar register.

Also written as s_max_f16. AMD's machine-readable ISA specification lists this name for the same instruction.

Encoding

Binary Layout (AMD CDNA 5)
10
31:30
1001100
29:23
SDST
22:16
SSRC1
15:8
SSRC0
7:0
 

The ENC_SOP2 layout from AMD's machine-readable ISA specification (AMD CDNA 5). Opcode 76 in OP rebuilds 0xA6000000, an identifier AMD lists for this encoding. The same in AMD RDNA 4.

Format SOP2
Width 32 bits
Opcode 76
Identifier 0xA6000000

Operands

  • SDST
    Written. All scalar destination operands. Data format: 16-bit half-precision floating point value. (OPR_SDST, FMT_NUM_F16)
  • SSRC0
    Read. All scalar operands. Covers all operands that are allowed as scalar sources. Data format: 16-bit half-precision floating point value. (OPR_SSRC, FMT_NUM_F16)
  • SSRC1
    Read. All scalar operands. Covers all operands that are allowed as scalar sources. Data format: 16-bit half-precision floating point value. (OPR_SSRC, FMT_NUM_F16)

In AMD's order, as its machine-readable ISA specification lists them for the ENC_SOP2 encoding (AMD CDNA 5).

GFX Target Compatibility

TargetSupport
gfx1100✅ Supported

Related

More in Scalar Arithmetic

Reference

AMDGPU / GFX ISA

Example

s_max_num_f16 s5, 0, s2

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