<div dir="ltr">tst64.ll is attached from clang -S -emit-llvm tst64.c</div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jan 24, 2015 at 11:56 AM, Mehdi Amini <span dir="ltr"><<a href="mailto:mehdi.amini@apple.com" target="_blank">mehdi.amini@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Can you transform you C file into a LLVM IR lit test?<br>
<br>
See example in test/CodeGen/X86/*.ll<br>
<br>
Thanks,<br>
<br>
Mehdi<br>
<div><div class="h5"><br>
> On Jan 24, 2015, at 11:47 AM, Chris Sears <<a href="mailto:chris.sears@gmail.com">chris.sears@gmail.com</a>> wrote:<br>
><br>
> This is a patch to X86TargetLowering::LowerToBT() which was hashed over on the Developers list with Intel concurring.<br>
><br>
> It checks whether the -Oz (optimize for size) flag is set or whether the containing function's PGO cold attribute is set. If either are true it emits BT for tests of bits 8-31 instead of TEST. Previously, TEST was always used for bits 0-31 and BT was always used for bits 32-63.<br>
><br>
> Since the BT instruction is 16b smaller than TEST for the bits 8-31 case, 32b vs 48b, and not irredeemably slower, it makes sense to use BT in cases where size matters.<br>
><br>
> Similar logic is possible for BTC and BTS. However, LowerToBTC and LowerToBTS would need to be written and used and that's a larger patch.<br>
</div></div>> <pat><tst64.c>_______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Ite Ursi</div>
</div>