[PATCH] D23000: [X86] Improve 64-bit shifts on 32-bit targets (PR14593)
David Majnemer via llvm-commits
llvm-commits at lists.llvm.org
Sun Jul 31 09:15:32 PDT 2016
majnemer added a subscriber: majnemer.
================
Comment at: lib/Target/X86/X86ISelLowering.cpp:28675
@@ +28674,3 @@
+ isa<ConstantSDNode>(Op1.getOperand(1)) &&
+ Op1.getConstantOperandVal(1) == 1) {
+ return DAG.getNode(Opc, DL, VT, Op0, Op1.getOperand(0),
----------------
eli.friedman wrote:
> Maybe it makes sense to split this into two separate if statements; one checking that the two outer shifts match, one checking that the inner shift is a shift by one. I found it a bit tricky to pick through. (I sort of wish we had an equivalent to IR pattern matching in SelectionDAG.)
I actually worked on such a thing: http://pastebin.com/raw/A7WfuVC0
Think it makes sense for me to return to it?
Repository:
rL LLVM
https://reviews.llvm.org/D23000
More information about the llvm-commits
mailing list