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
This commit is contained in:
Eli Friedman 2011-09-13 22:19:59 +00:00
parent 4aa3fea8b1
commit 596f447467

View File

@ -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())