[PATCH] D23000: [X86] Improve 64-bit shifts on 32-bit targets (PR14593)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 31 12:44:10 PDT 2016


RKSimon added a comment.

Thanks Eli.


================
Comment at: lib/Target/X86/X86ISelLowering.cpp:28679
@@ +28678,3 @@
+        }
+        // Test for ADD( Y, Y ) as an equivalent to SHL( Y, 1 ).
+        if (InnerShift == ISD::SHL && Op1.getOpcode() == ISD::ADD &&
----------------
eli.friedman wrote:
> If DAGCombine doesn't transform Y+Y to Y<<1, it should.  (instcombine definitely does this.)  Not really important for now, though.
In the old codegen we were seeing code like 'leal (%edx,%edx), %eax' being lowered from shl( v, 1 ) IR.


Repository:
  rL LLVM

https://reviews.llvm.org/D23000





More information about the llvm-commits mailing list