diff options
author | Bradley Smith <bradley.smith@arm.com> | 2016-01-15 10:26:51 +0000 |
---|---|---|
committer | Bradley Smith <bradley.smith@arm.com> | 2016-01-15 10:26:51 +0000 |
commit | 433c22e35cabf8d5db0731aaadff649491d70487 (patch) | |
tree | c7af04c43d2a12029a1781f72a2a1cc4f2c5a7c5 /llvm/lib/Target/ARM/ARMISelLowering.cpp | |
parent | a1189106d5a1b9e9ff57ea6fa53c24e891f1d09c (diff) | |
download | bcm5719-llvm-433c22e35cabf8d5db0731aaadff649491d70487.tar.gz bcm5719-llvm-433c22e35cabf8d5db0731aaadff649491d70487.zip |
[ARM] Add ARMv8-A semaphore/atomic instructions to ARMv8-M Baseline/Mainline
llvm-svn: 257882
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/ARMISelLowering.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp index 65355628b74..bca26e68cb1 100644 --- a/llvm/lib/Target/ARM/ARMISelLowering.cpp +++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp @@ -839,7 +839,8 @@ ARMTargetLowering::ARMTargetLowering(const TargetMachine &TM, // non-atomic form. if (TM.Options.ThreadModel == ThreadModel::Single) setOperationAction(ISD::ATOMIC_FENCE, MVT::Other, Expand); - else if (Subtarget->hasAnyDataBarrier() && !Subtarget->isThumb1Only()) { + else if (Subtarget->hasAnyDataBarrier() && (!Subtarget->isThumb() || + Subtarget->hasV8MBaselineOps())) { // ATOMIC_FENCE needs custom lowering; the others should have been expanded // to ldrex/strex loops already. setOperationAction(ISD::ATOMIC_FENCE, MVT::Other, Custom); |