<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Aug 5, 2014 at 12:23 PM, Sanjay Patel <span dir="ltr"><<a href="mailto:spatel@rotateright.com" target="_blank">spatel@rotateright.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div><div>Sorry about that. Let me know if the patch below corrects all problems.<br></div></div></div></div>
</blockquote><div><br></div><div>NP, just normal post commit review. =] </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div><div><br></div>
1. I don't think we can use 'CHECK-NEXT' in the ARM cases because the order of the moves to r0 and r1 are not fixed. We can't even use 'CHECK' to confirm both of the #0 and the #-<a href="tel:2147483648" value="+12147483648" target="_blank">2147483648</a> move instructions because plain 'CHECK' imposes ordering. Is there another directive that doesn't impose ordering?<br>
</div></div></div></blockquote><div><br></div><div>CHECK-DAG is designed for this, although it has its own problems...</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div><div>
</div><br>2. The 'CHECK-NOT' in the ARM cases was requested by Renato. Should the equivalent also go in the X86 tests?<br></div></div></blockquote><div><br></div><div>It usually isn't needed when you can just check all of the instructions for very small and focused functions (like these).</div>
<div><br></div><div>But I honestly didn't look at the ARM tests. I'll trust the folks who work on the ARM backend there. I've mostly only touched the X86 backend.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div></div>3. The X86 cases are just one instruction + return, so I've added the CHECK-NEXT for 'retq' there.<br></div></blockquote><div><br></div><div>Yep, this is about what I do.</div><div><br></div><div>
I would also include the trailing ":" on the CHECK-LABEL (there are other strings in the assembly that match just the name)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<br></div>4. I don't think we need to regex the register names in any of these cases. The ABI specifies the return registers, so they are fixed.<br><div><div></div></div></blockquote></div><br>Agreed. I only regex register names when they might (legitimately) not be the return value.</div>
</div>