Fixes a bug with __builtin_vsx_lxvdw4x on Little Endian systems
llvm-svn: 241108
diff --git a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
index e3d5fd0..f657c1f 100644
--- a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+++ b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
@@ -9960,7 +9960,10 @@
case ISD::INTRINSIC_W_CHAIN: {
MemIntrinsicSDNode *Intrin = cast<MemIntrinsicSDNode>(N);
Chain = Intrin->getChain();
- Base = Intrin->getBasePtr();
+ // I supppose that similarly to the store case below, this doesn't get
+ // us what we want. Get operand 2 instead.
+ //Base = Intrin->getBasePtr();
+ Base = Intrin->getOperand(2);
MMO = Intrin->getMemOperand();
break;
}