# umul (sm4 - asm)

Unsigned integer multiply.

umul destHI[.mask], destLO[.mask], src0[.swizzle], src1[.swizzle] |
---|

Item | Description |
---|---|

[in] The high 32 bits of the result, per component. | |

[in] The low 32 bits of the result, per component. | |

[in] The components by which to multiply | |

[in] The components by which to multiply |

## 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 |

## Related topics