Integer Multiplication Arithmetic

Multiply two integer operands, taking the low, high, or wide part of the product.

Vendor-Neutral Definition

d = (a * b), truncated to the low half, the high half, or a widened result depending on the selected form.
⚠️ Cross-vendor mappings describe semantic relationships and are not guaranteed one-to-one compiler translations.
equivalent with restrictions Both compute an integer product; PTX selects the result slice (lo/hi/wide) via a modifier on one mnemonic, AMDGPU via distinct mnemonics.
Property NVIDIA PTX AMDGPU
Instruction mul s_mul_i32, v_mul_lo_u32
ISA Layer Virtual Native
Data Types f32, f64, s16, s32, s64, u16, u32, u64 i32, u32
Version / Target Introduced PTX ISA 1.0 gfx942/gfx1100, gfx942/gfx1100

Important Differences

  • PTX's mul.{lo,hi,wide} selects the result slice explicitly on one mnemonic; AMDGPU uses separate mnemonics per slice (e.g. v_mul_lo_u32 for the low 32 bits) with a separate high-part instruction for the upper bits.

Source Evidence

Verification method: documentation