<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 14, 2018 at 12:44 PM, Friedman, Eli <span dir="ltr"><<a href="mailto:efriedma@codeaurora.org" target="_blank">efriedma@codeaurora.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
There are three forms of vld1.64 which load two registers (encoding comments generated using "llvm-mc --arch=arm -mattr=+neon -show-encoding"):<br>
<br>
        vld1.64 {d16, d17}, [r2]!       @ encoding: [0xcd,0x0a,0x62,0xf4]<br>
        vld1.64 {d16, d17}, [r2:64]!    @ encoding: [0xdd,0x0a,0x62,0xf4]<br>
        vld1.64 {d16, d17}, [r2:128]!   @ encoding: [0xed,0x0a,0x62,0xf4]<br>
<br>
The first requires no alignment, the second requires 64-bit alignment, the third requires 128-bit alignment.</blockquote><div><br></div><div>I see the first form (no alignment) from "clang -S ..."</div><div>When I compile to object via "clang -c ...", subsequent disassembly shows the third form (128-bit alignment).</div><div>What's up with that?</div><div><br></div><div>G<br></div><div> </div></div></div></div>