ARM: implement correct atomic operations on v7M
authorTim Northover <tnorthover@apple.com>
Mon, 16 Jun 2014 18:49:36 +0000 (18:49 +0000)
committerTim Northover <tnorthover@apple.com>
Mon, 16 Jun 2014 18:49:36 +0000 (18:49 +0000)
commit73b142e65628d0014b5eb600b2c2d0a6e4388920
tree8289a850ef8ff222be9aa8c36eca89da856c5e3e
parenta564159d85ead67f5bea1d6fda1b7e261db23825
ARM: implement correct atomic operations on v7M

ARM v7M has ldrex/strex but not ldrexd/strexd. This means 32-bit
operations should work as normal, but 64-bit ones are almost certainly
doomed.

Patch by Phoebe Buckheister.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211042 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/ARM/ldstrex-m.ll [new file with mode: 0644]