2011 Khronos Group
umulExtended 3G
umulExtended perform a 32- by 32-bit multiply to produce a 64-bit result

## Declaration

void `umulExtended` genUType x genUType y out genUType msb out genUType lsb void `imulExtended` genIType x genIType y out genIType msb out genIType lsb

## Parameters

x

  Specifies the first multiplicand.

y

  Specifies the second multiplicand..

msb

  Specifies the variable to receive the most significant word of the product.

lsb

  Specifies the variable to receive the least significant word of the product.

## Description

`umulExtended` and `imulExtended` perform multiplication of the two 32-bit integer quantities x and y, producing a 64-bit integer result. The 32 least significant bits of this product are returned in lsb and the 32 most significant bits are returned in msb. `umulExtended` and `imulExtended` perform unsigned and signed multiplication, respectively.

## Version Support

#VARTABLECOLS#
#FUNCTABLEHEADER#
umulExtended#newin40#

## See Also

uaddCarry

## Copyright

Copyright 2011 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.