title: Can't store 32-bit float in 64-bit long
body: <p>Clang can't compile the following code:</p>
  <pre class="lang-c prettyprint-override"><code>long Result = 0;
  __asm {
      ; call 32-bit float-returning function, then
      MOVSS Result, xmm0
  };
  </code></pre>
  <p>I'm getting &quot;error : invalid operand for instruction&quot;, pointing to <code>MOVSS qword ptr Result, xmm0</code>.</p>
  <p>I'm using clang++ 5.0.300080, targeting x86_64 for Android, and passing <code>-fasm-blocks</code>.</p>
  <p>I've checked on Godbolt/Compiler Explorer, but it has no problem producing the code with Clang 5.0.1.</p>
  <p>Any fixes or workarounds besides making Result a 32-bit variable?</p>
  <p>Cheers</p>