[PATCH] D14971: X86: Emit smaller code for moving 8-bit immediates

Michael Kuperstein via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 25 00:19:55 PST 2015


mkuper added a comment.

Thanks, Hans!

I think Dave is better qualified to answer the performance question than I am.

In http://reviews.llvm.org/D14971#296239, @joerg wrote:

> Thanks for working on this, it should add some breathing room for the FreeBSD and NetBSD boot blocks. This is part of https://llvm.org/bugs/show_bug.cgi?id=8784.
>
> About the patch, this should be CFI instrumentation if we ever want to go towards instruction precise .eh_frame.


The end result of the discussion of r251904 was that we're moving in that direction. See http://reviews.llvm.org/D14948.


================
Comment at: lib/Target/X86/X86InstrInfo.cpp:5289
@@ -5263,1 +5288,3 @@
+  case X86::MOV64ImmSExti8:
+    return ExpandMOVImmSExti8(MIB, *this);
   case X86::SETB_C8r:
----------------
I know this is all over the file, but it's kind of odd.
Any particular reason you can think of that all these static functions that receive a *this parameter aren't private members instead?

================
Comment at: test/CodeGen/X86/movtopush.ll:117
@@ -116,2 +116,3 @@
 ; NORMAL-LABEL: test4:
-; NORMAL: movl    $2, %eax
+; NORMAL: pushl $2
+; NORMAL: popl %eax
----------------
Ha. This looks positively silly. Probably the right thing to do (this is what ICC does here as well), but, nonetheless, silly. :-)


http://reviews.llvm.org/D14971





More information about the llvm-commits mailing list