umul (sm4 - asm)

Unsigned integer multiply.

umul destHI[.mask], destLO[.mask], src0[.swizzle], src1[.swizzle]
Item Description
destHI
[in] The high 32 bits of the result, per component.
destLO
[in] The low 32 bits of the result, per component.
src0
[in] The components by which to multiply src1.
src1
[in] The components by which to multiply src0.

Remarks

This instruction performs a component-wise multiply of unsigned 32-bit operands src0 and src1, producing the correct full 64-bit result per component. The low 32 bits per component are placed in destLO. The high 32 bits per component are placed in destHI.

You can specify either destHI or destLO as NULL instead of specifying a register if the high or low 32 bits of the 64-bit result are not needed.

This instruction applies to the following shader stages:

Vertex Shader Geometry Shader Pixel Shader
x x x

Minimum Shader Model

This function is supported in the following shader models.

Shader Model Supported
Shader Model 5 yes
Shader Model 4.1 yes
Shader Model 4 yes
Shader Model 3 (DirectX HLSL) no
Shader Model 2 (DirectX HLSL) no
Shader Model 1 (DirectX HLSL) no

Shader Model 4 Assembly (DirectX HLSL)