summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>2018-05-25 09:01:23 +0000
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>2018-05-25 09:01:23 +0000
commit307e782cbceee321817bd3adc0a2679348dff6cc (patch)
treec46de2e81a0abbfd0114afc1684e4f0dd5d2863e /llvm/lib
parent7d484fae2be8cbaafb1c3b42b659089df5a77d9c (diff)
downloadbcm5719-llvm-307e782cbceee321817bd3adc0a2679348dff6cc.tar.gz
bcm5719-llvm-307e782cbceee321817bd3adc0a2679348dff6cc.zip
[SystemZ] Bugfix in combineSTORE().
Remember to check if store is truncating before calling combineTruncateExtract(). Review: Ulrich Weigand llvm-svn: 333262
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/SystemZ/SystemZISelLowering.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp b/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
index 14a96389698..e69afd8a36a 100644
--- a/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
+++ b/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
@@ -5357,7 +5357,7 @@ SDValue SystemZTargetLowering::combineSTORE(
// for the extraction to be done on a vMiN value, so that we can use VSTE.
// If X has wider elements then convert it to:
// (truncstoreiN (extract_vector_elt (bitcast X), Y2), Z).
- if (MemVT.isInteger()) {
+ if (MemVT.isInteger() && SN->isTruncatingStore()) {
if (SDValue Value =
combineTruncateExtract(SDLoc(N), MemVT, SN->getValue(), DCI)) {
DCI.AddToWorklist(Value.getNode());
OpenPOWER on IntegriCloud