buffer_atomic_fmin_x2 GPU Native ISA AMD Vector
Buffer Memory
Select the minimum of two double-precision float inputs, given two values stored in the data register and a location in a buffer surface. Update the buffer surface with the selected value. Store the original value from buffer surface into a vector register iff the GLC bit is set.
Encoding
Operands
-
VDATA
Written. Operand must be a vector GPR. Uses an 8-bit operand field. Data format: Value can be anything. (OPR_VGPR, FMT_ANY) -
VADDR
Read. Operand must be a vector GPR. Uses an 8-bit operand field. Data format: Value can be anything. (OPR_VGPR, FMT_ANY) -
SRSRC
Read. N/A Data format: 128-bit buffer resource constant. (OPR_SREG_NONULL, FMT_RSRC_SCRATCH) -
SOFFSET
Read. Vector memory operand that may be a scalar register, m0 or an inline constant. Data format: Value can be anything. (OPR_SREG_M0_INL, FMT_ANY)
In AMD's order, as its machine-readable ISA specification lists them for the ENC_MUBUF encoding (AMD RDNA 2).
GFX Target Compatibility
Per-target GFX compatibility has not yet been verified for this instruction.
Related
More in Buffer Memory
Reference
Example
buffer_atomic_fmin_x2 v[1:2], off, s[12:15], s4A real instruction accepted by the LLVM assembler, taken verbatim from LLVM's own AMDGPU MC test suite (gfx7_asm_mubuf.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