summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2015-12-02 18:12:57 +0000
committerTim Northover <tnorthover@apple.com>2015-12-02 18:12:57 +0000
commitf520eff7827912ab1f9aa2dd08fcd2b0bfa4f945 (patch)
tree34caa0a7a53260c2d71ff91ae7ad0db1031464ec /llvm/lib/Target/ARM
parent53d13997925027af4e1d70d314d6bcb0b159672b (diff)
downloadbcm5719-llvm-f520eff7827912ab1f9aa2dd08fcd2b0bfa4f945.tar.gz
bcm5719-llvm-f520eff7827912ab1f9aa2dd08fcd2b0bfa4f945.zip
AArch64: use ldxp/stxp pair to implement 128-bit atomic loads.
The ARM ARM is clear that 128-bit loads are only guaranteed to have been atomic if there has been a corresponding successful stxp. It's less clear for AArch32, so I'm leaving that alone for now. llvm-svn: 254524
Diffstat (limited to 'llvm/lib/Target/ARM')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index e8f3ab65bdb..33f74a3ba9f 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -11891,7 +11891,7 @@ bool ARMTargetLowering::shouldExpandAtomicStoreInIR(StoreInst *SI) const {
TargetLowering::AtomicExpansionKind
ARMTargetLowering::shouldExpandAtomicLoadInIR(LoadInst *LI) const {
unsigned Size = LI->getType()->getPrimitiveSizeInBits();
- return ((Size == 64) && !Subtarget->isMClass()) ? AtomicExpansionKind::LLSC
+ return ((Size == 64) && !Subtarget->isMClass()) ? AtomicExpansionKind::LLOnly
: AtomicExpansionKind::None;
}
OpenPOWER on IntegriCloud