<div>On Wed, Nov 7, 2012 at 10:52 PM, Anitha Boyapati <span dir="ltr"><<a href="mailto:anitha.boyapati@gmail.com" target="_blank">anitha.boyapati@gmail.com</a>></span> wrote:</div><div class="gmail_quote"><div>... </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">For the multiclass "fma4s", why is "mr" not inherited from "VEX_W" and<br>
"MemOp4" like those of "rm" or "rr" ?<br></blockquote><div><br></div><div>Hey Anitha,</div><div><br></div><div>The VEX.W bit is used to denote operand order. In other words, this bit allows for a memop to be used as either the second or third source operand of an FMA instruction, offering greater flexibility.</div>
<div><br></div><div>To conceptualize:</div><div><br></div><div><span style="font-size:10pt;font-family:Helvetica">VFMADDSD </span><span style="font-size:10pt;font-family:Helvetica;font-style:oblique">xmm1, xmm2, xmm3/mem64, xmm4</span><span style="font-size:10pt;font-family:ArialMT">   VEX.W == 0</span></div>
<div><span style="font-size:10pt;font-family:Helvetica">VFMADDSD </span><span style="font-size:10pt;font-family:Helvetica;font-style:oblique">xmm1, xmm2, xmm3, xmm4/mem64</span><span style="font-size:10pt;font-family:ArialMT">   VEX.W == 1</span></div>
<div><span style="font-size:10pt;font-family:ArialMT"><br></span></div><div><span style="font-size:10pt;font-family:ArialMT">So, logically, one could create the rr pattern with the VEX.W bit set or not.</span></div><div><span style="font-size:10pt;font-family:ArialMT"><br>
</span></div><div><font face="ArialMT">The MemOp4 flag is a similar mechanism for setting the ModRM byte, indicating that the second and third source operands have been swapped.</font></div><div><font face="ArialMT"><br></font></div>
<div><font face="ArialMT">-Cameron</font></div></div>