From: Eli Friedman Date: Tue, 13 Sep 2011 22:19:59 +0000 (+0000) Subject: Fix check for unaligned load/store so it doesn't catch over-aligned load/store. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=596f447467b35d7513c997cd9098026938676461;p=oota-llvm.git Fix check for unaligned load/store so it doesn't catch over-aligned load/store. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139649 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 4c58fe92266..9d86c759b82 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -3402,7 +3402,7 @@ void SelectionDAGBuilder::visitAtomicLoad(const LoadInst &I) { EVT VT = EVT::getEVT(I.getType()); - if (I.getAlignment() * 8 != VT.getSizeInBits()) + if (I.getAlignment() * 8 < VT.getSizeInBits()) report_fatal_error("Cannot generate unaligned atomic load"); SDValue L = @@ -3432,7 +3432,7 @@ void SelectionDAGBuilder::visitAtomicStore(const StoreInst &I) { EVT VT = EVT::getEVT(I.getValueOperand()->getType()); - if (I.getAlignment() * 8 != VT.getSizeInBits()) + if (I.getAlignment() * 8 < VT.getSizeInBits()) report_fatal_error("Cannot generate unaligned atomic store"); if (TLI.getInsertFencesForAtomic())