Register Move Data Movement
Copy a value into a register, or materialize an immediate/address constant.
Vendor-Neutral Definition
d = a, a straight copy with no arithmetic or type conversion.
⚠️ Cross-vendor mappings describe semantic relationships and are not guaranteed one-to-one compiler
translations.
equivalent with restrictions
Both copy a value into a register with no arithmetic; AMDGPU splits scalar and vector forms where PTX has one generic mov.
| Property | NVIDIA PTX | AMDGPU |
|---|---|---|
| Instruction | mov | v_mov_b32, s_mov_b32 |
| ISA Layer | Virtual | Native |
| Data Types | b16, b32, b64, f32, f64, pred, s16, s32, s64, u16, u32, u64 | b32 |
| Version / Target Introduced | PTX ISA 1.0 | gfx1100, gfx1100 |
Important Differences
- PTX's mov additionally covers materializing a special-register value, a function/label address, or a variable's address in a single instruction; AMDGPU's plain move instructions only copy an already-computed operand - address materialization is handled by separate relocation/lowering, not the mov instruction itself.
Source Evidence
- Parallel Thread Execution ISA ↗ - NVIDIA Corporation
- "AMD Instinct MI300" Instruction Set Architecture: Reference Guide ↗ - Advanced Micro Devices, Inc.
Verification method: documentation