v_mad_i64_i32 GPU Native ISA AMD Vector
V MAD I64 I32 Vector Arithmetic
v_mad_i64_i32
Multiply two signed integer inputs, add a third signed integer input, store the result into a 64-bit vector register and store the overflow/carryout…
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 signed integer inputs, add a third signed integer input, store the result into a 64-bit vector register and store the overflow/carryout into a scalar mask register.
Semantics
{ D1.i1, D0.i64 } = 65'B(65'I(S0.i32) * 65'I(S1.i32) + 65'I(S2.i64))
Example
v_mad_i64_i32 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