v_mad_legacy_u16 GPU Native ISA AMD Vector

V MAD LEGACY U16 Vector Arithmetic

v_mad_legacy_u16

Multiply add of unsigned short values. Has non-standard rule for OPSEL.

Encoding

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

Operands

Operand details have not yet been curated for this instruction.

GFX Target Compatibility

Per-target GFX compatibility has not yet been verified for this instruction.

Supports saturation (unsigned 16-bit integer domain). If OPSEL[3] is 0 Result is written to 16 LSBs of destination VGPR and hi 16 bits are written as 0 (this is different from V_MAD_U16). If OPSEL[3] is 1 Result is written to 16 MSBs of destination VGPR and lo 16 bits are preserved.

Related

More in Vector Arithmetic

Reference

AMDGPU / GFX ISA

Semantics

tmp = S0.u16 * S1.u16 + S2.u16; if OPSEL.u4[3] then D0 = { tmp.u16, D0[15 : 0] } else D0 = { 16'0, tmp.u16 } endif

Sources