summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2012-09-08 07:46:05 +0000
committerCraig Topper <craig.topper@gmail.com>2012-09-08 07:46:05 +0000
commit0955a9f4e1355f5007b308df7d467ed23b2a5e81 (patch)
treed0b589db5afc2b50f7fa7ebb3f29e468841e551f /llvm/lib/Target
parent6ed296661a93250e54db4067bc466a76d14714a5 (diff)
downloadbcm5719-llvm-0955a9f4e1355f5007b308df7d467ed23b2a5e81.tar.gz
bcm5719-llvm-0955a9f4e1355f5007b308df7d467ed23b2a5e81.zip
Use 256-bit alignment for constant pool value for 256-bit vector FNEG lowering.
llvm-svn: 163463
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 8dccce0cbdb..59d52339ef4 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -8227,10 +8227,11 @@ SDValue X86TargetLowering::LowerFNEG(SDValue Op, SelectionDAG &DAG) const {
else
C = ConstantFP::get(*Context, APFloat(APInt(32, 1U << 31)));
C = ConstantVector::getSplat(NumElts, C);
- SDValue CPIdx = DAG.getConstantPool(C, getPointerTy(), 16);
+ SDValue CPIdx = DAG.getConstantPool(C, getPointerTy());
+ unsigned Alignment = cast<ConstantPoolSDNode>(CPIdx)->getAlignment();
SDValue Mask = DAG.getLoad(VT, dl, DAG.getEntryNode(), CPIdx,
MachinePointerInfo::getConstantPool(),
- false, false, false, 16);
+ false, false, false, Alignment);
if (VT.isVector()) {
MVT XORVT = VT.is128BitVector() ? MVT::v2i64 : MVT::v4i64;
return DAG.getNode(ISD::BITCAST, dl, VT,
OpenPOWER on IntegriCloud