summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2014-03-15 00:08:26 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2014-03-15 00:08:26 +0000
commitea330fbe491f8b2df520bf8e1d0601f4a06ff69b (patch)
tree0eb344fedcc0ec5c3a3cfd78e1aeb50684514902 /llvm
parent74891cdefe9a4989bb4dca697d60c79b709df55c (diff)
downloadbcm5719-llvm-ea330fbe491f8b2df520bf8e1d0601f4a06ff69b.tar.gz
bcm5719-llvm-ea330fbe491f8b2df520bf8e1d0601f4a06ff69b.zip
R600: Remove unnecessary attempt to zext a pointer.
Private pointers are now always 32-bits. llvm-svn: 203989
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/R600/AMDGPUISelLowering.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/Target/R600/AMDGPUISelLowering.cpp b/llvm/lib/Target/R600/AMDGPUISelLowering.cpp
index 04bab6f9844..4e4b12eacc9 100644
--- a/llvm/lib/Target/R600/AMDGPUISelLowering.cpp
+++ b/llvm/lib/Target/R600/AMDGPUISelLowering.cpp
@@ -769,15 +769,18 @@ SDValue AMDGPUTargetLowering::LowerSTORE(SDValue Op, SelectionDAG &DAG) const {
} else if (Store->getMemoryVT() == MVT::i16) {
Mask = 0xffff;
}
- SDValue TruncPtr = DAG.getZExtOrTrunc(Store->getBasePtr(), DL, MVT::i32);
- SDValue Ptr = DAG.getNode(ISD::SRL, DL, MVT::i32, TruncPtr,
+ SDValue BasePtr = Store->getBasePtr();
+ SDValue Ptr = DAG.getNode(ISD::SRL, DL, MVT::i32, BasePtr,
DAG.getConstant(2, MVT::i32));
SDValue Dst = DAG.getNode(AMDGPUISD::REGISTER_LOAD, DL, MVT::i32,
Chain, Ptr, DAG.getTargetConstant(0, MVT::i32));
- SDValue ByteIdx = DAG.getNode(ISD::AND, DL, MVT::i32, TruncPtr,
+
+ SDValue ByteIdx = DAG.getNode(ISD::AND, DL, MVT::i32, BasePtr,
DAG.getConstant(0x3, MVT::i32));
+
SDValue ShiftAmt = DAG.getNode(ISD::SHL, DL, MVT::i32, ByteIdx,
DAG.getConstant(3, MVT::i32));
+
SDValue SExtValue = DAG.getNode(ISD::SIGN_EXTEND, DL, MVT::i32,
Store->getValue());
OpenPOWER on IntegriCloud