32] * SRC[47:32]) &gt;&gt; 14) + 1;
    temp3[31:0] = INT32 ((DEST[63:48] * SRc[63:48]) &gt;&gt; 14) + 1;
    DEST[15:0] = temp0[16:1];
    DEST[31:16] = temp1[16:1];
    DEST[47:32] = temp2[16:1];
    DEST[63:48] = temp3[16:1];</pre>
<p><strong>PMULHRSW (with 128-bit operand)</strong></p>
<pre>    temp0[31:0] = INT32 ((DEST[15:0] * SRC[15:0]) &gt;&gt;14) + 1;
    temp1[31:0] = INT32 ((DEST[31:16] * SRC[31:16]) &gt;&gt;14) + 1;
    temp2[31:0] = INT32 ((DEST[47:32] * SRC[47:32]) &gt;&gt;14) + 1;
    temp3[3