title: what is the order of source operands in AT&T syntax compared to Intel syntax?
body: <p>The Intel ISA reference documentation for this instruction is clear:</p>
  
  <pre><code>VPBLENDVB xmm1, xmm2, xmm3/m128, xmm4
  </code></pre>
  
  <blockquote>
    <p>Select byte values from <code>xmm2</code> and <code>xmm3/m128</code> using mask bits in the specified mask register, <code>xmm4</code>, and store the values into <code>xmm1</code>.</p>
    
    <p><code>xmm1</code> is the destination, <code>xmm2/3/4</code> are source operands</p>
  </blockquote>
  
  <p>So what does this become using AT&amp;T syntax? We know that the destination register must be last, but what is the order of source operands?</p>
  
  <pre><code>vpblendvb $xmm2, $xmm3, $xmm4, $xmm1
  </code></pre>
  
  <p>or</p>
  
  <pre><code>vpblendvb $xmm4, $xmm3, $xmm2, $xmm1
  </code></pre>
  
  <p>or something else?</p>