v_interp_p2_f16_f32 GPU Native ISA AMD Vector
Vector Interpolation
Given a half-precision float P20 parameter of an attribute, a single-precision float J coordinate and the result of a prior V_INTERP_P10_F16_F32…
Encoding
The ENC_VINTERP layout from AMD's machine-readable ISA specification (AMD RDNA 4). Opcode 3 in OP rebuilds 0x00000000CD030000, an identifier AMD lists for this encoding. Bits marked unassigned have no field in the specification. Not the same in every generation: AMD RDNA 3.5 (field layout), AMD RDNA 3 (field layout).
Operands
-
VDST
Written. Operand must be a vector GPR. Uses an 8-bit operand field. Data format: 16-bit half-precision floating point value. (OPR_VGPR, FMT_NUM_F16) -
SRC0
Read. Operand must be a vector GPR. Uses a 9-bit operand field. Data format: 16-bit half-precision floating point value. (OPR_SRC_VGPR, FMT_NUM_F16) -
SRC1
Read. Operand must be a vector GPR. Uses a 9-bit operand field. Data format: 32-bit single-precision floating point value. (OPR_SRC_VGPR, FMT_NUM_F32) -
SRC2
Read. Operand must be a vector GPR. Uses a 9-bit operand field. Data format: 32-bit single-precision floating point value. (OPR_SRC_VGPR, FMT_NUM_F32)
In AMD's order, as its machine-readable ISA specification lists them for the ENC_VINTERP encoding (AMD RDNA 4).
GFX Target Compatibility
| Target | Support |
|---|---|
| gfx1100 | ✅ Supported |
Related
More in Vector Interpolation
Reference
Description
Example
v_interp_p2_f16_f32 v0.l, -v1.l, v2, v3A real instruction accepted by the LLVM assembler, taken verbatim from LLVM's own AMDGPU MC test suite. 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