<div dir="ltr">On 16 May 2013 21:52, JF Bastien <span dir="ltr"><<a href="mailto:jfb@google.com" target="_blank">jfb@google.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr">I've attached a patch that should address both of your concerns. It adds the command-line option, and the defaults stays the same except for ARMv7+ Linux and PNaCl. I also moved the alignment test away from fast-isel.ll into its own file, and added invocations for each of these use cases. That allowed me to also rename some of the test functions to be more descriptive.<div>

<br></div><div>Please take a look and let me know if this new change does what you would expect.<br></div></div></blockquote><div><br></div><div style>The patch looks good to me, except that AllowsUnalignedMem is not guaranteed to be false by that point on subsequent calls. It was a fault on the previous code as well, I guess. I wouldn't save the "else false" in the default case.</div>
<div style><br></div><div style>Anton, any comments?</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra">I think I understand something: ARM is growing out of its typically embedded roots, and I currently care about LLVM's ARM as "consumer ARMv7a", whereas you want to also please other users who have typically been closer to the system. Would it be worth making a distinction between A/R/M profiles at some later time, or something along those lines?<br>
</div></div></blockquote><div><br></div><div style>It's not a matter of pleasing people, just making sure we don't break existing code for the sake of localized performance improvements.</div><div style><br></div>
<div style>And bare metal has nothing to to with the profile of the chip, you can run bare or OS on any profile A/R/M.</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="im"><div><span style="color:rgb(34,34,34)">Shouldn't this just be:</span><br></div></div><div><div>  mrc p15, 0, r0, c1, c0, 0</div><div>  orr r0, r0, #2</div>
<div>  mcr p15, 0, r0, c1, c0, 0</div></div></div></div></div></blockquote><div><br></div><div style>It's not about how hard it is to do it, it's the same as saying that your code will only run on a machine that has a special feature, when manufacturers are allowed to not implement them, or OSs not required to set them.</div>
<div style><br></div><div style><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">
<div class="gmail_quote"><div>Agreed that as-is my previous change should, at the minimum, have been prominently in release notes, and most probably at some major milestone. I hope the attached change is more agreeable.</div>
</div></div></div></blockquote><div><br></div><div style>Well, the change as it was couldn't exist, even if they were blinking red on the release notes. We gave no warning that the default behaviour would change, and that's just not right. Since we're assuming that Linux will *always* set unaligned access on v7, that change in default is not as blatant as bare metal and is probably harmless.</div>
<div style><br></div><div style>cheers,</div><div style>--renato</div><div style><br></div></div><br></div></div>