On Tue, Oct 30, 2012 at 4:10 PM, Craig Topper <span dir="ltr"><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
That's true too. I've been meaning to go through and remove the alignments from all the AVX patterns in X86InstrSSE.td and in X86InstrInfo.cpp. I believe FMA4 already doesn't alignments in the td file.</blockquote>
<div><br></div><div>Yup, the memop pattern fragment references the unaligned memory target flag, namely Subtarget->hasVectorUAMem(), and checks the load's actual alignment. Removing the alignment checks in the folding table will show a good number of new folds in practice. </div>
<div><br></div><div>We could extend the memop pattern fragments further for small performance gains on specific architectures, like SandyBridge. But, I think I'll have to save that for another day.</div><div><br></div>
<div>Would you mind if we go ahead with the last patch and handle the alignment issues separately? I am under a strict code sharing policy and project creep like such can cause trouble. </div><div><br></div><div>Also, I do not have commit access for trunk. Just FYI.</div>
<div><br></div><div>Thanks again,</div><div>Cameron</div><div><br></div></div>