Copyright (C) 2000-2012 |
GNU Info (nasm.info)Section B.4.238B.4.238. `PMULHRWC', `PMULHRIW': Multiply Packed 16-bit Integers With Rounding, and Store High Word --------------------------------------------------------------------------------------------------- PMULHRWC mm1,mm2/m64 ; 0F 59 /r [CYRIX,MMX] PMULHRIW mm1,mm2/m64 ; 0F 5D /r [CYRIX,MMX] These instructions take two packed 16-bit integer inputs, multiply the values in the inputs, round on bit 15 of each result, then store bits 15-30 of each result to the corresponding position of the destination register. * For `PMULHRWC', the destination is the first source operand. * For `PMULHRIW', the destination is an implied register (worked out as described for `PADDSIW' (*Note Section B.4.200::)). The operation of this instruction is: dst[0-15] := (src1[0-15] *src2[0-15] + 0x00004000)[15-30] dst[16-31] := (src1[16-31]*src2[16-31] + 0x00004000)[15-30] dst[32-47] := (src1[32-47]*src2[32-47] + 0x00004000)[15-30] dst[48-63] := (src1[48-63]*src2[48-63] + 0x00004000)[15-30] See also `PMULHRWA' (*Note Section B.4.239::) for a 3DNow! version of this instruction. automatically generated by info2www version 1.2.2.9 |