v_mad_co_u64_u32 GPU Native ISA AMD Vector
Vector Arithmetic
Multiply two unsigned integer inputs, add a third unsigned integer input, store the result into a 64-bit vector register and store the…
Also written as
v_mad_u64_u32.
AMD's machine-readable ISA specification lists this name for the same instruction.
Encoding
Operands
-
1: VGPR range
Consecutive vector registers holding a wider value. Written v[3:4] in the assembler example. -
2: special register
Architectural register rather than a general-purpose one. Written null in the assembler example. -
3: immediate
Literal value encoded in the instruction. Written 0xb6db6db7 in the assembler example. -
4: VGPR
Vector general-purpose register, one value per lane. Written v1 in the assembler example. -
5: immediate
Literal value encoded in the instruction. Written 0xffffffffb6db6db7 in the assembler example.
Register classes read from the LLVM assembler example on this page. No source this site uses names these operands, so no names are given.
GFX Target Compatibility
Per-target GFX compatibility has not yet been verified for this instruction.
Related
More in Vector Arithmetic
Reference
Description
Example
v_mad_co_u64_u32 v[3:4], null, 0xb6db6db7, v1, 0xffffffffb6db6db7A real instruction accepted by the LLVM assembler, taken verbatim from LLVM's own AMDGPU MC test suite (gfx13-vop3-literal-canonicalization.s). Not from an AMD document, and not authored here.
Sources
- User Guide for AMDGPU Backend ↗ - LLVM Project
- AMD Machine-Readable GPU ISA Specification ↗ - Advanced Micro Devices, Inc.
- LLVM MC assembler tests for AMDGPU ↗ - LLVM Project