v_mad_u64_u32 GPU Native ISA AMD Vector
V MAD U64 U32 Vector Arithmetic
v_mad_u64_u32
Multiply two unsigned integer inputs, add a third unsigned integer input, store the result into a 64-bit vector register and store the…
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.
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.
In VOP3 the VCC destination may be an arbitrary SGPR-pair.
Related
More in Vector Arithmetic
Reference
AMDGPU / GFX ISA
Description
Multiply two unsigned integer inputs, add a third unsigned integer input, store the result into a 64-bit vector register and store the overflow/carryout into a scalar mask register.
Semantics
{ D1.u1, D0.u64 } = 65'B(65'U(S0.u32) * 65'U(S1.u32) + 65'U(S2.u64))
Example
v_mad_u64_u32 v[5:6], s6, s105, s105, s[6:7]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
- User Guide for AMDGPU Backend ↗ - LLVM Project
-
"AMD Instinct MI300" Instruction Set Architecture: Reference Guide ↗
- Advanced Micro Devices, Inc.
Reference Guide, page 349. - LLVM MC assembler tests for AMDGPU (gfx11) ↗ - LLVM Project