<div dir="ltr">Jan,<div><br></div><div>I just noticed that test/CodeGen/X86/xop-intrinsics-x86_64.ll isn't really testing much. I have attached a patch which removes the intrinsics from the test file and the checks still pass.</div><div><br></div><div>It looks like the bulk of this test file was autogenerated. Jan, do you still have the tool that you used to generate the test? We probably need to regenerate it with a more specific set of check lines.</div><div><br></div><div>-- Sean Silva</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 26, 2015 at 5:11 PM, Sean Silva <span dir="ltr"><<a href="mailto:chisophugis@gmail.com" target="_blank">chisophugis@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Craig,<div><br></div><div>In our internal codebase, we had a file xop-instrinsics-x86.ll (not the one upstream, xop-intrinsics-x86_64.ll), a remnant of an internal implementation while PS4's architecture was still confidential. ToT passes the tests in our xop-instrinsics-x86.ll, so really it's just a matter of getting all the goodness out of it and sent upstream, and then throw it away and rely on just xop-intrinsics-x86_64.ll.</div><div><br></div><div>There is some overlap with the upstream xop-intrinsics-x86_64.ll, the rundown is as follows for the intrinsics tested:</div><div>Intrinsics where both have test: 53</div><div>Intrinsics where xop-instrinsics-x86.ll has test, but not xop-intrinsics-x86_64.ll: 20</div><div>Intrinsics where xop-intrinsics-x86_64.ll has test, but not xop-instrinsics-x86.ll: 71</div><div><br></div><div>The ones that xop-instrinsics-x86.ll has a test for, but not ToT xop-intrinsics-x86_64.ll, are the following:</div><div><br></div><div><div>llvm.x86.xop.vfrczpd</div><div>llvm.x86.xop.vfrczpd256</div><div>llvm.x86.xop.vfrczps</div><div>llvm.x86.xop.vfrczps256</div><div>llvm.x86.xop.vfrczsd</div><div>llvm.x86.xop.vfrczss</div><div>llvm.x86.xop.vpcmov.v16qi</div><div>llvm.x86.xop.vpcmov.v2df</div><div>llvm.x86.xop.vpcmov.v2di</div><div>llvm.x86.xop.vpcmov.v4df256</div><div>llvm.x86.xop.vpcmov.v4di256</div><div>llvm.x86.xop.vpcmov.v4sf</div><div>llvm.x86.xop.vpcmov.v4si</div><div>llvm.x86.xop.vpcmov.v8hi</div><div>llvm.x86.xop.vpcmov.v8sf256</div><div>llvm.x86.xop.vpcmov.v8si256</div><div>llvm.x86.xop.vprotbi</div><div>llvm.x86.xop.vprotdi</div><div>llvm.x86.xop.vprotqi</div><div>llvm.x86.xop.vprotwi</div><div><br></div></div><div>I assume that we would probably want to just add tests for the missing intrinsics to the ToT xop-intrinsics-x86_64.ll? Anyway, I've attached the whole file xop-instrinsics-x86.ll so you can take a look.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-- Sean Silva</div></font></span></div>
</blockquote></div><br></div>