<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJy9U01v2zAM_TX2RVggy7UdH3xoE3QbMKzA0HshW4ytTZZSfeTj34-S0yYddhswQLBJkXp6fKR6I87d8wRkZ5QyR6lHMhgBxAHMjniD3ryXCshR-ol83mwyus3o_eVb08tK7k4Z7kt2unvxBE3xYs3xhbs5Y-sUIhm7d3bI2IZI7euY5ryVAl5OmNOSrHlYgAght1ivNCuvkQUwY0wJi4gVjXhZ9YBmkUxWsazaYgLJynt0WVaiVx-jxdYIFq9aInbZS6Ta5fD73g2zuG4YWPDB6ltaWbO91SUyO7zxOiXjVEROf1NtoziK_vT89IXsrRFhAEe4JhgHa42NTKU-cCUFMXuwXAvslcU9ZBgGL41-h1q-XzPWzGTHZ6kkt0vjjJ_Aku9gNLIfpfPoJbR43uHea5A2Nn9vYSdP4CJnF4YJ5Y5U5qCS1qt1f9H4T7NOZU7mCAfEjtcBEQacRjY-jVOcJn65INoOL3e7M_m2_YEoj-Ro7C9uTcAC8TiRzgVYvUv2oe2v_6_pNUViQYm3hxAP9MET6S_72ngygkYtlTqnIqJmsQLP7Qj-Kvg1vweC2WbgHgTpzyn7gm9XuehK0ZYtz3nwk7Fd0IMCrD8PVnWT93uHlaBiuEZsbuhXeBYdpQ5vv084Sj9h8OgmHbGfj1W5bqp86gZgbcHFrq2KuoK2bgCKlja0qauC0oLnivegXJfkZRqOSyuiQtU2_3cGsmOU4SpqWlN6V63KomZtXReNoJSKpszuKMxcqlXEWRk75rZLkH0YHQYVyumuQe6cHDVAIowMvfQKOqmV1CizczD3KGt6NHHU9IdHELsRe4aznyeeXSL5G_-2iVc>53875</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            inline assembler for LDR neon register not working
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          uncleasm
      </td>
    </tr>
</table>

<pre>
    The following code seems to compile with GCC

```
float32x4_t load_row_asm(float *src, int64_t stride_xm) {
   float32x4_t q0;
   asm("ldr %0, [%1, %2]" : "=&w"(q0) : "r"(src), "r"(stride_xm));
   return q0;
}

ldr v0, [x0, x1]
```
Clang OTOH produces an `error: invalid operand for instruction`

I'm familiar with other Neon register operations requiring prefixes, such as `mul %0.8b, %0.8b, %0.8b`, however there doesn't seem to a prefix to satisfy LDR / workaround the issue.
`asm("ldr q0, [%1, %2]" : "=&w"(q0) : "r"(src), "r"(stride_xm));` would compile, but it would not generally work as the target register would not be allocated by the compiler.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy9U01v2zAM_TXyRVigyLGdHHxoE3QbMKzA0HsgW7StTZZSSc7Hvx8lp01a7DxAcEiRenx8ZBorL_XLALSzWtuTMj1trQTqAUZPg0VvPCgN9KTCQL9ut4TtCHu4fkt2PcnttBUh5-fVPlA05d7Z0174kfB1ClHCH7xrCd9SZUIZ03xwSsL-jDkbSqrHGYhSeo_1ykh-i8yAhHMtHSIWLOKR4hHNZTJ5wUmxwwRK8gd0OcnRK0_R4msEi6XmiJvvEqnN_Pj97o5ZPHcMHITJmXtapNrd6xKZHd94nZNxXkZO_1JtqwWK_vzy_I0enJVTC54KQzEOzlkXmSpzFFpJag_ghJE4K4d3yHBqg7LmHWr-fie8GmknRqWVcPPgbBjA0Z9gDbLvlQ_oJbT43uPd66RcHP7BQafO4CNnP7UDyh2pjJNOWi_WzVXjz2aZ2hzsCY6IHcsBlRa8QTYhrVPcJnEtEG2PxX13oT92vxDliZ6s-yOcnbBBfE6V9xMs3iX7MPbX_zf0kiGxScu3P0J80EyBqnC9NzbQHgxqqfUlNRE1ix0E4XoIN8Fv-Q1QzLatCCBpc0nZV3y3yGSdy02-EVlQQUOtjFYGH3gPY4MJafxRNPNhnBE3VscpZpPT9RDCwWPLKC2eHrdgahZYBB2tj28_X3DnfkMb0E2C4-CfinxdFdlQr8u27VbdWqy6thNVt5LLhudcVBWrVhKaTIsGtK_THLiB0zyzKGWxy1TNGcezLFnJ2KpY5MuSb8pyWUnGmKxysmIwCqUXkcfCuj5zdaLUTL3HoMa-_C2I_aveAKRyiC-mMFhXT6bVgMuRpdp14v4XniJ1LQ">